Authorized Buyers kini mendukung penerusan ID iklan Android di permintaan bid inventaris aplikasi seluler.
Tentang ID iklan
Dengan layanan Google Play v4.0, Android meluncurkan ID baru yang dapat direset oleh pengguna untuk iklan yang disebut ID iklan.
ID iklan dapat digunakan oleh pengiklan untuk menjalankan kampanye pemasaran ulang dan mencatat "konversi" (membeli atau mendownload). ID iklan memiliki dua fitur utama:
- Pengguna dapat mereset ID iklan kapan saja.
- Pengguna dapat memilih tidak ikut iklan menurut minat kapan saja, langsung dari aplikasi Setelan Google. Setelan ini berlaku di semua perusahaan iklan yang menggunakan ID iklan tersebut.
Definisi teknis
ID Iklan diteruskan melalui BidRequest.Mobile.encrypted_advertising_id
dalam proto bidding real-time:
optional bytes encrypted_advertising_id = 20;
Kolom ini berukuran 36 byte dan berisi 3 bagian:
initialization_vector
: 16 byte.ciphertext
: 16 byte, UUID 16 byte yang dienkripsi dari ID iklan.integrity_signature
: 4 byte.
{initialization_vector (16 bytes)}{ciphertext (16 bytes)}{integrity_signature (4 bytes)}
Definisi
Variabel | Detail |
---|---|
initialization_vector |
16 byte - unik untuk tayangan. |
ciphertext |
16 byte - dihasilkan sebagai: <advertising_id <xor> hmac(encryption_key, initialization_vector)> |
integrity_signature |
4 byte - dihasilkan sebagai 4 byte pertama dari: hmac(integrity_key, advertising_id || initialization_vector) |
encryption_key |
32 byte - disediakan saat pembuatan akun. |
integrity_key |
32 byte - disediakan saat pembuatan akun. |
advertising_id |
16 byte - ID iklan asli yang tidak dienkripsi, yang merupakan UUID |
final_message |
36 byte - Array byte yang dikirim melalui kolom encrypted_advertising_id . |
Operator | Detail |
---|---|
hmac(key, data) |
HMAC SHA-1, menggunakan key untuk mengenkripsi data . |
a || b |
string a yang disambungkan dengan string b . |
Skema enkripsi
Skema enkripsi untuk ID iklan didasarkan pada skema yang sama dengan yang digunakan untuk mendekripsi konfirmasi harga.
- ID iklan disimpan dalam array byte, yang dienkripsi menggunakan skema enkripsi khusus yang dirancang untuk meminimalkan overhead ukuran sekaligus memastikan keamanan yang memadai.
- Skema enkripsi menggunakan algoritma HMAC dengan kunci untuk menghasilkan pad rahasia berdasarkan
initialization_vector
, yang unik untuk peristiwa tayangan.
Kode semu enkripsi
advertising_id = advertising ID from mobile device pad = hmac(encryption_key, initialization_vector) // first 16 bytes ciphertext = pad <xor> advertising_id integrity_signature = hmac(integrity_key, advertising_id || initialization_vector) // first 4 bytes final_message = initialization_vector || ciphertext || integrity_signature
Skema dekripsi
Kode dekripsi Anda harus 1) mendekripsi kolom encrypted_advertising_id
menggunakan kunci enkripsi, dan secara opsional 2) memverifikasi bit integritas dengan
kunci integritas. Kunci akan diberikan kepada Anda selama pembuatan akun. Tidak ada
batasan pada cara Anda menyusun implementasi.
- Membuat pad Anda:
hmac(encryption_key, initialization_vector)
- XOR: Ambil hasil ini dan
<xor>
dengan ciphertext untuk membalik enkripsi. - Memverifikasi: Tanda tangan integritas meneruskan 4 byte
HMAC(integrity_key, advertising_id || initialization_vector)
Kode semu dekripsi
(initialization_vector, ciphertext, integrity_signature) = final_message // split up according to length pad = hmac(encryption_key, initialization_vector) // first 16 bytes advertising_id = ciphertext <xor> pad confirmation_signature = hmac(integrity_key, advertising_id || initialization_vector) // first 4 bytes success = (confirmation_signature == integrity_signature)
Library Java
Daripada menerapkan algoritma kripto untuk mengenkode dan mendekode ID iklan, Anda dapat menggunakan DoubleClickCrypto.java. Untuk informasi selengkapnya, lihat Kriptografi.