BanhmiDev / admob_consent

This is a wrapper for Google's User Messaging Platform (UMP) SDK in Flutter
https://pub.dev/packages/admob_consent
Apache License 2.0
12 stars 11 forks source link
admob-consent android flutter flutter-plugin funding-choices ios sdk

Admob Consent Plugin

Pub Version

User Messaging Platform wrapper used for consent gathering (i.e. GDPR, ATT or both) on Android and iOS. Uses Google's new User Messaging Platform with Funding Choices.

Screenshots

Example 1 Example 2
Example 1 Example 2

Usage

To use this plugin, add admob_consent as a dependency in your pubspec.yaml file.

Requirements

1. Funding Choices

2. Android Setup

Make sure to have added your app ID to AndroidManifest.xml.

<meta-data
    android:name="com.google.android.gms.ads.APPLICATION_ID"
    android:value="YOUR-APP-ID"/>

3. iOS Setup

Make sure to have added your app ID to Info.plist.

<key>GADApplicationIdentifier</key>
<string>YOUR-APP-ID</string>

3.1 iOS ATT Dialog

If you intend to use this SDK for Apple's new ATT requirement (iOS 14+), add the following to Info.plist. If you have the IDFA message enabled in Funding Choices, the ATT dialog will appear automatically after it within your app. More information here.

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

Next, you'll need to link the AppTrackingTransparency framework by going to your application's target in Xcode and clicking the plus icon on Frameworks, Libraries and Embedded Content tab. See Google's guide here.

Example

import 'package:admob_consent/admob_consent.dart';

final AdmobConsent _admobConsent = AdmobConsent();

// Form won't appear (again) if it isn't required, you can safely call this at app start
_admobConsent.show(); // Internally defaults to: forceShow: false

// Form will appear (again) even if consent was already configured (i.e. use in button to let user manage his consent)
_admobConsent.show(forceShow: true);

Listener

You can listen to the onConsentFormLoaded, onConsentFormOpened, onConsentFormObtained and onConsentFormError streams. The UMP SDK should handle most of the things though.

_admobConsent.onConsentFormObtained.listen((o) {
  // Obtained consent
});

Enjoy it?

Buy Me A Coffee