Mengonfigurasi AdServices

Saat Anda membaca dokumentasi Privacy Sandbox di Android, gunakan tombol Pratinjau Developer atau Beta untuk memilih versi program yang sedang Anda gunakan, karena petunjuknya dapat bervariasi.


Ikuti petunjuk di bawah ini untuk mendeklarasikan izin khusus API, dan mengonfigurasi akses SDK ke resource yang dikelola oleh API yang ditargetkan.

Mendeklarasikan izin khusus API AdServices

Akses ke setiap PPAPI memerlukan izin normal Layanan Iklan. Di manifes, deklarasikan izin akses yang tepat, yang sesuai dengan API yang diperlukan di aplikasi atau SDK Anda.

Attribution Reporting API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />

Attribution Reporting API (dengan laporan debug):

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_ATTRIBUTION" />
<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />

Protected Audience/custom audience API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_CUSTOM_AUDIENCE" />

Topics API:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS" />

Secara opsional, untuk menerima laporan debug dengan Attribution Reporting API, sertakan izin AD_ID:

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_AD_ID" />

Jika project Anda memiliki dependensi pada modul atau SDK, izin tersebut mungkin sudah mendeklarasikan izin Layanan Iklan yang diperlukan dalam file manifesnya. Secara default, build Gradle menggabungkan semua file manifes ke dalam satu file manifes yang dikemas ke dalam aplikasi Anda. Gunakan tampilan Manifes Gabungan untuk memverifikasi bahwa telah menggunakan izin yang benar.

Jika Anda perlu mencegah izin apa pun agar tidak digabungkan ke aplikasi melalui dependensi seperti SDK, sertakan penanda node remove untuk izin tertentu. Contoh berikut menunjukkan cara mencegah penggabungan izin Topics.

<uses-permission android:name="android.permission.ACCESS_ADSERVICES_TOPICS"
    tools:node="remove" />

Mengonfigurasi Layanan Iklan khusus API

Serupa dengan izin akses PPAPI, setiap API memiliki entri yang sesuai dalam konfigurasi layanan iklan. Konfigurasi ini memberi Anda akses kontrol yang terperinci ke resource yang dikelola oleh API di aplikasi Anda atau SDK tersemat. Dalam manifes, tentukan properti adservicesConfig seperti yang ditunjukkan pada contoh berikut:

<application ...>
      ...
    <property android:name="android.adservices.AD_SERVICES_CONFIG"
        android:resource="@xml/ad_services_config" />

      ...
</application>

Tentukan resource XML layanan iklan yang dirujuk dalam manifes, seperti res/xml/ad_services_config.xml. Untuk setiap API perlindungan privasi yang berlaku untuk aplikasi Anda (atau SDK tersemat), tetapkan atribut allowAllToAccess ke true untuk memberikan akses ke pemanggil apa pun.

Atau, Anda dapat menggunakan atribut allowAdPartnersToAccess untuk memberikan akses API yang lebih mendetail untuk setiap teknologi iklan. Anda harus memberikan daftar ID akun pendaftaran developer yang diperoleh melalui pendaftaran. Jika atribut allowAllToAccess ditetapkan ke true, atribut ini lebih diprioritaskan daripada ID akun pendaftaran yang ditentukan dalam atribut allowAdPartnersToAccess.

Platform teknologi iklan juga harus memastikan bahwa klien aplikasi mereka memberikan akses dengan benar ke API perlindungan privasi yang diperlukan dalam konfigurasi layanan iklan.

Contoh berikut menunjukkan cara menentukan akses secara luas untuk mengizinkan akses ID akun pendaftaran ke semua API perlindungan privasi:

<ad-services-config>
   <!-- Attribution API -->
   <attribution allowAllToAccess="true" />

   <!-- Topics API -->
   <topics allowAllToAccess="true" />

   <!-- Protected Audience on Android API -->
   <custom-audiences allowAllToAccess="true" />
</ad-services-config>

Contoh berikut menunjukkan cara menentukan akses yang lebih mendetail ke setiap API perlindungan privasi untuk ID akun pendaftaran tertentu:

<ad-services-config>
    <!-- Attribution API -->
    <attribution allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />

    <!-- Topics API →-->
    <includes-sdk-library name="ENROLLMENT-ID" />
    <topics allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />

    <!-- Protected Audience on Android API -->
    <custom-audiences allowAdPartnersToAccess="ENROLLMENT-ID" allowAllToAccess="false" />
</ad-services-config>