Panduan ini menjelaskan cara memberikan informasi penargetan ke Google Mobile Ads SDK.
Prasyarat
Sebelum melanjutkan, siapkan GMA Next-Gen SDK.
RequestConfiguration
RequestConfiguration
mengumpulkan informasi penargetan yang diterapkan secara global ke setiap permintaan iklan. Untuk
tag penargetan yang tersedia, lihat
dokumentasi
RequestConfiguration.Builder.
Buat objek RequestConfiguration dengan tag penargetan yang Anda butuhkan menggunakan
buildernya, lalu tetapkan konfigurasi dengan memanggil
MobileAds.setRequestConfiguration().
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Untuk menerapkan tag penargetan dari permintaan iklan pertama, berikan konfigurasi permintaan selama inisialisasi SDK:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
CoroutineScope(Dispatchers.IO).launch {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this@MainActivity,
InitializationConfig
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build()
) {
// Adapter initialization is complete.
}
// Other methods on MobileAds can now be called.
}
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
// Set your targeting tags.
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
new Thread(
() -> {
// Initialize GMA Next-Gen SDK on a background thread.
MobileAds.initialize(
this,
// Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713
new InitializationConfig
.Builder("SAMPLE_APP_ID")
.setRequestConfiguration(requestConfiguration)
.build(),
initializationStatus -> {
// Adapter initialization is complete.
});
// Other methods on MobileAds can now be called.
})
.start();
Menetapkan perlakuan berdasarkan usia
Untuk membantu Anda mengelola kepatuhan terhadap peraturan privasi yang berlaku terkait anak-anak dan remaja, GMA Next-Gen SDK menyediakan setelan perlakuan menurut usia. Setelan perlakuan usia memungkinkan Anda menunjukkan apakah GMA Next-Gen SDK harus menerapkan perlindungan penayangan iklan tertentu untuk anak-anak atau remaja. Saat menggunakan setelan ini, GMA Next-Gen SDK akan menyertakan parameter tfat dalam permintaan iklan. Berkonsultasilah dengan penasihat hukum Anda untuk menentukan perlakuan usia yang berlaku bagi pengguna Anda berdasarkan kewajiban hukum dan peraturan Anda.
Anda dapat menetapkan perlakuan usia dengan metode setAgeRestrictedTreatment() menggunakan
RequestConfiguration.Builder
API.
Menetapkan perlakuan usia anak
Contoh berikut menunjukkan bahwa permintaan iklan harus menerima perlakuan usia anak:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have child age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.CHILD)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Menetapkan perlakuan untuk remaja
Contoh berikut menunjukkan bahwa permintaan iklan harus menerima perlakuan remaja:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have teenage treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.TEEN)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have teenage treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.TEEN)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Tidak menetapkan perlakuan usia tertentu
Contoh berikut menunjukkan bahwa permintaan iklan tidak boleh menerima perlakuan khusus usia:
Kotlin
val requestConfiguration = MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have unspecified age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.UNSPECIFIED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration =
MobileAds.getRequestConfiguration().toBuilder()
// Indicate that ad requests should have unspecified age treatment.
.setAgeRestrictedTreatment(AgeRestrictedTreatment.UNSPECIFIED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Bermigrasi ke perlakuan berdasarkan usia dari TFCD dan TFUA
Setelan perlakuan usia menggantikan setelan .setTagForChildDirectedTreatment() (TFCD) dan .setTagForUnderAgeOfConsent() (TFUA) yang tidak digunakan lagi.
Tabel berikut menunjukkan setelan TFCD dan TFUA serta perlakuan yang setara untuk usia:
TFCD
TFCD |
Perlakuan berdasarkan usia |
|---|---|
TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_CHILD_DIRECTED_TREATMENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
Tidak ada nilai yang ditetapkan .setTagForChildDirectedTreatment() |
AgeRestrictedTreatment.UNSPECIFIED |
| Tidak ada ekuivalen | AgeRestrictedTreatment.TEEN |
TFUA
TFUA |
Perlakuan berdasarkan usia |
|---|---|
TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE |
AgeRestrictedTreatment.CHILD |
TAG_FOR_UNDER_AGE_OF_CONSENT_FALSE |
AgeRestrictedTreatment.UNSPECIFIED |
TAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIED |
AgeRestrictedTreatment.UNSPECIFIED |
Tidak ada nilai yang ditetapkan .setTagForUnderAgeOfConsent() |
AgeRestrictedTreatment.UNSPECIFIED |
| Tidak ada ekuivalen | AgeRestrictedTreatment.TEEN |
Memahami interaksi perlakuan usia dengan TFCD dan TFUA
Jika Anda menetapkan setelan perlakuan usia dan setelan TFCD atau TFUA, Google akan menerapkan perlakuan yang paling konservatif.
Setelan yang ditujukan untuk anak-anak
Untuk tujuan Children's Online Privacy Protection Act (COPPA), ada setelan yang disebut "beri tag untuk perlakuan untuk anak-anak". Dengan menyetel tag ini, Anda menyatakan bahwa notifikasi ini akurat dan Anda berwenang untuk bertindak mewakili pemilik aplikasi. Anda memahami bahwa penyalahgunaan setelan ini dapat menyebabkan penghentian Akun Google Anda.
Sebagai developer aplikasi, Anda dapat menunjukkan apakah Anda ingin agar Google memperlakukan konten Anda sebagai ditujukan untuk anak-anak atau tidak saat membuat panggilan iklan. Jika Anda menunjukkan bahwa Anda ingin Google memperlakukan konten Anda sebagai ditujukan untuk anak-anak, kami akan melakukan langkah-langkah untuk menonaktifkan iklan IBA dan pemasaran ulang pada permintaan iklan tersebut.
Anda dapat menerapkan setelan ditujukan untuk anak-anak melalui
setTagForChildDirectedTreatment():
Panggil
setTagForChildDirectedTreatmentdengansetTagForChildDirectedTreatmentuntuk menunjukkan bahwa Anda ingin konten Anda diperlakukan sebagai ditujukan untuk anak-anak untuk tujuan COPPA.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUETindakan ini mencegah transmisi ID iklan Android (AAID).Panggil
setTagForChildDirectedTreatmentdenganTAG_FOR_CHILD_DIRECTED_TREATMENT_FALSEuntuk menunjukkan bahwa Anda tidak ingin konten Anda diperlakukan sebagai ditujukan untuk anak-anak untuk tujuan COPPA.Panggil
setTagForChildDirectedTreatmentdenganTAG_FOR_CHILD_DIRECTED_TREATMENT_UNSPECIFIEDjika Anda tidak ingin menunjukkan cara Anda ingin konten diperlakukan sehubungan dengan COPPA dalam permintaan iklan.
Contoh berikut menunjukkan bahwa Anda ingin konten Anda diperlakukan sebagai konten yang ditujukan untuk anak-anak untuk tujuan COPPA:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForChildDirectedTreatment(TagForChildDirectedTreatment.TAG_FOR_CHILD_DIRECTED_TREATMENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Pengguna di bawah usia dewasa
Anda dapat menandai permintaan iklan untuk menerima perlakuan bagi pengguna yang berusia di bawah usia dewasa di Wilayah Ekonomi Eropa (EEA). Fitur ini dirancang untuk membantu memfasilitasi kepatuhan terhadap General Data Protection Regulation (GDPR). Perlu diketahui bahwa Anda mungkin memiliki kewajiban hukum lainnya berdasarkan GDPR. Tinjau panduan Uni Eropa dan tanyakan kepada penasihat hukum Anda. Perhatikan bahwa alat Google dirancang untuk memfasilitasi kepatuhan dan tidak menghilangkan kewajiban penayang mana pun berdasarkan hukum tersebut. Pelajari lebih lanjut pengaruh GDPR terhadap penayang.
Saat menggunakan fitur ini, parameter Tag Untuk Pengguna yang Berusia di bawah Usia Legal di Eropa (TFUA) disertakan dalam permintaan iklan. Parameter ini menonaktifkan iklan yang dipersonalisasi, termasuk pemasaran ulang, untuk semua panggilan iklan. Permintaan untuk vendor iklan pihak ketiga, seperti piksel pengukuran iklan dan server iklan pihak ketiga, juga dinonaktifkan.
Seperti setelan yang ditujukan untuk anak-anak, ada metode di
RequestConfiguration.Builder untuk menyetel parameter TFUA:
setTagForUnderAgeOfConsent(),
dengan opsi berikut.
Panggil
setTagForUnderAgeOfConsent()denganTAG_FOR_UNDER_AGE_OF_CONSENT_TRUEuntuk menunjukkan bahwa Anda ingin permintaan iklan menerima perlakuan bagi pengguna yang berusia di bawah usia dewasa di Wilayah Ekonomi Eropa (EEA). Hal ini juga mencegah transmisi ID iklan Android (AAID).Panggil
setTagForUnderAgeOfConsent()denganTAG_FOR_UNDER_AGE_OF_CONSENT_FALSEuntuk menunjukkan bahwa Anda tidak ingin permintaan iklan menerima perlakuan bagi pengguna di Wilayah Ekonomi Eropa (EEA) yang berusia di bawah usia dewasa.Panggil
setTagForUnderAgeOfConsent()denganTAG_FOR_UNDER_AGE_OF_CONSENT_UNSPECIFIEDuntuk menunjukkan bahwa Anda belum menentukan apakah permintaan iklan harus menerima perlakuan bagi pengguna di Wilayah Ekonomi Eropa (EEA) yang berusia di bawah usia dewasa.
Contoh berikut menunjukkan bahwa Anda ingin TFUA disertakan dalam permintaan iklan Anda:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(RequestConfiguration.TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setTagForUnderAgeOfConsent(TagForUnderAgeOfConsent.TAG_FOR_UNDER_AGE_OF_CONSENT_TRUE)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Tag untuk mengaktifkan Setelan untuk anak-anak
dan setTagForUnderAgeOfConsent() tidak boleh ditetapkan secara bersamaan ke
true. Jika demikian, setelan ditujukan untuk anak-anak akan diprioritaskan.
Pemfilteran konten iklan
Untuk mematuhi Kebijakan Iklan Tidak Pantas Google Play yang mencakup penawaran terkait dalam iklan, semua iklan dan penawaran terkait yang ditampilkan dalam aplikasi Anda harus sesuai untuk rating konten aplikasi Anda, meskipun konten itu sendiri sudah mematuhi kebijakan Google Play.
Alat seperti rating konten iklan maksimum dapat membantu Anda memiliki kontrol yang lebih besar atas konten iklan yang ditampilkan kepada pengguna. Anda dapat menetapkan rating konten maksimum untuk membantu mematuhi kebijakan platform.
Aplikasi dapat menetapkan rating konten iklan maksimum untuk permintaan iklannya menggunakan metode
setMaxAdContentRating. Iklan AdMob yang ditampilkan saat ini dikonfigurasi memiliki rating konten yang sama dengan atau lebih rendah dari tingkat tersebut. Kemungkinan nilai untuk ekstra jaringan ini didasarkan pada
klasifikasi label konten digital, dan harus berupa salah satu string berikut:
MAX_AD_CONTENT_RATING_GMAX_AD_CONTENT_RATING_PGMAX_AD_CONTENT_RATING_TMAX_AD_CONTENT_RATING_MA
Kode berikut mengonfigurasi objek RequestConfiguration untuk menentukan bahwa konten iklan yang ditampilkan harus sesuai dengan penetapan label konten digital yang tidak lebih tinggi dari G:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setMaxAdContentRating(RequestConfiguration.MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setMaxAdContentRating(MaxAdContentRating.MAX_AD_CONTENT_RATING_G)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Pelajari lebih lanjut cara menetapkan rating konten maksimum untuk setiap permintaan iklan.
Perlakuan Privasi Penayang (Beta)
API
Perlakuan Privasi Penayang
(PPT) adalah alat opsional yang memungkinkan aplikasi menunjukkan apakah akan menonaktifkan personalisasi iklan untuk semua permintaan iklan menggunakan metode
setPublisherPrivacyPersonalizationState(). Saat menggunakan fitur ini, parameter perlakuan privasi penayang (PPT)
disertakan dalam semua permintaan iklan mendatang selama sesi tersebut.
Secara default, permintaan iklan ke Google menayangkan iklan yang dipersonalisasi. Kode berikut menonaktifkan personalisasi iklan untuk semua permintaan iklan:
Kotlin
val requestConfiguration = RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build()
MobileAds.setRequestConfiguration(requestConfiguration)
Java
RequestConfiguration requestConfiguration = new RequestConfiguration
.Builder()
.setPublisherPrivacyPersonalizationState(RequestConfiguration.PublisherPrivacyPersonalizationState.DISABLED)
.build();
MobileAds.setRequestConfiguration(requestConfiguration);
Permintaan iklan
Objek AdRequest mengumpulkan informasi penargetan yang akan dikirim dengan permintaan iklan.
Menambahkan detail tambahan untuk jaringan
Ekstra jaringan adalah detail tambahan yang dikirim dengan permintaan iklan yang khusus untuk satu sumber iklan.
Cuplikan kode berikut menetapkan kunci parameter tambahan collapsible dengan
nilai bottom ke Google:
Kotlin
val extras = Bundle()
extras.putString("collapsible", "bottom")
val adRequest =
NativeAdRequest.Builder("AD_UNIT_ID", listOf(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build()
NativeAdLoader.load(adRequest, adCallback)
Java
Bundle extras = new Bundle();
extras.putString("collapsible", "bottom");
NativeAdRequest adRequest =
new NativeAdRequest.Builder("AD_UNIT_ID", Arrays.asList(NativeAd.NativeAdType.NATIVE))
.setGoogleExtrasBundle(extras)
.build();
NativeAdLoader.load(adRequest, adCallback);
Penargetan kustom
Anda dapat meneruskan pasangan nilai kunci kustom untuk menargetkan kampanye Google Ad Manager (item baris). Contoh berikut meneruskan pasangan nilai kunci kustom dalam permintaan iklan:
Kotlin
// Example: Pass custom targeting "age=25".
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build()
Java
// Example: Pass custom targeting "age=25".
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.putCustomTargeting("age", "25")
.build();
Anda dapat meneruskan beberapa nilai untuk kunci sebagai daftar string. Misalnya, untuk menargetkan individu berusia pertengahan dua puluhan, bukan hanya yang berusia 25 tahun.
Kotlin
.putCustomTargeting("age", listOf("24", "25", "26"))
Java
.putCustomTargeting("age", Arrays.asList("24", "25", "26"));
Pengecualian kategori
Anda dapat menambahkan tingkat pengecualian kategori tingkat slot ke permintaan menggunakan metode
addCategoryExclusion():
Kotlin
// Example: Exclude "automobile" and "boat" categories.
val newRequest = AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build()
Java
// Example: Exclude "automobile" and "boat" categories.
AdRequest newRequest = new AdRequest.Builder("AD_UNIT_ID")
.addCategoryExclusion("automobile")
.addCategoryExclusion("boat")
.build();
Lihat contoh Pengecualian Kategori Ad Manager untuk penerapan pengecualian kategori di aplikasi demo Android API.
ID yang diberikan penayang
Anda dapat menetapkan ID yang diberikan penayang (PPID) untuk digunakan dalam pembatasan frekuensi, penargetan dan segmentasi audiens, rotasi iklan berurutan, serta kontrol penayangan iklan berbasis audiens lainnya di seluruh perangkat.
Berikut adalah contoh cara menyetel PPID:
Kotlin
val adRequest = AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build()
Java
AdRequest adRequest = new AdRequest.Builder("AD_UNIT_ID")
.setPublisherProvidedId("AB123456789")
.build();
Lihat contoh PPID Ad Manager untuk penerapan ID yang diberikan penayang (PPID) di aplikasi Demo API Android.
Sinyal yang diberikan penayang
Anda dapat mengirim data audiens dan kontekstual sebagai sinyal yang diberikan penayang (PPS) dalam permintaan iklan. Dengan PPS, Anda dapat menggunakan data pengguna untuk meningkatkan monetisasi terprogram dengan menyampaikan karakteristik audiens kepada bidder di semua jenis transaksi, menggunakan taksonomi standar, tanpa perlu membagikan ID pengguna. Karakteristik audiens Anda dapat mencakup data berbasis perilaku dan minat (IAB Audience Taxonomy 1.1) serta data kontekstual (IAB Content Taxonomy 2.2).
Kotlin
val extras = Bundle()
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284))
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6))
val request = AdRequest.Builder("AD_UNIT_ID")
.setGoogleExtrasBundle(extras)
.build()
Java
Bundle extras = new Bundle();
// Set the demographic to an audience with an "Age Range" of 30-34 and an
// interest in mergers and acquisitions.
extras.putIntegerArrayList("IAB_AUDIENCE_1_1", arrayListOf(6,284));
// Set the content to sedan, station wagon and SUV automotive values.
extras.putIntegerArrayList("IAB_CONTENT_2_2", arrayListOf(4,5,6));
AdRequest request = new AdRequest.Builder("AD_UNIT_ID")
.setGoogleExtrasBundle(extras)
.build();
URL Konten
Untuk memberikan URL konten bagi iklan yang menargetkan konten dan keamanan merek, tambahkan berikut ini:
Kotlin
val builder = AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com")
val request = builder.build()
Java
AdRequest.Builder builder = new AdRequest.Builder("AD_UNIT_ID")
builder.setContentUrl("https://www.example.com");
AdRequest request = builder.build();
Keamanan merek (Beta)
Aplikasi yang menampilkan konten dinamis yang ditujukan untuk berbagai audiens dapat memberikan daftar singkat URL:
Kotlin
val urls = mutableListOf("https://www.mycontenturl1.com", "https://www.mycontenturl2.com",
"https://www.mycontenturl3.com", "https://www.mycontenturl4.com")
val requestWithContent = AdRequest.Builder("AD_UNIT_ID")
.setNeighboringContentUrls(urls)
.build()
Java
ArrayList<String> urls = new ArrayList<String>();
urls.add("https://www.mycontenturl1.com");
urls.add("https://www.mycontenturl2.com");
urls.add("https://www.mycontenturl3.com");
urls.add("https://www.mycontenturl4.com");
AdRequest requestWithContent = new AdRequest.Builder("AD_UNIT_ID")
.setNeighboringContentUrls(urls)
.build();
.setNeighboringContentUrls() berbeda dari .setContentUrl() karena hanya
digunakan untuk keamanan merek.