نظرة عامة حول Play Integrity API

تساعدك واجهة برمجة التطبيقات Play Integrity API في التحقّق من أنّ التفاعلات وطلبات الخادم تنشأ عن البرنامج الثنائي الحقيقي لتطبيقك الذي يتم تشغيله على جهاز Android حقيقي. ومن خلال رصد التفاعلات الاحتيالية والمحتملة التي يُحتمل أن تكون خطيرة، مثلاً من إصدارات التطبيق التي تم التلاعب بها والبيئات غير الموثوقة، يمكن لخادم الخلفية في تطبيقك الاستجابة باتخاذ الإجراءات المناسبة لمنع الهجمات والحدّ من إساءة الاستخدام.

عند استخدام تطبيقك أو لعبتك على جهاز Android يتضمّن "متجر Google Play" ومدعومًا من "خدمات Google Play"، توفّر واجهة برمجة التطبيقات Play Integrity API ردًّا يساعدك في تحديد ما إذا كان يتم التفاعل مع التطبيقات التالية:

  • برنامج ثنائي أصلي للتطبيق: عليك تحديد ما إذا كنت تتفاعل مع برنامجك الثنائي غير المعدّل والذي يتعرّف عليه Google Play.
  • عملية تثبيت أصلية على Play: يجب تحديد ما إذا كان حساب المستخدم الحالي مرخَّصًا، أي أنّ المستخدم ثبَّت تطبيقك أو لعبتك أو دفع رسومهما على Google Play.
  • جهاز Android أصلي: تحدّد ما إذا كان تطبيقك يعمل على جهاز Android حقيقي متوافق مع "خدمات Google Play" (أو نسخة حقيقية من "ألعاب Google Play على الكمبيوتر").
  • المحتوى الخالي من البرامج الضارة المعروفة: يمكنك تحديد ما إذا كانت خدمة "Google Play للحماية" مفعّلة وما إذا كانت قد رصدت تطبيقات خطيرة أو خطيرة تم تثبيتها على الجهاز.

نظرة عامة

عندما ينفِّذ مستخدم إجراءً في تطبيقك، يمكنك الاتصال بواجهة Play Integrity API للتأكّد من أنّ الإجراء قد حدث في البرنامج الثنائي الحقيقي للتطبيق، الذي تم تثبيته من خلال Google Play، ويعمل على جهاز Android حقيقي. يمكنك أيضًا تفعيل إشارات حول البيئة، مثلاً ما إذا تم تفعيل "Google Play للحماية" ورصدت برامج ضارة معروفة تم تثبيتها على الجهاز. وإذا كانت الأحكام غير صحيحة، يمكن لخادم الخلفية لتطبيقك أن يقرّر ما يجب فعله لحماية تطبيقك من مشاكل مثل إساءة الاستخدام والاحتيال وإساءة الاستخدام والغش والوصول غير المصرّح به والهجمات.

مسار النظرة العامة حول
Play Integrity API

اعتبارات الأمان

توفّر واجهة برمجة التطبيقات Play Integrity API أفضل قيمة لتطبيقك عند اتّباع الممارسات التالية المقترَحة:

اعتماد استراتيجية لمكافحة إساءة الاستخدام

تعمل واجهة برمجة التطبيقات Play Integrity API على أفضل نحو عند استخدامها مع إشارات أخرى كجزء من استراتيجيتك العامة لمكافحة إساءة الاستخدام وليس كآلية وحيدة لمنع إساءة الاستخدام. استخدِم واجهة برمجة التطبيقات هذه إلى جانب أفضل ممارسات الأمان المناسبة لتطبيقك. وحسب الإعدادات التلقائية، يمكن أن يتلقّى تطبيقك ما يصل إلى 10,000 طلب إجمالاً في اليوم على مستوى جميع عمليات التثبيت. يمكنك طلب زيادة الحدّ الأقصى اليومي.

تحديد كيفية طلب بيانات السلامة

توفّر واجهة برمجة التطبيقات Play Integrity API خيارَين لطلب بيانات السلامة وتلقّيها. سواء أجريت طلبات عادية أو طلبات كلاسيكية أو مزيج من كلا نوعَي الطلبات، سيتم عرض استجابة بيان السلامة بالتنسيق نفسه.

إنّ الطلبات العادية من واجهة برمجة التطبيقات مناسبة لأي تطبيق أو لعبة ويمكن تقديمها عند الطلب للتأكد من أنّ أي إجراء أو طلب من الخادم صحيح. تتسم الطلبات العادية بأقل وقت استجابة (بضع مئات من المللي ثانية في المتوسط) وموثوقية عالية للحصول على بيان قابل للاستخدام. تستفيد الطلبات العادية من التخزين المؤقت الذكي على الجهاز مع تفويض الحماية ضد أنواع معينة من الهجمات إلى Google Play.

تبقى الطلبات الكلاسيكية من واجهة برمجة التطبيقات متوفرة أيضًا، وهي الطريقة الأصلية لطلب بيانات السلامة. تتسم الطلبات الكلاسيكية بوقت استجابة أطول (بضع ثوانٍ في المتوسط) وتقع على عاتقك مسؤولية التخفيف من مخاطر التعرض لأنواع معينة من الهجمات. تستخدم الطلبات الكلاسيكية بيانات المستخدم وطاقة البطارية أكثر من الطلبات العادية لأنّها تبدأ تقييمًا جديدًا، وبالتالي يجب إجراؤها نادرًا مرة واحدة للتحقّق ممّا إذا كان الإجراء الحسّاس للغاية أو ذي القيمة العالية حقيقيًا. إذا كنت تريد تقديم طلب كلاسيكي وتخزينه في ذاكرة التخزين المؤقت لاستخدامه لاحقًا، عليك تقديم طلب عادي بدلاً من ذلك للحد من خطر الهجمات.

يسلط الجدول التالي الضوء على بعض الاختلافات الرئيسية بين نوعي الطلبات:

طلب بيانات عادي من واجهة برمجة التطبيقات طلب البيانات من واجهة برمجة التطبيقات الكلاسيكية
يجب توفّر الإصدار الأدنى من حزمة تطوير البرامج (SDK) لنظام التشغيل Android. Android 5.0 (المستوى 21 من واجهة برمجة التطبيقات) أو إصدار أحدث Android 4.4 (مستوى واجهة برمجة التطبيقات 19) أو إصدار أحدث
مطلوب بدء عملية إعداد واجهة برمجة التطبيقات ✔️ (بضع ثوانٍ)
وقت الاستجابة المعتاد للطلبات بضع مئات من المللي ثانية بضع ثوانٍ
معدّل تكرار الطلب المحتمل فحص متكرّر لأي إجراء أو طلب غير متكرر (فحص لمرة واحدة للإجراءات الأعلى قيمة أو الطلبات الأكثر حساسية)
تجنّب إعادة التشغيل والهجمات المشابهة تخفيف الأثر التلقائي من خلال Google Play استخدام الحقل nonce مع منطق الخادم

يمكنك الاطّلاع على جدول يحتوي على المزيد من الاختلافات في اعتبارات الطلبات الكلاسيكية.

جعل طلبات البيانات من واجهة برمجة التطبيقات يصعب نسخها

تحتوي الطلبات العادية من واجهة برمجة التطبيقات على حقل يُسمى requestHash يُستخدم للحماية من التلاعب والهجمات المماثلة. في هذا الحقل، ينبغي عليك تضمين ملخص لجميع القيم ذات الصلة من طلب تطبيقك. اتّبِع الإرشادات المتعلقة بكيفية استخدام ربط المحتوى لحماية طلبات تطبيقك العادية.

تحتوي طلبات واجهة برمجة التطبيقات الكلاسيكية على حقل يُسمّى nonce (اختصاره الرقم مرة واحدة) ويُستخدم للحماية ضد أنواع معيّنة من الهجمات، مثل هجمات إعادة التشغيل والتلاعب. اتّبِع الإرشادات حول كيفية إنشاء البيانات لحماية طلبات تطبيقك الكلاسيكية.

تجنُّب بيانات السلامة في التخزين المؤقت

تزيد بيانات سلامة التخزين المؤقت من خطر إنشاء وكيل، وهو هجوم يعيد فيه المستخدم المخالِف استخدام قرار صادر عن جهاز جيد لأغراض مسيئة في بيئة أخرى. وبدلاً من تخزين الردود مؤقتًا، يمكنك تقديم طلب عادي من واجهة برمجة التطبيقات للحصول على بيان عند الطلب.

وضع استراتيجية تنفيذ متعددة المستويات

يحتوي بيان السلامة الخاص بواجهة برمجة التطبيقات Play Integrity API على مجموعة من الردود المحتملة التي تجعل من الممكن وضع استراتيجية مكافحة إساءة الاستخدام باستخدام مستويات تنفيذ متعددة. يمكنك إجراء ذلك من خلال ضبط خادم الخلفية في تطبيقك للعمل بشكل مختلف بناءً على كل استجابة محتملة أو مجموعة من الردود.

من الممكن أيضًا تصنيف استراتيجية التنفيذ استنادًا إلى مدى موثوقية الجهاز من خلال تفعيل خيار تلقّي تصنيفات إضافية للأجهزة في ردّ واجهة برمجة التطبيقات من Play Console. سيعرض كل جهاز جميع التسميات التي تستوفي معاييرها. على سبيل المثال، بعد الموافقة على تلقّي جميع تصنيفات الأجهزة، يمكنك اختيار أن تثق في جهاز يعرض مرات ظهور أكثر من MEETS_STRONG_INTEGRITY وMEETS_DEVICE_INTEGRITY وMEETS_BASIC_INTEGRITY مقارنةً بالجهاز الذي يعرض MEETS_BASIC_INTEGRITY فقط. ويمكنك الاستجابة بشكل مختلف عن الخادم في كل سيناريو.

إرسال مجموعة من الردود من الخادم إلى تطبيقك

يصعب تكرار الحصول على مجموعة من نتائج القرار بدلاً من إرسال استجابة "السماح/الرفض" الثنائية من الخادم مرة أخرى إلى التطبيق لكل استجابة. على سبيل المثال، يمكنك استخدام سلسلة من الردود ذات الصلة مثل "السماح" و"السماح مع حدود" و"السماح مع الحدود" بعد اكتمال اختبار CAPTCHA والرفض.

رصد إساءة استخدام على نطاق واسع

يمكنك استخدام ميزة آخر أنشطة على الجهاز في واجهة برمجة التطبيقات Play Integrity API للعثور على الأجهزة التي تطلب أعدادًا كبيرة من الشهادات. بشكل عام، عندما يسيء المستخدمون استخدام عدد كبير من الأنشطة، يتم إنشاء نتائج مصادقة صالحة من أجهزة حقيقية وتوفيرها لبرامج التتبّع آليًا لبرمجة الهجمات على الأجهزة المزوّدة بحق الوصول إلى الجذر والمحاكيات. يمكنك استخدام نتيجة النشاط الأخيرة على الجهاز لتحديد عدد الإقرارات التي أنشأها تطبيقك على أحد الأجهزة خلال الساعة الماضية.

عرض رسائل خطأ قابلة للتنفيذ

إذا أمكن، قدِّم رسائل خطأ مفيدة للمستخدم وأخبره بما يمكنه فعله لإصلاح المشكلة، مثل إعادة المحاولة أو تفعيل الاتصال بالإنترنت أو التأكّد من أن تطبيق "متجر Play" محدّث.

وضع خطة للمشاكل أو الانقطاعات غير المتوقعة

تعرض لوحة البيانات الخاصة بحالة Play معلومات حول حالة خدمة Play Integrity API بالإضافة إلى معلومات حول أي حالات انقطاع أو انقطاع في الخدمة. يمكنك أن تضبط مسبقًا الطريقة التي تريد أن يعمل بها خادم الخلفية في حال حدوث انقطاع واسع النطاق في واجهة برمجة التطبيقات Play Integrity API.

استخدام حلول شاملة للاحتيال على مستوى المؤسسات

يمكن لعملاء المؤسسات الذين يبحثون عن حل كامل لإدارة الاحتيال وبرامج التتبُّع شراء reCAPTCHA Enterprise للأجهزة الجوّالة، وهي تتضمّن حِزم تطوير البرامج (SDK) لنظام التشغيل Android التي توفّر نتائج مخاطر الاحتيال للمطوّرين. تتضمّن خدمة reCAPTCHA Enterprise تلقائيًا إشارات واجهة برمجة التطبيقات Play Integrity API، وتدمجها مع شبكة reCAPTCHA وإشارات التطبيق، ما يوفّر للعملاء حلاً سلسًا وغير مرئي لإدارة الاحتيال. ويمكنها أيضًا توفير الحماية لتطبيقات Android التي لا تتوفّر فيها واجهة برمجة التطبيقات Play Integrity API.

بنود الخدمة وأمان البيانات

يشير الوصول إلى واجهة Play Integrity API أو استخدامها إلى موافقتك على بنود خدمة Play Integrity API. يُرجى قراءة وفهم جميع البنود والسياسات السارية قبل الدخول إلى واجهة برمجة التطبيقات.

يحتوي Google Play على قسم "أمان البيانات" يمكن للمطوّرين الإفصاح فيه عن ممارسات جمع البيانات ومشاركتها والحفاظ على أمانها في تطبيقاتهم لإبقاء المستخدمين على اطّلاع بكل ما هو جديد. لمساعدتك في إكمال نموذج البيانات، يُرجى الاطّلاع على هذه المعلومات حول كيفية معالجة واجهة برمجة التطبيقات Play Integrity API للبيانات.