Google User Messaging Platform (UMP) SDK adalah alat privasi dan pesan untuk membantu Anda mengelola pilihan privasi. Untuk informasi selengkapnya, lihat Tentang Privasi & pesan.
Membuat jenis pesan
Buat pesan pengguna dengan salah satu Jenis pesan pengguna yang tersedia di tab Privasi & pesan di akun AdMob Anda. UMP SDK mencoba menampilkan pesan privasi yang dibuat dari ID Aplikasi AdMob yang ditetapkan dalam project Anda.
Untuk mengetahui detail selengkapnya, lihat Tentang privasi dan pesan.
Mengumpulkan izin
Untuk mengumpulkan izin, selesaikan langkah-langkah berikut:
- Meminta informasi izin pengguna terbaru.
- Memuat dan menampilkan formulir izin, jika diperlukan.
Permintaan informasi izin
Anda harus meminta pembaruan informasi izin pengguna di setiap peluncuran
aplikasi, menggunakan requestConsentInfoUpdate()
. Permintaan ini memeriksa
hal berikut:
- Apakah izin diperlukan. Misalnya, izin diperlukan untuk pertama kalinya, atau masa berlaku keputusan izin sebelumnya telah berakhir.
- Apakah titik entri opsi privasi diperlukan. Beberapa pesan privasi memerlukan aplikasi untuk mengizinkan pengguna mengubah opsi privasi mereka kapan saja.
Memuat dan menampilkan formulir pesan privasi jika diperlukan
Setelah Anda menerima status izin terbaru, panggil
loadAndShowConsentFormIfRequired()
untuk memuat formulir yang diperlukan untuk
mengumpulkan izin pengguna. Setelah dimuat, formulir akan langsung ditampilkan.
Kode berikut menunjukkan cara meminta informasi izin terbaru pengguna. Jika diperlukan, kode akan dimuat dan menampilkan formulir pesan privasi:
@override
void initState() {
super.initState();
// Create a ConsentRequestParameters object.
final params = ConsentRequestParameters();
// Request an update to consent information on every app launch.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
});
},
(FormError error) {
// Handle the error.
},
);
}
Opsi privasi
Beberapa formulir pesan privasi ditampilkan dari titik entri opsi privasi yang dirender penayang, sehingga pengguna dapat mengelola opsi privasi mereka kapan saja. Untuk mempelajari lebih lanjut pesan yang dilihat pengguna di titik entri opsi privasi, lihat Jenis pesan pengguna yang tersedia.
Memeriksa apakah titik entri opsi privasi diperlukan
Setelah Anda memanggil requestConsentInfoUpdate()
, periksa getPrivacyOptionsRequirementStatus()
untuk
menentukan apakah titik entri opsi privasi diperlukan untuk aplikasi Anda:
/// Helper variable to determine if the privacy options entry point is required.
Future<bool> isPrivacyOptionsRequired() async {
return await ConsentInformation.instance
.getPrivacyOptionsRequirementStatus() ==
PrivacyOptionsRequirementStatus.required;
}
Menambahkan elemen yang terlihat ke aplikasi
Jika titik entri privasi diperlukan, tambahkan elemen UI yang terlihat dan dapat berinteraksi ke aplikasi Anda yang menampilkan formulir opsi privasi. Jika titik entri privasi tidak diperlukan, konfigurasikan elemen UI Anda agar tidak terlihat dan dapat berinteraksi.
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
// Redraw the app bar actions if a privacy options entry point is required.
if (await isPrivacyOptionsRequired()) {
setState(() {
_isPrivacyOptionsRequired = true;
});
}
});
},
// ...
Menampilkan formulir opsi privasi
Saat pengguna berinteraksi dengan elemen Anda, tampilkan formulir opsi privasi:
ConsentForm.showPrivacyOptionsForm((formError) {
if (formError != null) {
debugPrint("${formError.errorCode}: ${formError.message}");
}
});
Permintaan iklan
Sebelum meminta iklan di aplikasi, periksa apakah Anda telah mendapatkan izin
dari pengguna menggunakan canRequestAds()
. Ada dua tempat untuk memeriksa saat mengumpulkan izin:
- Setelah izin dikumpulkan dalam sesi saat ini.
- Segera setelah Anda memanggil
requestConsentInfoUpdate()
. Izin mungkin telah diperoleh dalam sesi sebelumnya. Sebagai praktik terbaik latensi, sebaiknya jangan menunggu callback selesai agar Anda dapat mulai memuat iklan sesegera mungkin setelah aplikasi diluncurkan.
Jika terjadi error selama proses pengumpulan izin, Anda tetap harus memeriksa apakah Anda dapat meminta iklan. UMP SDK menggunakan status izin dari sesi sebelumnya.
Kode berikut memeriksa apakah Anda dapat meminta iklan selama proses pengumpulan izin:
ConsentInformation.instance.requestConsentInfoUpdate(
params,
() async {
ConsentForm.loadAndShowConsentFormIfRequired((loadAndShowError) {
if (loadAndShowError != null) {
// Consent gathering failed.
}
// Consent has been gathered.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
// ...
});
},
(FormError error) {},
);
// Check if you can initialize the Mobile Ads SDK in parallel while
// checking for new consent information. Consent obtained in the
// previous session can be used to request ads.
if (await ConsentInformation.instance.canRequestAds()) {
_initializeGoogleMobileAdsSDK()
}
Kode berikut menyiapkan Google Mobile Ads SDK setelah izin pengguna dikumpulkan:
void _initializeGoogleMobileAdsSDK() async {
if (_isMobileAdsInitializeCalled) {
return;
}
_isMobileAdsInitializeCalled = true;
// Initialize the Mobile Ads SDK.
MobileAds.instance.initialize();
// Load an ad.
_loadAd();
}
Pengujian
Jika Anda ingin menguji integrasi di aplikasi saat sedang mengembangkan, ikuti langkah-langkah berikut untuk mendaftarkan perangkat pengujian secara terprogram. Pastikan untuk menghapus kode yang menetapkan ID perangkat pengujian ini sebelum merilis aplikasi.
- Hubungi
requestConsentInfoUpdate()
. Periksa output log untuk menemukan pesan yang mirip dengan contoh berikut, yang menampilkan ID perangkat Anda dan cara menambahkannya sebagai perangkat pengujian:
Android
Use new ConsentDebugSettings.Builder().addTestDeviceHashedId("33BE2250B43518CCDA7DE426D04EE231") to set this as a debug device.
iOS
<UMP SDK>To enable debug mode for this device, set: UMPDebugSettings.testDeviceIdentifiers = @[2077ef9a63d2b398840261c8221a0c9b]
Salin ID perangkat pengujian Anda ke papan klip.
Ubah kode Anda untuk memanggil
ConsentDebugSettings.testIdentifiers
dan teruskan daftar ID perangkat pengujian Anda.ConsentDebugSettings debugSettings = ConsentDebugSettings( testIdentifiers: ["TEST-DEVICE-HASHED-ID"], ); ConsentRequestParameters params = ConsentRequestParameters(consentDebugSettings: debugSettings); ConsentInformation.instance.requestConsentInfoUpdate(params, () async { // ... };
Memaksa geografi
UMP SDK menyediakan cara untuk menguji perilaku aplikasi Anda seolah-olah perangkat
berada di berbagai wilayah, seperti EEA atau Inggris Raya, menggunakan
debugGeography
. Perhatikan bahwa setelan debug hanya berfungsi di perangkat pengujian.
ConsentDebugSettings debugSettings = ConsentDebugSettings(
debugGeography: DebugGeography.debugGeographyEea,
testIdentifiers: ["TEST-DEVICE-HASHED-ID"],
);
ConsentRequestParameters params =
ConsentRequestParameters(consentDebugSettings: debugSettings);
ConsentInformation.instance.requestConsentInfoUpdate(params, () async {
// ...
};
Mereset status izin
Saat menguji aplikasi dengan UMP SDK, Anda mungkin perlu mereset
status SDK agar dapat menyimulasikan pengalaman penginstalan pertama pengguna.
SDK menyediakan metode reset()
untuk melakukannya.
ConsentInformation.instance.reset();
Contoh di GitHub
Lihat contoh lengkap integrasi UMP SDK yang dibahas di halaman ini di contoh Flutter kami.