بدء استخدام App Check لتسجيل الدخول بحساب Google على أجهزة iOS

توضّح لك هذه الصفحة كيفية تفعيل ميزة "فحص التطبيقات" في تطبيق iOS. عند تفعيل ميزة "فحص التطبيقات"، يمكنك التأكّد من أنّ تطبيقك فقط هو الذي يمكنه الوصول إلى نقاط نهاية بروتوكول OAuth 2.0 من Google بالنيابة عن مشروعك. اطّلِع على نظرة عامة حول هذه الميزة.

يستخدم App Check App Attest للمساعدة في التحقّق من أنّ طلبات OAuth 2.0 تأتي من تطبيقك الأصلي. لا يستخدم App Check أداة App Attest لتحليل مخاطر الاحتيال.

قبل البدء

  1. تأكَّد من تثبيت Xcode 12.5 أو إصدار أحدث.

  2. دمج ميزة "تسجيل الدخول باستخدام حساب Google" في تطبيقك المتوافق مع نظام التشغيل iOS باستخدام مكتبة ميزة "تسجيل الدخول باستخدام حساب Google"

‫1. إعداد مشروعك

يمكن تفعيل ميزة "فحص التطبيق" في أو في وحدة تحكُّم Firebase. ليس من الضروري تفعيله في كلا المكانَين، يكفي تفعيله في مكان واحد.

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

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

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

  • تأكَّد من أنّ معرِّف الحزمة ومعرِّف الفريق اللذين حدّدتهما صالحان.
  • تأكَّد من عدم استخدام حرف بدل لـ "رقم تعريف الحِزمة".

وحدة تحكُّم Firebase

  1. يجب أن يكون لديك مشروع على Firebase لاستخدام ميزة "فحص التطبيق" مع ميزة "تسجيل الدخول باستخدام حساب Google".

    • إذا كان تطبيقك يستخدم Firebase، استخدِم المشروع نفسه.

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

      اطّلِع أيضًا على: العلاقة بين مشاريع Firebase وGoogle Cloud

  2. أضِف تطبيقات iOS إلى مشروعك على Firebase، في حال لم يسبق لك إجراء ذلك، باستخدام صفحة إعدادات المشروع في وحدة تحكّم Firebase.

  3. سجِّل تطبيقاتك لاستخدام ميزة "فحص التطبيق" مع مقدّم خدمة "إثبات ملكية التطبيق" في قسم فحص التطبيق في وحدة تحكُّم Firebase.

  4. تأكَّد من ربط جميع عملاء OAuth في مشروعك بتطبيق.

    إذا كان لديك عملاء غير مرتبطين، ستظهر لك رسالة في قسم Google Identity for iOS ضمن صفحة فحص التطبيق مفادها "لديك n عملاء OAuth غير مرتبطين يتطلّبون عملية إعداد إضافية".

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

    يمكنك ربط العملاء غير المرتبطين بتطبيق حالي أو جديد في صفحة عملاء OAuth في وحدة تحكّم Firebase.

2. إضافة مكتبة Google Sign-in إلى تطبيقك

  1. في مشروع Xcode، اضبط الاعتماد على ميزة "تسجيل الدخول باستخدام حساب Google" على الإصدار 8.0.0 أو إصدار أحدث :

    مدير شركاء استراتيجي

    اضبط قاعدة التبعية لـ googlesignin-ios على الإصدار 8.0.0 أو إصدار أحدث.

    CocoaPods

    تعديل Podfile:

    source 'https://github.com/CocoaPods/Specs.git'
    source 'https://github.com/firebase/SpecsDev.git'
    
    target 'YourAppName' do
      use_frameworks!
    
      pod 'GoogleSignIn','~> 8.0'
          :git => 'https://github.com/google/GoogleSignIn-iOS.git'
      pod 'GoogleSignInSwiftSupport'  # If you use SwiftUI.
    end
    

    بعد ذلك، شغِّل pod install وافتح ملف .xcworkspace الذي تم إنشاؤه.

  2. في Xcode، أضِف ميزة App Attest إلى تطبيقك.

  3. في ملف .entitlements الخاص بمشروعك، اضبط بيئة App Attest على production.

3- إعداد فحص التطبيق

في طريقة didFinishLaunchingWithOptions لمفوّض التطبيق، استخدِم GIDSignIn.sharedInstance.configure(completion:). يجب استدعاء هذه الطريقة في أقرب وقت ممكن خلال دورة حياة تطبيقك لتقليل وقت الاستجابة الذي يلاحظه المستخدم.

import SwiftUI
import GoogleSignIn

class AppDelegate: NSObject, UIApplicationDelegate {
  func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil
  ) -> Bool {
    #if targetEnvironment(simulator)
    // Configure for debugging.
    // See: https://developers.google.com/identity/sign-in/ios/appcheck/debug-provider
    #else
    GIDSignIn.sharedInstance.configure { error in
      if let error {
        print("Error configuring `GIDSignIn` for Firebase App Check: \(error)")
      }
    }
    #endif

    return true
  }
}

@main
struct YourAppNameApp: App {
  @UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate

  // ...
}

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

بعد تثبيت مكتبة App Check في تطبيقك، ابدأ بتوزيع التطبيق المُحدَّث على المستخدمين.

سيبدأ تطبيق العميل المعدَّل بإرسال الرموز المميّزة لفحص التطبيق مع كل طلب يُقدّمه إلى نقاط نهاية مصادقة Google، ولكن لن تشترط نقاط النهاية أن تكون الرموز المميّزة صالحة إلى أن تفعّل فرض الفحص في قسم "فحص التطبيق" ضمن وحدة تحكّم Firebase.

مراقبة المقاييس

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

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

تفعيل ميزة فرض فحص التطبيقات

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

استخدام أداة "فحص التطبيقات" في بيئات تصحيح الأخطاء

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

راجِع مقالة استخدام App Check مع مقدّم خدمة تصحيح الأخطاء.