flutter_funding_choices 1.1.0 flutter_funding_choices: ^1.1.0 copied to clipboard
The Flutter implementation of Funding Choices, a Google service that allows to request user consent for personalized ads in AdMob.
Flutter Funding Choices #
Flutter Funding Choices is an unofficial Flutter implementation of Funding Choices, a Google service that allows to request user consent for personalized ads in AdMob.
Prerequisites #
You must have linked your FundingChoices account to your Admob account. See this documentation on Google Support.
Installation #
Android #
Your app must use Android Embedding V2.
Also, you need to add an app id in your AndroidManifest.xml
(in the application
tag) :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="fr.skyost.example">
<application
<!--
Some attributes here...
-->
>
<meta-data
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="YOUR-APP-ID"/>
<!--
Activities, ...
-->
</application>
</manifest>
You can obtain your app ID by following these instructions.
iOS #
You need to add an app id in your Info.plist
:
<key>GADApplicationIdentifier</key>
<string>YOUR-APP-ID</string>
You can obtain your app ID by following these instructions.
You may also need to handle Apple's App Tracking Transparency message by putting this in your Info.plist
:
<key>NSUserTrackingUsageDescription</key>
<string>This identifier will be used to deliver personalized ads to you.</string>
Feel free to configure the message as you want.
How to use #
There are three methods :
FlutterFundingChoices.requestConsentInformation()
: Allows to get current user consent information (whether you need to show the consent form, whether the user wants personalized ads, ...).FlutterFundingChoices.showConsentForm()
: Loads and shows the consent form. You must check first that there is a consent form (withisConsentFormAvailable
on the returned object of the previous method).FlutterFundingChoices.reset()
: Resets the consent information.
You typically want to use it like this on Android :
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback((_) async {
ConsentInformation consentInfo = await FlutterFundingChoices.requestConsentInformation();
if (consentInfo.isConsentFormAvailable && consentInfo.consentStatus == ConsentStatus.required) {
await FlutterFundingChoices.showConsentForm();
// You can check the result by calling `FlutterFundingChoices.requestConsentInformation()` again !
}
});
}
Contributions #
You have a lot of options to contribute to this project ! You can :