يتيح "الشراة المعتمَدون" الآن تمرير المعرِّف الإعلاني لنظام التشغيل Android في طلبات عروض أسعار مستودع التطبيقات المتوافقة مع الأجهزة الجوّالة.
لمحة عن المعرِّف الإعلاني
باستخدام الإصدار 4.0 من "خدمات Google Play"، أطلق نظام Android معرّفًا جديدًا يمكن للمستخدم إعادة ضبطه يُستخدم في الإعلانات يُسمّى المعرّف الإعلاني.
يمكن للمعلنين استخدام المعرّف الإعلاني لعرض حملات تجديد النشاط التسويقي وتسجيل "الإحالات الناجحة" (الشراء أو التنزيل). يتضمّن المعرِّف الإعلاني ميزتَين رئيسيتَين:
- يمكن للمستخدمين إعادة ضبط المعرِّف الإعلاني في أي وقت.
- يمكن للمستخدمين إيقاف الإعلانات التي تستهدف الاهتمامات في أي وقت من تطبيق "إعدادات 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
، وهي فريدة خاصة بحدث الظهور.
الرمز الزائف للتشفير
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)
مكتبة Java
وبدلاً من تنفيذ خوارزميات التشفير لتشفير وفك ترميز المعرّف الإعلاني، يمكنك استخدام DoubleClickCrypto.java. لمزيد من المعلومات، راجع التشفير.