اختيار النظام الأساسي: Android iOS JavaScript

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

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

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

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

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

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

في ما يلي الخطوات التي يجب اتّباعها لدمج تطبيقك مع ميزة "فحص التطبيقات":

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

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

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

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

في ما يلي بعض النقاط التي يجب مراعاتها عند التخطيط لعملية الدمج:

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

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

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

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

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

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

المتطلّبات الأساسية

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

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

الخطوة 2: إضافة مكتبة "فحص التطبيقات" وتهيئتها

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

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

  1. حمِّل مكتبتَي Core وMaps كما هو موضّح في المقتطف التالي. لمزيد من المعلومات والتعليمات، يُرجى الاطّلاع على مستندات Maps JavaScript API.

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

الخطوة 4: تهيئة واجهات برمجة التطبيقات Maps API و"فحص التطبيقات"

  1. هيِّئ ميزة "فحص التطبيقات" باستخدام الإعداد الذي توفّره وحدة تحكّم Firebase.
  2. تأكَّد من أنّ الطلبات إلى Maps JavaScript API مصحوبة برموز مميّزة لميزة "فحص التطبيقات":
      import {initializeApp} from 'firebase/app';
      import {
        getToken,
        initializeAppCheck,
        ReCaptchaEnterpriseProvider,
      } from 'firebase/app-check';
        
      async function init() {
        const {Settings} = await google.maps.importLibrary('core');
        const {Map} = await google.maps.importLibrary('maps');
      
        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);
      
        // Load a map
        map = new Map(document.getElementById("map"), {
          center: { lat: 37.4161493, lng: -122.0812166 },
          zoom: 8,
        });
      }  
      

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

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

لاختبار تطبيقك محليًا:

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

لتشغيل تطبيقك في بيئة تكامل مستمر:

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

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

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

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