استخدام فحص التطبيقات لتأمين مفتاح واجهة برمجة التطبيقات

توفّر خدمة فحص التطبيقات من Firebase الحماية للمكالمات من تطبيقك إلى "منصة خرائط Google" من خلال حظر الزيارات الواردة من مصادر أخرى غير التطبيقات المشروعة. ويتم ذلك من خلال البحث عن رمز مميّز من موفّر خدمة شهادات مثل reCAPTCHA Enterprise. يساعد دمج تطبيقاتك مع فحص التطبيقات في الحماية من الطلبات الضارة، وبالتالي لن يتم تحصيل رسوم منك مقابل طلبات البيانات غير المصرّح بها من واجهة برمجة التطبيقات.

هل خدمة فحص التطبيقات مناسبة لي؟

ننصح باستخدام فحص التطبيقات في معظم الحالات، ولكن لا حاجة إليه أو غير متاح في الحالات التالية:

  • أنت تستخدم الإصدار الأصلي من Places SDK. تتوفّر خدمة فحص التطبيقات فقط لحزمة تطوير البرامج (SDK) الخاصة بـ Places (الإصدار الجديد).
  • التطبيقات الخاصة أو التجريبية إذا لم يكن تطبيقك متاحًا للجميع، لن تحتاج إلى استخدام فحص التطبيقات.
  • إذا كان تطبيقك يُستخدم فقط من خادم إلى خادم، لن تحتاج إلى فحص التطبيقات. ومع ذلك، إذا كان الخادم الذي يتواصل مع "منصّة Google للتسويق" يستخدمه عملاء عامون (مثل تطبيقات الأجهزة الجوّالة)، ننصحك باستخدام فحص التطبيقات لحماية هذا الخادم بدلاً من "منصّة Google للتسويق".

نظرة عامة على خطوات التنفيذ

على مستوى عالٍ، في ما يلي الخطوات التي ستتّبعها لدمج تطبيقك مع خدمة فحص التطبيقات:

  1. أضِف Firebase إلى تطبيقك.
  2. أضِف مكتبة فحص التطبيقات واضبطها.
  3. أضِف مقدّم الرمز المميز إلى تطبيقك.
  4. إعداد واجهتَي Places API وApp Check API
  5. فعِّل تصحيح الأخطاء.
  6. يمكنك مراقبة طلبات تطبيقك وتحديد ما إذا كنت تريد فرض قيود.

بعد الدمج مع App Check، ستتمكّن من الاطّلاع على مقاييس عدد الزيارات إلى الخلفية في وحدة تحكّم Firebase. تقدّم هذه المقاييس تفصيلاً للطلبات حسب ما إذا كانت مصحوبة برمز مميّز صالح من فحص التطبيقات. لمزيد من المعلومات، يُرجى الاطّلاع على مستندات ميزة "فحص التطبيقات من Firebase".

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

اعتبارات عند التخطيط لعملية دمج فحص التطبيقات

في ما يلي بعض الأمور التي يجب وضعها في الاعتبار أثناء التخطيط لعملية الدمج:

  • تفرض إحدى الجهات التي ننصح بها لتقديم شهادات التصديق، وهي reCAPTCHA Enterprise، رسومًا مقابل أكثر من 10,000 تقييم شهريًا.

    تتضمّن خدمة reCAPTCHA v3، وهي مقدّم خدمة آخر ننصح به، حصة، وبعدها لن يتم تقييم الزيارات.

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

  • سيواجه مستخدمو تطبيقك بعض التأخير عند بدء التشغيل، ولكن بعد ذلك، سيتم إجراء أي إعادة تصديق دورية في الخلفية ولن يواجه المستخدمون أي تأخير. يعتمد مقدار التأخير الدقيق عند بدء التشغيل على مقدّم خدمة التصديق الذي تختاره.

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

دمج تطبيقك مع خدمة فحص التطبيقات

المتطلبات الأساسية ومتطلبات الأهلية

  • تطبيق تم تحميل أحدث إصدار أسبوعي أو ربع سنوي من Maps JavaScript API ومكتبتَي Core وPlaces فيه
  • مشروع على السحابة الإلكترونية تم تفعيل واجهتَي برمجة التطبيقات Maps JavaScript API وPlaces API (الجديدة) فيه
  • يجب أن تكون مالك التطبيق في Cloud Console.
  • ستحتاج إلى رقم تعريف مشروع التطبيق من Cloud Console

الخطوة 1: إضافة Firebase إلى تطبيقك

اتّبِع التعليمات الواردة في مستندات مطوّري Firebase لإضافة Firebase إلى تطبيقك.

الخطوة 2: إضافة مكتبة فحص التطبيقات وإعداد فحص التطبيقات

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

الخطوة 3: تحميل مكتبات Maps JavaScript API

  1. حمِّل المكتبات الأساسية والخرائط والأماكن كما هو موضّح في المقتطف التالي. لمزيد من المعلومات والإرشادات، راجِع مستندات فئة الأماكن في Maps JavaScript API.

    async function init() {
      const {Settings} = await google.maps.importLibrary('core');
      const {Map} = await google.maps.importLibrary('maps');
      const {Place} = await google.maps.importLibrary('places');
    }  

الخطوة 4: تهيئة واجهتَي Places API وApp Check API

  1. ابدأ استخدام فحص التطبيقات باستخدام الإعدادات التي توفّرها وحدة تحكّم Firebase.
  2. تأكَّد من أنّ الطلبات المُرسَلة إلى Maps JS API تتضمّن رموز فحص التطبيقات المميزة:
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
        const {Place} = await google.maps.importLibrary('places');
      
        const app = initializeApp({
          // Your firebase configuration object
        });
      
        // Pass your reCAPTCHA Enterprise site key to initializeAppCheck().
        const appCheck = initializeAppCheck(app, {
          provider: new ReCaptchaEnterpriseProvider(
            'abcdefghijklmnopqrstuvwxy-1234567890abcd',
          ),
      
          // Optional argument. If true, the SDK automatically refreshes App Check
          // tokens as needed.
          isTokenAutoRefreshEnabled: true,
        });
      
        Settings.getInstance().fetchAppCheckToken = () =>
            getToken(appCheck, /* forceRefresh = */ false);
      
        // Make a Places JS request
        const place = new Place({id: 'ChIJN5Nz71W3j4ARhx5bwpTQEGg'});
        await place.fetchFields({fields: ['*']});
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

الخطوة 5: تفعيل تصحيح الأخطاء (اختياري)

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

لاختبار تطبيقك على الجهاز فقط، اتّبِع الخطوات التالية:

  • فعِّل موفّر تصحيح الأخطاء لأغراض التطوير.
  • ستتلقّى معرّف UUID4 عشوائيًا يتم إنشاؤه تلقائيًا (يُطلق عليه اسم _الرمز المميز لتصحيح الأخطاء_ في مستندات فحص التطبيقات) من سجلّات تصحيح الأخطاء في حزمة تطوير البرامج (SDK). أضِف هذا الرمز المميّز إلى وحدة تحكّم Firebase.
  • لمزيد من المعلومات والتعليمات، يُرجى الاطّلاع على مستندات فحص التطبيقات.

لتشغيل تطبيقك في بيئة CI، اتّبِع الخطوات التالية:

  • إنشاء UUID4 عشوائي من وحدة تحكّم Firebase
  • أضِف UUID4 كرمز تصحيح أخطاء، ثم انسَخه إلى مخزن سري ستتمكّن اختبارات التكامل المستمر من الوصول إليه في كل عملية اختبار.
  • لمزيد من المعلومات والتعليمات، يُرجى الاطّلاع على مستندات فحص التطبيقات.

الخطوة 6: مراقبة طلبات تطبيقك وتحديد إجراء التنفيذ

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

لمزيد من المعلومات والتعليمات، يُرجى الاطّلاع على مستندات "فحص التطبيقات من Firebase".