Bergabung ke Delegasi Audiens Kustom dengan Protected Audience

fetchAndJoinCustomAudience API memungkinkan pembeli mendelegasikan untuk bergabung dengan audiens kustom dengan memanfaatkan kehadiran MMP atau SSP partner mereka di perangkat.

Ringkasan

Ringkasan umum tentang cara kerjanya adalah pemanggil di perangkat (baik itu MMP atau SSP SDK) membuat fetchAndJoinCustomAudienceRequest yang terlihat seperti berikut:

Kotlin

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

val request = FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
    .setName(name)
    .setActivationTime(activationTime)
    .setExpirationTime(expirationTime)
    .setUserBiddingSignals(userBiddingSignals)
    .build()

Java

/**
 * @param fetchUri The URL to retrieve the CA from.
 * (optional)@param name The name of the CA to join.
 * (optional)@param activationTime The time when the CA will activate.
 * (optional)@param expirationTime The time when the CA will expire,
    must be a time in the future otherwise this will fail
 * (optional)@param userBiddingSignals The user bidding signals used at auction.
*/

FetchAndJoinCustomAudienceRequest request =
 new FetchAndJoinCustomAudienceRequest.Builder(fetchUri)
  .setName(name) //Optional
  .setActivationTime(activationTime) //Optional
  .setExpirationTime(expirationTime) //Optional
  .setUserBiddingSignals(userBiddingSignals) //Optional
  .build();

Catatan penting tentang semua parameter opsional adalah bahwa jika parameter tersebut ditetapkan di dalam permintaan pengambilan, datanya tidak dapat diganti oleh apa yang ditampilkan dari Pembeli, sehingga memberikan kontrol tambahan kepada pemanggil di perangkat atas apa audiens kustom yang dipertahankan.

fetchUri harus mengarah ke endpoint server yang dioperasikan oleh Pembeli yang akan menampilkan objek JSON Audiens Kustom yang cocok dengan format yang terlihat di sini:

//Return a 200 response with data matching the format of the following in the body
{
  "daily_update_uri": "https://js.example.com/bidding/daily",
  "bidding_logic_uri": "https://js.example.com/bidding",
  "user_bidding_signals": {
    "valid": true,
    "arbitrary": "yes"
  },
  "trusted_bidding_data": {
    "trusted_bidding_uri": "https://js.example.com/bidding/trusted",
    "trusted_bidding_keys": [
      "key1",
      "key2"
    ]
  },
  "ads": [
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad1",
      "metadata": {
        "valid": 1
      }
    },
    {
      "render_uri": "https://js.example.com/render/fetch_and_join_ad2",
      "metadata": {
        "valid": 2
      }
    }
  ]
}

Informasi lebih lanjut tentang cara penyelesaian hal ini pada sisi API dapat ditemukan di Proposal Desain untuk Delegasi CA.

Pengujian

Setelah menerapkan panggilan Ambil di dalam kode klien dan menyiapkan endpoint di sisi DSP untuk menampilkan Data Audiens Kustom, Anda dapat menguji delegasi untuk bergabung dengan Audiens Kustom. Sebelum menjalankan aplikasi, Anda harus menjalankan perintah berikut untuk membuka UI guna mengaktifkan Privacy Sandbox:

adb shell am start -n com.google.android.adservices.api/com.android.adservices.ui.settings.activities.AdServicesSettingsMainActivity

Setelah UI muncul, pastikan Anda beralih untuk mengaktifkan Privacy Sandbox, lalu menjalankan perintah ADB berikut untuk menyelesaikan penyiapan perangkat untuk pengujian:

adb shell device_config set_sync_disabled_for_tests persistent
adb shell device_config put adservices ppapi_app_signature_allow_list \"\*\"
adb shell device_config put adservices ppapi_app_allow_list \"\*\"
adb shell device_config put adservices adservice_system_service_enabled true
adb shell device_config put adservices adservice_enabled true
adb shell device_config put adservices adservice_enable_status true
adb shell device_config put adservices global_kill_switch false
adb shell device_config put adservices fledge_js_isolate_enforce_max_heap_size false
adb shell device_config put adservices fledge_custom_audience_service_kill_switch false
adb shell device_config put adservices fledge_select_ads_kill_switch false
adb shell device_config put adservices adid_kill_switch false
adb shell setprop debug.adservices.disable_fledge_enrollment_check true
adb shell device_config put adservices fledge_fetch_custom_audience_enabled true

Setelah Anda menjalankan perintah ini, Anda akan dapat mulai berhasil melakukan panggilan menggunakan Fetch API.

Untuk melihat contoh alur ini, panggilan pengambilan telah ditambahkan ke cabang pratinjau developer dari repositori Contoh Privacy Sandbox di GitHub.