搜索插件、代码仓与 APP 分类

插件详情v3.0.0

admob_flutter

使用原生平台视图显示横幅广告的 Admob 插件。

AndroidiOS
近 30 天下载
651
喜欢数
470
Pub 分数
125

安装插件

flutter pub add admob_flutter

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

admob_flutter 是一个 Flutter 插件,可使用原生平台视图将 Google AdMob 横幅广告集成到移动应用程序中。它提供了一种简单的方法,可在 Android 和 iOS 平台上显示可盈利的横幅广告。该插件利用原生 AdMob SDK 以实现最佳性能和兼容性,确保在 Flutter 应用中无缝渲染广告。该插件专为希望以最少设置通过应用内广告创收的开发者设计。该包支持动态加载广告和响应式横幅尺寸,从而在各种设备上提升用户体验。

适合场景

  • 通过横幅广告 monetizing 移动应用
  • 将 Google AdMob 集成到 Flutter 项目中
  • 在 Android 和 iOS 上显示响应式横幅广告
  • 无需原生代码即可添加应用内广告
  • 启用实时广告更新和刷新

主要特点

  • 原生平台视图集成
  • 对 Android 和 iOS 的支持
  • 响应式横幅尺寸
  • 与 Firebase 的轻松集成
  • 实时广告加载和刷新
  • 最小的样板代码

适合对象

  • 寻求广告变现的Flutter开发者
  • 面向 Android 和 iOS 用户的应用程序
  • 使用 Firebase 进行分析的项目
  • 希望简单集成 AdMob 的开发者
  • 旨在通过横幅广告实现收入的移动应用

使用建议

  • 需要设置 Google AdMob 帐户
  • 依赖原生 SDK 才能实现完整功能
  • 广告内容受 Google 政策约束
  • 如果过度使用,可能会影响应用性能
  • 频繁显示广告可能会影响用户体验

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

Looking for Maintainers.

Unfortunately I haven't been able to keep up with demand for features and improvments. If you are interested in helping maintain this repo please create an issue requesting maintainer status. Or consider using the new google_mobile_ads by Google.

admob_flutter

Build Status version version GitHub stars GitHub forks GitHub issues

Demo

A Flutter plugin that uses native platform views to show Admob banner ads!

This plugin also has support for Interstitial and Reward ads.

Installation

  • Add this to your package's pubspec.yaml file:
dependencies:
  admob_flutter: "<LATEST_VERSION>"

  • Install it - You can install packages from the command line:
flutter pub get

Android Specific Setup

Update your AndroidManifest.xml

Add your AdMob App ID to your app's AndroidManifest.xml file by adding the <meta-data> tag shown below. You can find your App ID in the AdMob UI. For android:value insert your own AdMob App ID in quotes, as shown below.

You can use these test App ID's from Admob for development:

Android: ca-app-pub-3940256099942544~3347511713
iOS: ca-app-pub-3940256099942544~1458002511
<manifest>
  <application>
    <meta-data
      android:name="com.google.android.gms.ads.APPLICATION_ID"
      android:value="ca-app-pub-3940256099942544~3347511713"/>
  </application>
</manifest>

iOS Specific Setup

Update your Info.plist per Firebase instructions.

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-3940256099942544~1458002511</string>

and add

<key>io.flutter.embedded_views_preview</key>
<true/>

Starting from Beta 6, you also need to display the App Tracking Transparency authorization request for accessing the IDFA, so you have to update your Info.plist to add the NSUserTrackingUsageDescription key with a custom message describing your usage. Below is an example description text:

<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>

See Prepare for iOS 14+ for more information. You also need to update your ios/Podfile by adding platform :ios, '9.0' at the very top of your file.

Initialize the plugin

First thing to do before attempting to show any ads is to initialize the plugin. You can do this in the earliest starting point of your app, your main function:

import 'package:admob_flutter/admob_flutter.dart';

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  // Initialize without device test ids.
  Admob.initialize();
  // Or add a list of test ids.
  // Admob.initialize(testDeviceIds: ['YOUR DEVICE ID']);
}

If you're using iOS, you may also need to request the tracking authorization in order to display personalized ads:

// Run this before displaying any ad.
await Admob.requestTrackingAuthorization();
Supported Platforms
  • 0.3.0 >= iOS
  • 0.2.0 >= AndroidX
Supported Admob features
  • Banner Ads
  • Interstitial Ads
  • Reward Ads
  • Native Ads (Coming soon)
Check out the repository Wiki for more info!

FAQ

  • Why doesn't the Admob Banner class have a dispose method?
    • TL;DR - It's called automatically for you. Longer reason see 94
  • failed to load ad : 3
    • TL;DR - Things are working correctly, Admob didn't give you an ad. If the app id + ad unit is new, give it 24/48 hours. See:161 stackoverflow
    • See all Admob codes
  • Ads are not loading
    • TL;DR - Make sure you have the correct combination of id's per platform. See:161
  • Objective-C based project cannot build
    • TL;DR - You have to enable swift support for your flutter project. See: stackoverflow and 123
  • How do I manage consentement for users in the European Economic Area?
    • Pass nonPersonalizedAds: true to the classes constructor (AdmobBanner, AdmobInterstitial and AdmobReward) in order to not display personalized ads for users who don't give their consent. A way to ask users for their consent is to use the plugin admob_consent. Please note that the new recommended is to use the brand new UMP SDK (Android, iOS).

Recipes

Pull Requests

I welcome and encourage all pull requests. Here are some basic rules to follow to ensure timely addition of your request:

  1. Match the document style as closely as possible.
  2. Please keep PR titles easy to read and descriptive of changes, this will make them easier to review/merge.
  3. Pull requests must be made against master branch for this repository.
  4. Check for existing issues first, before filing an issue.
  5. Check the project board, before filing an issue.
  6. Read the FAQ, before filing an issue.
  7. Have fun!

所属分类

源码仓库

使用此插件的项目