Authorized Buyers اکنون از ارسال شناسه تبلیغات Android در درخواستهای پیشنهادی موجودی برنامه تلفن همراه پشتیبانی میکند.
درباره شناسه تبلیغاتی
با Google Play Services نسخه 4.0، اندروید یک شناسه جدید با قابلیت تنظیم مجدد توسط کاربر برای تبلیغات به نام شناسه تبلیغاتی راه اندازی کرد.
شناسه تبلیغات ممکن است توسط تبلیغکنندگان برای اجرای کمپینهای بازاریابی مجدد و ثبت «تبدیلها» (خرید یا دانلود) استفاده شود. شناسه تبلیغاتی دو ویژگی کلیدی دارد:
- کاربران می توانند شناسه تبلیغات را در هر زمان بازنشانی کنند.
- کاربران میتوانند هر زمان که بخواهند، مستقیماً از برنامه تنظیمات Google از تبلیغات مبتنی بر علاقه انصراف دهند. این تنظیم برای همه شرکتهای تبلیغاتی که از شناسه تبلیغاتی استفاده میکنند اعمال میشود.
تعریف فنی
شناسه تبلیغات از طریق BidRequest.Mobile.encrypted_advertising_id
در پروتکل پیشنهادی بیدرنگ ارسال میشود:
optional bytes encrypted_advertising_id = 20;
این فیلد 36 بایت است و شامل 3 بخش است:
-
initialization_vector
: 16 بایت. -
ciphertext
: 16 بایت، UUID رمزگذاری شده 16 بایتی شناسه تبلیغاتی. -
integrity_signature
: 4 بایت.
{initialization_vector (16 bytes)}{ciphertext (16 bytes)}{integrity_signature (4 bytes)}
تعاریف
متغیر | جزئیات |
---|---|
initialization_vector | 16 بایت - منحصر به فرد برای برداشت. |
ciphertext | 16 بایت - تولید شده به صورت: <advertising_id <xor> hmac(encryption_key, initialization_vector)> |
integrity_signature | 4 بایت - تولید شده به عنوان 4 بایت اول: hmac(integrity_key, advertising_id || initialization_vector) |
encryption_key | 32 بایت - ارائه شده در راه اندازی حساب. |
integrity_key | 32 بایت - ارائه شده در راه اندازی حساب. |
advertising_id | 16 بایت - شناسه تبلیغاتی اصلی و رمزگذاری نشده، که یک UUID است |
final_message | 36 بایت - آرایه بایت ارسال شده از طریق قسمت encrypted_advertising_id . |
اپراتورها | جزئیات |
---|---|
hmac(key, data) | SHA-1 HMAC، با استفاده از key برای رمزگذاری data . |
a || b | رشته a به رشته b پیوسته است. |
طرح رمزگذاری
طرح رمزگذاری برای شناسه تبلیغاتی بر اساس همان طرحی است که برای رمزگشایی تأییدیههای قیمت استفاده میشود.
- شناسه تبلیغاتی در یک آرایه بایتی ذخیره میشود که با استفاده از یک طرح رمزگذاری سفارشی که برای به حداقل رساندن حجم سربار طراحی شده و در عین حال امنیت کافی را تضمین میکند، رمزگذاری میشود.
- طرح رمزگذاری از یک الگوریتم HMAC کلیددار برای تولید یک صفحه مخفی بر اساس
initialization_vector
استفاده میکند که منحصر به رویداد impression است.
شبه رمزگذاری
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
طرح رمزگشایی
کد رمزگشایی شما باید 1) فیلد encrypted_advertising_id
را با استفاده از کلید رمزگذاری رمزگشایی کند و در صورت تمایل 2) بیت های یکپارچگی را با کلید یکپارچگی تأیید کند. کلیدها در حین تنظیم حساب در اختیار شما قرار خواهند گرفت. هیچ محدودیتی در نحوه ساختار پیاده سازی شما وجود ندارد.
- پد خود را ایجاد کنید :
hmac(encryption_key, initialization_vector)
- XOR : این نتیجه را بگیرید و
<xor>
با متن رمزگذاری کنید تا رمزگذاری معکوس شود. - تأیید کنید : امضای یکپارچگی 4 بایت
HMAC(integrity_key, advertising_id || initialization_vector)
رمزگشایی شبه کد
(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)
کتابخانه جاوا
به جای پیاده سازی الگوریتم های رمزنگاری برای رمزگذاری و رمزگشایی شناسه تبلیغاتی، می توانید از DoubleClickCrypto.java استفاده کنید. برای اطلاعات بیشتر، رمزنگاری را ببینید.