A flutter plugin which provides a Dart API for the User Messaging Platform (UMP) SDK, which is the Consent Management Platform (CMP) SDK provided as part of Google's Funding Choices.
Also, see the iabtcf_consent_info package, for reading TCF consent info, made available though Consent Management Platform SDKs, such as UMP. If you have configured Funding Choices to obtain consent for additional purposes for you, the publisher, this package allows you to access that information.
If you're looking for a database solution, check out
cbl
, another project of mine. It brings
Couchbase Lite to standalone Dart and Flutter, with support for:
and more.
The UMP SDK requires some platform dependent setup.
Obtain your APP ID by following the Help Center instructions.
Add your app ID to your AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.rewardedinterstitialexample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR-APP-ID"/>
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
For more information visit the Android UMP SDK quick start guide.
Obtain your APP ID by following the Help Center instructions.
Add your app ID to your Info.plist:
<key>GADApplicationIdentifier</key>
<string>YOUR-APP-ID</string>
If you plan to use the App Tracking Transparency framework:
NSUserTrackingUsageDescription
to your Info.plist:<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
Runner
target to the AppTrackingTransparency
under Targets
->
Runner
-> Frameworks, Libraries, and Embedded Content
.For more information visit the iOS UMP SDK quick start guide.
This basic usage example show how to update the consent info and show the consent form to the user if consent is required:
void updateConsent() async {
// Make sure to continue with the latest consent info.
var info = await UserMessagingPlatform.instance.requestConsentInfoUpdate();
// Show the consent form if consent is required.
if (info.consentStatus == ConsentStatus.required) {
// `showConsentForm` returns the latest consent info, after the consent from has been closed.
info = await UserMessagingPlatform.instance.showConsentForm();
}
}
You can let the UMP SDK handle the ATT permission request.
If you would like to determine when to show the permission request yourself, you
can check the TrackingAuthorizationStatus
and requestTrackingAuthorization
through this plugin:
void showATTPermissionRequest() async {
final status = await UserMessagingPlatform.instance.getTrackingAuthorizationStatus();
if (status == TrackingAuthorizationStatus.notDetermined) {
await UserMessagingPlatform.instance.requestTrackingAuthorization();
}
}
For an example to verify you configuration, take a look at the example tab.