Privacy Sandbox di Pratinjau Developer Android telah hadir! Pelajari cara memulai, dan terus berikan masukan.

Pelaporan atribusi: pengukuran lintas aplikasi dan web

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Berikan masukan

Seperti yang dijelaskan dalam proposal desain Attribution Reporting API, API ini memungkinkan atribusi jalur pemicu berikut di satu perangkat Android:

  • Aplikasi ke aplikasi: Pengguna melihat iklan di aplikasi, lalu melakukan konversi dalam aplikasi tersebut atau aplikasi lain yang diinstal.
  • Aplikasi ke web: Pengguna melihat iklan di aplikasi, lalu melakukan konversi di browser seluler atau aplikasi.
  • Web ke aplikasi: Pengguna melihat iklan di browser aplikasi atau seluler, lalu melakukan konversi dalam aplikasi.
  • Web ke web: Pengguna melihat iklan di browser seluler atau aplikasi, lalu melakukan konversi di browser yang sama atau browser lain di perangkat yang sama.

Web di sini didefinisikan sebagai konten web yang ditampilkan dalam aplikasi. Konten web dapat ditampilkan dalam konteks aplikasi browser seluler atau sebagai situs tersemat yang ditampilkan di aplikasi non-browser.

Jalur pemicu di atas diterjemahkan ke dalam persyaratan berikut:

  • Untuk teknologi iklan: update pada panggilan API dan pelaporan untuk mengaktifkan jalur aplikasi ke web
  • Untuk aplikasi dan browser: kemampuan untuk meneruskan pendaftaran sumber atribusi web dan pemicu web ke Android

Dokumen ini menjelaskan cara Attribution Reporting API diperluas untuk mendukung jalur pemicu aplikasi ke web, web ke aplikasi, dan web ke web. Bagian ini juga menjelaskan perubahan yang perlu dilakukan teknologi iklan dan aplikasi untuk memenuhi persyaratan mendukung jalur pemicu ini.

Perubahan untuk teknologi iklan

Pendaftaran teknologi iklan

Teknologi iklan harus mendaftar untuk menggunakan Attribution Reporting API. Detail proses pendaftaran masih dalam pengembangan, dan kami menerima masukan Anda.

Setelah proses pendaftaran diselesaikan, API akan menghapus pendaftaran jika panggilan pendaftaran yang dibatalkan pendaftarannya diterima.

Saat mendaftar, platform teknologi iklan harus memastikan bahwa mereka mendaftar dengan semua URL server yang mungkin digunakan di seluruh aplikasi dan web untuk mendaftarkan sumber dan pemicu atribusi. Beberapa URL pendaftaran server didukung, tetapi hanya satu asal pelaporan yang didukung. Asal pelaporan ini berasal dari domain salah satu URL pendaftaran server.

Perubahan pada pendaftaran & atribusi

Saat mendaftarkan sumber atribusi, teknologi iklan saat ini menentukan kolom tujuan yang merupakan nama paket aplikasi tempat terjadinya peristiwa pemicu. Untuk mengaktifkan pengukuran aplikasi ke web, kami berencana mendukung satu kolom tujuan aplikasi (nama paket aplikasi) dan satu kolom tujuan web (eTLD+1).

Saat mendaftarkan sumber atau pemicu atribusi web, API tidak mendukung pengalihan karena setiap aplikasi yang menghosting konten web dapat memiliki model izinnya sendiri. Setiap aplikasi bertanggung jawab untuk mengikuti pengalihan (jika didukung) dan memanggil API konteks web untuk setiap lompatan pengalihan.

Selain itu, integrasi ini memungkinkan teknologi iklan untuk menggunakan logika atribusi khusus aplikasi di sumber atribusi web. Misalnya, sekarang Anda dapat menentukan periode atribusi pasca-penginstalan di sumber atribusi web.

Menerima laporan web dan aplikasi

Android Attribution Reporting API dapat mengirim laporan untuk konversi aplikasi dan web. Jika teknologi iklan tidak ingin menyelaraskan data pemicu dan kunci/nilai agregasi di seluruh platform web dan aplikasi, mereka dapat membedakan antara konversi web dan aplikasi:

  • Untuk laporan level peristiwa, kami akan mendukung kolom tujuan yang menentukan apakah pemicu terjadi di web (tujuan adalah eTLD+1) atau aplikasi (tujuan adalah nama paket aplikasi)
  • Untuk laporan agregasi, tujuan akan dikirim dalam cleartext.

Implikasi pengukuran web ke web

Aplikasi memilih waktu untuk meneruskan pendaftaran ke Attribution Reporting API. Ada beberapa pertimbangan di sini:

  • Apakah Attribution Reporting API tersedia di perangkat tersebut? Kami akan mengekspos sinyal baru untuk aplikasi yang menampilkan apakah Attribution Reporting API tersedia di perangkat tersebut atau tidak. Lihat bagian perubahan aplikasi untuk mengetahui detail selengkapnya tentang cara meneruskan aplikasi ke Attribution Reporting API.
  • Bagian mana dari sumber dan pemicu atribusi yang harus diteruskan ke API? Ini akan menjadi keputusan yang dibuat oleh setiap aplikasi, atau teknologi iklan jika aplikasi mengizinkan pilihan. Jika memiliki solusi pengukuran sendiri, aplikasi sebaiknya mempertimbangkan untuk menggunakannya. Pada akhirnya, dengan meneruskan semua pendaftaran sumber dan pemicu ke Attribution Reporting API Android, jika tersedia, akan memungkinkan atribusi yang paling akurat di seluruh aplikasi dan web.

Contoh berikut menunjukkan cara aplikasi browser berfungsi dengan Attribution Reporting API untuk memberikan pengukuran yang akurat saat pengguna mengklik iklan di aplikasi browser dan aplikasi non-browser:

Contoh klik dan konversi pengguna selama periode 3 hari
Gambar 1. Contoh pendaftaran sumber dan pemicu di seluruh browser dan aplikasi
  • Pada hari ke-1, pengguna mengklik iklan di aplikasi browser.
    • Aplikasi browser dapat memilih untuk menggunakan solusi pengukurannya sendiri atau meneruskan pendaftaran klik iklan web ke Attribution Reporting API.
  • Pada hari ke-2, pengguna mengklik iklan di aplikasi non-browser.
    • Klik terdaftar sebagai sumber atribusi dengan API. Aplikasi browser tidak memiliki visibilitas ke klik ini karena peristiwa tersebut terjadi dalam aplikasi yang berbeda.
  • Pada hari ke-3, pengguna melakukan konversi di aplikasi browser.
    • Jika aplikasi browser mendaftarkan klik dan konversi menggunakan solusi pengukurannya sendiri dan meneruskan informasi tersebut ke Attribution Reporting API, teknologi iklan mungkin tidak dapat menghapus duplikat laporan konversi di seluruh solusi pengukuran. Selain itu, teknologi iklan dapat memakai pembatasan kapasitas aplikasi browser dan pembatasan kapasitas Attribution Reporting API. Oleh karena itu, sebaiknya aplikasi meneruskan semua peristiwa dan konversi iklan agar terdaftar di API, saat API tersedia.

Perubahan untuk aplikasi

Kami akan mendukung atribusi di seluruh platform web dan aplikasi dengan mengizinkan aplikasi meneruskan pendaftaran sumber atribusi web dan pemicu web ke Attribution Reporting API di Android menggunakan kumpulan panggilan API konteks web baru.

Setelah menyelesaikan langkah-langkah pendaftaran di bagian berikut, sumber dan pemicu atribusi aplikasi dan web akan disimpan di perangkat, dan Attribution Reporting API dapat melakukan atribusi kontak terakhir yang diprioritaskan untuk sumber di seluruh aplikasi dan platform web.

Lihat Privacy Sandbox untuk proposal Web untuk mengetahui contoh cara browser dapat berintegrasi dengan Attribution Reporting API Android untuk mengaktifkan pengukuran lintas-aplikasi dan web. Dalam proposal ini, browser akan menambahkan header permintaan berikut:

  • Attribution-Reporting-Eligible menyiarkan apakah dukungan tingkat OS untuk atribusi tersedia. Dalam hal ini, header menunjukkan apakah Attribution Reporting API Android tersedia.
  • Jika tersedia, teknologi iklan dapat memilih untuk merespons menggunakan Attribution-Reporting-Register-OS-Source, yang memulai panggilan API sekunder dari aplikasi browser ke registerWebSource().
  • Teknologi iklan juga dapat merespons pendaftaran pemicu menggunakan header Attribution-Reporting-Register-OS-Trigger, yang memulai panggilan API sekunder dari aplikasi browser ke registerWebTrigger().

Pendaftaran sumber atribusi

Saat mendaftarkan sumber atribusi, aplikasi dapat memanggil registerWebSource(), yang mengharapkan parameter berikut:

  • URI sumber atribusi: Platform mengeluarkan permintaan ke setiap URI dalam daftar ini untuk mengambil metadata yang terkait dengan sumber atribusi.

    Setiap URI harus menyertai flag Debug boolean untuk menunjukkan apakah kunci debug yang disediakan oleh teknologi iklan harus disertakan dalam laporan atau tidak.

  • Peristiwa input: Objek InputEvent (untuk peristiwa klik) atau null (untuk peristiwa tampilan)

  • Asal sumber: Asal lokasi sumber (situs penayang).

  • Tujuan OS: Nama paket aplikasi tempat peristiwa pemicu terjadi.

  • Tujuan web: eTLD+1 tempat peristiwa pemicu terjadi.

  • Tujuan terverifikasi: URI/Intent tujuan OS atau web yang digunakan untuk navigasi saat pengguna mengklik.

Saat API membuat permintaan ke URI Sumber Atribusi, teknologi iklan harus merespons metadata sumber atribusi dalam header HTTP, Attribution-Reporting-Register-Source. Header ini menggunakan kolom yang sama dengan pendaftaran sumber atribusi aplikasi ke aplikasi, dengan beberapa perubahan:

  • API akan memvalidasi tujuan yang ditentukan oleh teknologi iklan dengan tujuan yang ditentukan oleh aplikasi. Jika tujuan berbeda, API akan menghapus pendaftaran sumber atribusi.

    Aplikasi diharapkan memvalidasi tujuan web sebelum memanggil API konteks web. Untuk klik, aplikasi harus memeriksa apakah tujuan yang ditentukan cocok dengan tujuan yang dipilih pengguna.

  • API mengabaikan URI pengalihan apa pun yang disediakan di Attribution-Reporting-Redirects. Aplikasi harus mengikuti pengalihan sendiri dan memanggil registerWebSource() untuk setiap pengalihan, sehingga dapat menerapkan kebijakan izinnya sendiri sesuai kebutuhan.

Pendaftaran pemicu (konversi)

Pada pendaftaran pemicu, aplikasi dapat memanggil registerWebTrigger(), yang mengharapkan parameter berikut:

  • URI Pemicu: Platform mengeluarkan permintaan ke setiap URI dalam daftar ini untuk mengambil metadata yang terkait dengan pemicu
  • Asal tujuan: Asal pemicu terjadi (situs pengiklan)

Pertimbangan privasi dan keamanan

Dampak pada mekanisme yang menjaga privasi yang diterapkan ke laporan

Seperti yang dijelaskan dalam proposal desain utama, API ini menerapkan pembatasan kapasitas yang menjaga privasi untuk laporan. Beberapa batas dipartisi di seluruh aplikasi sumber dan tujuan. Saat sumber atau pemicu atribusi web didaftarkan, batas kapasitas dipartisi oleh situs sumber atau tujuan, bukan aplikasi.

Jika aplikasi mempertahankan pembatasan kapasitas yang terpisah, mungkin akan ada lawan yang menggunakan pembatasan kapasitas khusus aplikasi selain pembatasan kapasitas API. Untuk mengatasi hal ini, aplikasi harus memastikan bahwa sumber atribusi tertentu tidak terdaftar pada solusi pengukuran aplikasi dan Android Attribution Reporting API.

Membangun kepercayaan untuk konteks web

Dalam panggilan API konteks web, API tersebut akan menempatkan kepercayaan pada aplikasi untuk mendeteksi dan menentukan sumber dan asal tujuan. Tindakan ini dapat membuka potensi pertimbangan terkait privasi dan keamanan:

  • Lawan dapat mengklaim menghosting situs yang dimilikinya sebagai upaya untuk mengabaikan pembatasan kapasitas sekitar jumlah informasi yang dapat ditransfer oleh sumber mana pun.
  • Beberapa lawan dapat berkomunikasi untuk mendaftarkan sumber atribusi yang terpisah, yang mengklaim situs sumber yang sama. Hal ini dapat menyebabkan situs sumber mencapai pembatasan kapasitas platform teknologi iklan dan mencegah situs sumber yang sebenarnya mendaftarkan sumber atribusi yang sah.

Kami mempertimbangkan mitigasi untuk situasi ini. Salah satu opsinya adalah membatasi browser atau aplikasi yang dapat memanggil registerWebSource() ke browser atau aplikasi yang menyatakan bahwa situs sumber yang digunakan dalam pendaftaran mewakili situs sebenarnya yang ditampilkan kepada pengguna. Kami juga mencari solusi teknis untuk memvalidasi konten web. Kami menerima masukan dari Anda tentang kasus penggunaan dan jenis aplikasi apa yang perlu memanggil registerWebSource().

Aplikasi apa pun dapat memanggil registerWebTrigger() karena pertimbangan privasi dan keamanan di sisi pemicu tidak berlaku tanpa kolusi sisi sumber.

Kontrol pengguna

Aplikasi dapat terus mendukung kontrol pengguna atau kebijakan izin selama aplikasi dapat ditentukan saat pendaftaran. Misalnya, jika aplikasi mengizinkan izin tingkat situs atau tingkat pengguna, aplikasi harus mengevaluasi izin tersebut dan menentukan apakah akan memanggil API konteks web.

Selain itu, kami akan mendukung panggilan API baru dari aplikasi untuk menghapus sumber atribusi, pemicu, dan laporan tertunda yang disimpan untuk aplikasi tersebut di perangkat. Misalnya, jika aplikasi mengizinkan pengguna menghapus histori penjelajahannya, aplikasi dapat memanggil API untuk menghapus sumber atribusi, pemicu, dan laporan tertunda yang disimpan untuk aplikasi tersebut di perangkat pengguna.

Pertimbangan di masa mendatang & pertanyaan terbuka

Interoperabilitas aplikasi ke web untuk Attribution Reporting API sedang dalam proses. Kami ingin meminta masukan dari komunitas tentang beberapa ide:

  1. Di perangkat yang didukung Android Privacy Sandbox, bagaimana cara Anda menggunakan solusi pengukuran browser dengan Android Attribution Reporting API? Apakah Anda ingin meneruskan semuanya ke Android?
  2. Apakah pembatasan kapasitas yang diusulkan dapat diterima untuk traffic aplikasi dan web?
  3. Apakah ada masalah dengan kemungkinan menerima 2 ping untuk setiap sumber atribusi dan pemicu, satu dari browser/aplikasi dan satu dari Attribution Reporting API?
  4. Apakah Anda ingin memberikan endpoint server yang berbeda untuk pendaftaran API Android (dibandingkan dengan pendaftaran API browser/aplikasi)?
  5. Bagaimana kami dapat membantu memudahkan proses debug di berbagai API?
  6. Proposal saat ini tidak menyertakan validasi bahwa tujuan aplikasi dan web berafiliasi. Di masa mendatang, kami mungkin dapat memvalidasi tujuan ini dengan memeriksa atribusi menggunakan Digital Asset Links. Apakah tindakan tersebut akan memblokir kasus penggunaan Anda? Apakah perlu menggunakan Digital Asset Links untuk melakukan validasi ini?
  7. Untuk browser/aplikasi, hubungi jika Anda ingin mendaftarkan tayangan web, atau integrasi lainnya dengan Android Privacy Sandbox Attribution Reporting API.
  8. Saat mendaftarkan sumber atribusi, Anda harus menentukan tujuan. Dalam hal web-ke-aplikasi, Anda mungkin ingin menentukan link aplikasi. Format apa yang akan Anda gunakan untuk menentukan link aplikasi ini?
  9. Saat mendaftarkan sumber atribusi aplikasi ke web, peristiwa sumber tersebut harus didaftarkan dari aplikasi dengan Android Attribution Reporting API. Misalnya, jika pengguna mengklik iklan dan klik dibuka di browser atau tab kustom browser, klik tersebut (peristiwa sumber) harus didaftarkan dari aplikasi, bukan dalam konteks browser. Harap hubungi kami jika Anda memiliki kekhawatiran, atau jika ada kasus penggunaan lain yang tidak termasuk dalam kategori yang tercakup dalam masalah yang menjelaskan alur yang didukung.