فحص التطبيقات من خلال Firebase لأنظمة أساسية من Apple

1. مقدمة

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

يمكنك الاطّلاع على مزيد من المعلومات عن فحص التطبيقات من Firebase في مستندات Firebase.

تستخدم خدمة App Check خدمات خاصة بكل نظام أساسي للتحقّق من سلامة التطبيق و/أو الجهاز. وتُعرف هذه الخدمات باسم مقدّمو خدمات التصديق. من بين مقدّمي الخدمات هؤلاء خدمة App Attest من Apple التي يمكن أن تستخدمها خدمة App Check للتحقّق من صحة تطبيقات Apple وأجهزتها.

ما ستنشئه

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

ما ستتعلمه

  • كيفية إضافة ميزة "فحص التطبيقات" من Firebase إلى تطبيق حالي
  • كيفية تثبيت مقدِّمي خدمات إثبات صحة مختلفين في ميزة "فحص التطبيقات من Firebase"
  • كيفية إعداد App Attest لتطبيقك
  • كيفية ضبط موفّر بيان صحة تصحيح الأخطاء لاختبار تطبيقك على المحاكيات أثناء تطوير التطبيق

المتطلبات

2. الحصول على مشروع البداية

يحتوي مستودع Firebase Quickstarts لنظام التشغيل iOS على نماذج تطبيقات لعرض منتجات Firebase المختلفة. ستستخدم تطبيق Firebase Database Quickstart لتطبيق SwiftUI كأساس لهذا الدرس العملي.

أنشئ نسخة طبق الأصل من مستودع Firebase Quickstarts لنظام التشغيل iOS من سطر الأوامر:

git clone https://github.com/firebase/quickstart-ios.git
cd quickstart-ios

افتح مشروع تطبيق Realtime Database SwiftUI Quickstart في Xcode:

cd database/DatabaseExampleSwiftUI/DatabaseExample
xed .

3- إضافة App Check إلى تطبيقك

  1. انتظِر إلى أن يحلّ Swift Package Manager تبعيات المشروع.
  2. افتح علامة التبويب عام لاستهداف تطبيق DatabaseExample (iOS). بعد ذلك، في قسم الأُطر والمكتبات والمحتوى المضمّن، انقر على الزر +.
  3. انقر على رمز الإضافة FirebaseAppCheck.

4. إنشاء مصنع موفّر App Check وتثبيته

  1. في مجموعة ملفات Shared، أضِف مجموعة جديدة باسم AppCheck..
  2. داخل هذه المجموعة، أنشئ فئة مصنع في ملف منفصل، مثل MyAppCheckProviderFactory.swift، مع الحرص على إضافتها إلى هدف DatabaseExample (iOS):
    import Firebase
    
    class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
      func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
        #if targetEnvironment(simulator)
          // App Attest is not available on simulators.
          // Use a debug provider.
          return AppCheckDebugProvider(app: app)
        #else
          // Use App Attest provider on real devices.
          return AppAttestProvider(app: app)
        #endif
      }
    }
    
  3. بعد ذلك، في DatabaseExampleApp.swift، احرص على استيراد FirebaseAppCheck، وإعداد مثيل لفئة MyAppCheckProviderFactory كعنصر إنشاء موفّر App Check.
    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct DatabaseExampleApp: App {
      init() {
        // Set an instance of MyAppCheckProviderFactory as an App Check
        // provider factory before configuring Firebase.
        AppCheck.setAppCheckProviderFactory(MyAppCheckProviderFactory())
        FirebaseApp.configure()
      }
      ...
    }
    

5- إنشاء مشروع Firebase وإعداده

لاستخدام App Check في مشروع iOS، عليك اتّباع الخطوات التالية في وحدة تحكّم Firebase:

  • إعداد مشروع على Firebase
  • أضِف تطبيق iOS إلى مشروع Firebase.
  • إعداد خدمة "مصادقة Firebase"
  • ابدأ مثيل Realtime Database الذي ستتم حمايته.
  • إعداد App Check

إنشاء مشروع

عليك أولاً إنشاء مشروع على Firebase.

  1. سجِّل الدخول إلى وحدة تحكّم Firebase باستخدام حسابك على Google.
  2. انقر على الزر لإنشاء مشروع جديد، ثم أدخِل اسم المشروع (على سبيل المثال، App Check Codelab).
  3. انقر على متابعة.
  4. إذا طُلب منك ذلك، راجِع بنود Firebase واقبلها، ثم انقر على متابعة.
  5. (اختياري) فعِّل ميزة "المساعدة المستندة إلى الذكاء الاصطناعي" في وحدة تحكّم Firebase (المعروفة باسم "Gemini في Firebase").
  6. في هذا الدرس العملي، لا تحتاج إلى "إحصاءات Google"، لذا أوقِف خيار "إحصاءات Google".
  7. انقر على إنشاء مشروع، وانتظِر إلى أن يتم توفير مشروعك، ثم انقر على متابعة.

إنشاء مثيل Realtime Database

الآن، انتقِل إلى قسم قاعدة البيانات في الوقت الفعلي في وحدة تحكّم Firebase.

  1. انقر على الزر إنشاء قاعدة بيانات لبدء سير عمل إنشاء قاعدة البيانات.
  2. اترك الموقع الجغرافي التلقائي (us-central1) لقاعدة البيانات بدون تغيير، وانقر على التالي.
  3. تأكَّد من اختيار الوضع المقفل وانقر على الزر تفعيل لتفعيل قواعد الأمان لقاعدة البيانات.
  4. انتقِل إلى علامة التبويب القواعد في متصفّح Realtime Database، واستبدِل القواعد التلقائية بما يلي:
    {
        "rules": {
            // User profiles are only readable/writable by the user who owns it
            "users": {
                "$UID": {
                    ".read": "auth.uid == $UID",
                    ".write": "auth.uid == $UID"
                }
            },
            // Posts can be read by anyone but only written by logged-in users.
            "posts": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    // UID must match logged in user and is fixed once set
                    "uid": {
                        ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                    },
                    // User can only update own stars
                    "stars": {
                        "$UID": {
                            ".validate": "auth.uid == $UID"
                        }
                    }
                }
            },
            // User posts can be read by anyone but only written by the user that owns it,
            // and with a matching UID
            "user-posts": {
                ".read": true,
                "$UID": {
                    "$POSTID": {
                        ".write": "auth.uid == $UID",
                        ".validate": "data.exists() || newData.child('uid').val() == auth.uid"
                    }
                }
            },
            // Comments can be read by anyone but only written by a logged in user
            "post-comments": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    "$COMMENTID": {
                        // UID must match logged in user and is fixed once set
                        "uid": {
                            ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                        }
                    }
                }
            }
        }
    }
    
  5. انقر على الزر نشر لتفعيل "قواعد الأمان" المعدَّلة.

إعداد تطبيق iOS للربط بمنصة Firebase

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

  1. في Xcode، اختَر مشروع DatabaseExample في "مستكشف المشروع".
  2. اختَر هدف DatabaseExample (iOS) وافتح علامة التبويب التوقيع والإمكانات.
  3. ستظهر لك رسالة خطأ تفيد بأنّ "توقيع DatabaseExample (iOS) يتطلّب فريق تطوير".
  4. عدِّل معرّف الحزمة إلى معرّف فريد. أسهل طريقة لتحقيق ذلك هي استخدام اسم النطاق العكسي لموقعك الإلكتروني، مثل com.acme.samples.firebase.quickstart.DatabaseExample (يُرجى عدم استخدام هذا المعرّف، واختيار معرّف فريد خاص بك بدلاً من ذلك).
  5. اختَر فريق التطوير.
  6. ستعرف أنّ كل شيء سار على ما يرام عندما يعرض Xcode عبارة "ملف الإعداد: ملف الإعداد المُدار من Xcode" ورمز معلومات صغير بجانب هذا التصنيف. سيؤدي النقر على هذا الرمز إلى عرض المزيد من التفاصيل حول ملف الإعداد.

ربط تطبيق iOS

للحصول على شرح مفصّل حول ربط تطبيقك، اطّلِع على المستندات حول إضافة Firebase إلى مشروعك على نظام التشغيل iOS. للبدء، اتّبِع الخطوات الرئيسية التالية في "وحدة تحكّم Firebase":

  1. من شاشة نظرة عامة على المشروع لمشروعك الجديد، انقر على الزر + إضافة تطبيق، ثم انقر على رمز iOS+ لإضافة تطبيق iOS جديد إلى مشروعك على Firebase.
  2. أدخِل معرّف حزمة تطبيقك (استخدِم المعرّف الذي حدّدته في القسم السابق، مثل com.acme.samples.firebase.quickstart.DatabaseExample - يُرجى العِلم أنّ هذا المعرّف يجب أن يكون معرّفًا فريدًا)
  3. انقر على تسجيل التطبيق.
  4. تنشئ Firebase ملف GoogleService-Info.plist يحتوي على جميع البيانات الوصفية اللازمة في Firebase لتطبيقك.
  5. انقر على تنزيل ملف GoogleService-Info.plist لتنزيل الملف.
  6. في Xcode، ستلاحظ أنّ المشروع يتضمّن ملفًا باسم GoogleService-Info.plist. احذف هذا الملف أولاً، وسيتم استبداله بالملف الخاص بمشروعك على Firebase في الخطوة التالية.
  7. انسخ الملف GoogleService-Info.plist الذي نزّلته في الخطوة السابقة إلى المجلد الجذر لمشروع Xcode وأضِفه إلى الهدف DatabaseExample (iOS)، مع التأكّد من تسميته GoogleService-Info.plist.
  8. انقر على الخطوات المتبقية من عملية التسجيل. بما أنّ مشروع العيّنة تم إعداده بشكلٍ صحيح، لن تحتاج إلى إجراء أي تغييرات على الرمز.

ضبط إعدادات خدمة "مصادقة Firebase"

أخيرًا! هذا قدر كبير من الإعداد حتى الآن، ولكن انتظر قليلاً. إذا كنت مستخدمًا جديدًا لبرنامج Firebase، فقد اطّلعت على الأجزاء الأساسية من سير العمل التي ستتعرّف عليها قريبًا.

الآن، عليك ضبط "مصادقة Firebase" لهذا التطبيق.

تفعيل موفِّر خدمة تسجيل الدخول باستخدام البريد الإلكتروني/كلمة المرور

  1. في وحدة تحكُّم Firebase، افتح قسم المصادقة في وحدة التحكّم.
  2. انقر على البدء لإعداد خدمة Firebase Authentication لمشروعك.
  3. انقر على علامة التبويب طريقة تسجيل الدخول.
  4. اختَر البريد الإلكتروني/كلمة المرور في قسم مزوّدو الخدمة الأصليون.
  5. فعِّل خيار البريد الإلكتروني/كلمة المرور وانقر على حفظ.

إضافة مستخدم اختباري

  1. افتح علامة التبويب المستخدمون في قسم المصادقة.
  2. انقر على إضافة مستخدم.
  3. حدِّد عنوان بريد إلكتروني وكلمة مرور للمستخدم التجريبي، ثم انقر على إضافة مستخدم.

تجربة التطبيق

ارجع إلى Xcode، وشغِّل التطبيق على محاكي iOS. سجِّل الدخول باستخدام عنوان البريد الإلكتروني وكلمة المرور للمستخدم التجريبي الذي أنشأته للتو. بعد تسجيل الدخول، يمكنك إنشاء مشاركة ونشر تعليق على مشاركة حالية وتمييز المشاركات بنجمة أو إزالة النجمة.

6. إعداد موفِّر شهادات App Attest

في هذه الخطوة، عليك ضبط App Check لاستخدام مقدّم خدمة App Attest في وحدة تحكّم Firebase.

  1. في وحدة تحكّم Firebase، انتقِل إلى قسم App Check في وحدة التحكّم.
  2. انقر على البدء.
  3. في علامة التبويب التطبيقات، انقر على تطبيقك لتوسيع تفاصيله.
  4. انقر على App Attest لإعداد App Attest، ثم أدخِل رقم تعريف الفريق الخاص بحسابك على Apple Developer (يمكنك العثور عليه في قسم العضوية على بوابة Apple Developer): 1645f7a369b678c2.png
  5. انقر على حفظ.

بهذا، يكون لديك مشروع Firebase يعمل ومرتبط بتطبيقنا الجديد، ويكون قد تم تفعيل خدمة App Check.

أنت الآن جاهز لإعداد خدمة التصديق المحدّدة. لمزيد من المعلومات عن سير العمل هذا، يُرجى الاطّلاع على تفعيل App Check باستخدام App Attest على أجهزة iOS.

7. إعداد App Attest لتطبيقك

حان الوقت الآن لتجربة حزمة تطوير البرامج (SDK) لخدمة App Check من Firebase وتنفيذ بعض الرموز البرمجية للعميل.

عليك أولاً ضبط مشروع Xcode لكي تتمكّن حزمة SDK من استخدام واجهة برمجة التطبيقات App Attest من Apple لضمان أنّ الطلبات المُرسَلة من تطبيقك تأتي من نُسخ شرعية من تطبيقك.

  1. أضِف إمكانية App Attest إلى هدف تطبيقك في مشروع Xcode:
  2. افتح علامة التبويب التوقيع والإمكانات في إعدادات هدف تطبيقك.
  3. انقر على الزر "+"
  4. في مربّع الحوار، ابحث عن إمكانية App Attest ae84cd988a5fab31.png واختَرها.
  5. سيظهر ملف DatabaseExample (iOS).entitlements في المجلد الجذر لمشروع Xcode بعد تنفيذ الخطوة السابقة.
  6. في الملف DatabaseExample (iOS).entitlements، غيِّر قيمة المفتاح App Attest Environment إلى production.

بعد الانتهاء من هذه الخطوات وتشغيل التطبيق على جهاز فعلي يعمل بنظام التشغيل iOS (iPhone أو iPad)، سيظل بإمكان التطبيق الوصول إلى Realtime Database. في خطوة لاحقة، ستتمكّن من فرض استخدام App Check، ما سيؤدي إلى حظر الطلبات التي يتم إرسالها من تطبيقات وأجهزة غير شرعية.

لمزيد من المعلومات عن سير العمل هذا، يُرجى الاطّلاع على تفعيل App Check باستخدام App Attest على أجهزة iOS.

8. ضبط موفّر شهادات تصديق تصحيح الأخطاء في محاكي iOS

تتيح موفّر خدمة تصحيح أخطاء ميزة "فحص التطبيقات" من Firebase إمكانية اختبار التطبيقات التي تستخدم ميزة "فحص التطبيقات" من Firebase في بيئات غير موثوق بها، بما في ذلك محاكي iOS، أثناء عملية التطوير. بعد ذلك، عليك ضبط موفّر تصحيح الأخطاء معًا.

تثبيت موفّر تصحيح الأخطاء في Firebase في تطبيقك

الخيار 1: إنشاء مثيل لموفّر تصحيح الأخطاء بشكل مشروط في المصنع

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

عدِّل MyAppCheckProviderFactory.swift باستخدام الرمز التالي:

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
    // App Attest is not available on simulators.
    // Use a debug provider.
    let provider = AppCheckDebugProvider(app: app)

    // Print only locally generated token to avoid a valid token leak on CI.
    print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

    return provider
#else
    // Use App Attest provider on real devices.
    return AppAttestProvider(app: app)
#endif
  }
}

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

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
      #if targetEnvironment(simulator)
      // App Attest is not available on simulators.
      // Use a debug provider.
      let provider = AppCheckDebugProvider(app: app)

      // Print only locally generated token to avoid a valid token leak on CI.
      print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

      return provider
      #else
      if #available(iOS 14.0, *) {
        // Use App Attest provider on real devices.
        return AppAttestProvider(app: app)
      } else {
        return DeviceCheckProvider(app: app)
      }
      #endif
  }
}

الخيار 2: تثبيت AppCheckDebugProviderFactory

في الحالات الأبسط، يمكنك تثبيت AppCheckDebugProviderFactory مؤقتًا أو بشكل مشروط قبل ضبط مثيل تطبيق Firebase:

init() {
#if targetEnvironment(simulator)
  let providerFactory = AppCheckDebugProviderFactory()
#else
  let providerFactory = MyAppCheckProviderFactory()
#endif

  AppCheck.setAppCheckProviderFactory(providerFactory)

  FirebaseApp.configure()
}

سيوفّر عليك ذلك بضعة أسطر من الرمز عند إنشاء مصنع موفّر App Check الخاص بك.

تسجيل سرّ تصحيح الأخطاء في وحدة تحكّم Firebase

الحصول على مفتاح تصحيح الأخطاء من iOS Simulator

  1. إذا اخترت تثبيت AppCheckDebugProviderFactory (الخيار 2 أعلاه)، عليك تفعيل تسجيل بيانات تصحيح الأخطاء لتطبيقك عن طريق إضافة -FIRDebugEnabled إلى وسيطات تشغيل التطبيق: f1c6b477a373e144.png
  2. تشغيل تطبيقك على "المحاكي"
  3. ابحث عن سرّ تصحيح الأخطاء في وحدة تحكّم Xcode. يمكنك استخدام فلتر وحدة التحكّم للعثور عليه بشكل أسرع: d4c65af93e369c55.png

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

تسجيل سر تصحيح الأخطاء

  1. ارجع إلى "وحدة تحكّم Firebase"، وانتقِل إلى قسم فحص التطبيقات.
  2. في علامة التبويب التطبيقات، انقر على تطبيقك لتوسيع تفاصيله.
  3. في القائمة الكاملة، انقر على إدارة رموز تصحيح الأخطاء: d77c8ff768a00b4b.png
  4. أضِف السرّ الذي نسخته من وحدة تحكّم Xcode، ثم انقر على حفظ f845c97b86f694d0.png.

بعد اتّباع هذه الخطوات، يمكنك استخدام التطبيق على المحاكي حتى مع فرض استخدام App Check.

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

يمكنك الاطّلاع على مزيد من التفاصيل حول هذا المسار في المستندات، وتحديدًا في استخدام App Check مع موفّر تصحيح الأخطاء على iOS.

9. تفعيل ميزة "فحص التطبيقات" في "قاعدة بيانات Firebase في الوقت الفعلي"

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

عليك الآن تفعيل فرض ميزة "فحص التطبيقات" لضمان عدم إمكانية الوصول إلى تطبيق Firebase إلا من الأجهزة المصرّح بها. ستتوقف إصدارات التطبيق القديمة التي لم يتم دمج ميزة App Check فيها عن العمل بعد تفعيل فرض استخدامها لمشروع Firebase.

  1. في وحدة تحكّم Firebase، ضِمن قسم App Check، انقر على Realtime Database لتوسيع تفاصيله.
  2. انقر على فرض.

64e6a81fa979b635.png

  1. اقرأ المعلومات في مربّع حوار التأكيد، ثم انقر على فرض.

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

محاولة الوصول إلى Realtime Database باستخدام تطبيق غير شرعي

للاطّلاع على عملية فرض استخدام App Check، اتّبِع الخطوات التالية:

  1. أوقِف عملية التسجيل في App Check من خلال وضع علامة تعليق على رمز التسجيل في App Check في طريقة init لنقطة دخول تطبيقك في DatabaseExampleApp.
  2. أعِد ضبط المحاكي من خلال اختيار الجهاز > محو جميع أنواع المحتوى والإعدادات. سيؤدي ذلك إلى محو بيانات المحاكي (وإبطال الرمز المميّز للجهاز).
  3. شغِّل التطبيق مرة أخرى على المحاكي.
  4. من المفترض أن تظهر لك رسالة الخطأ التالية:
    [FirebaseDatabase][I-RDB034005] Firebase Database connection was forcefully killed by the server.  Will not attempt reconnect. Reason: Invalid appcheck token.
    

لإعادة تفعيل App Check، اتّبِع الخطوات التالية:

  1. أزِل التعليق من رمز التسجيل في App Check في DatabaseExampleApp.
  2. أعِد تشغيل التطبيق.
  3. دوِّن رمز App Check الجديد في وحدة تحكّم Xcode.
  4. سجِّل الرمز المميّز لتصحيح الأخطاء في إعدادات App Check لتطبيقك في وحدة تحكّم Firebase.
  5. أعِد تشغيل التطبيق.
  6. من المفترض ألا تظهر لك رسالة خطأ، وأن تتمكّن من إضافة مشاركات وتعليقات جديدة في التطبيق.

10. تهانينا!

9785d32f18b995d2.gif

أنت تعرف الآن كيفية:

  • إضافة App Check إلى مشروع حالي
  • إعداد مقدّم خدمة شهادات App Attest لإصدار تطبيقك المتاح للجميع
  • ضبط موفِّر بيان صحة تصحيح الأخطاء لاختبار تطبيقك على محاكي
  • مراقبة طرح إصدار التطبيق لمعرفة الوقت المناسب لفرض استخدام ميزة "فحص التطبيقات" في مشروعك على Firebase
  • تفعيل فرض استخدام App Check

الخطوات التالية

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

في ما يلي مراجع أخرى قد تكون مفيدة لك:

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