بدء استخدام ميزة "التحقّق من التطبيقات" مع مقدّم خدمة مخصّص على أنظمة Apple الأساسية

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

وإذا كنت تريد استخدام ميزة "فحص التطبيقات" مع مزوّدي الخدمة المضمَّنين، راجِع مستندات ميزة "فحص التطبيق" مع مصادقة التطبيق التحقّق من التطبيقات باستخدام DeviceCheck

قبل البدء

1- إضافة مكتبة فحص التطبيقات إلى تطبيقك

  1. أضِف تبعية ميزة "فحص التطبيقات" إلى Podfile في مشروعك:

    pod 'FirebaseAppCheck'

    يمكنك بدلاً من ذلك استخدام حزمة Swift المدير بدلاً من ذلك.

    احرص أيضًا على استخدام أحدث إصدار من أي خدمة من خدمات Firebase. مكتبات العملاء التي تعتمد عليها.

  2. شغِّل تطبيق "pod install" وافتح ملف ".xcworkspace" الذي تم إنشاؤه.

2- تنفيذ بروتوكولات فحص التطبيقات

عليك أولاً إنشاء صفوف تنفّذ AppCheckProvider AppCheckProviderFactory بروتوكول.

يجب أن يتضمّن الصف AppCheckProvider طريقة getToken(completion:)، وهي جمع أي معلومات يحتاجها مقدم خدمة "فحص التطبيقات" المخصص لإثبات الأصالة، ويُرسلها إلى خدمة الحصول على الرموز المميزة في Exchange برمز مميز للتحقق من التطبيق. تعالج حزمة تطوير البرامج (SDK) لفحص التطبيقات الرمز المميّز التخزين المؤقت، لذا احصل دائمًا على رمز جديد عند تنفيذ getToken(completion:)

Swift

class YourCustomAppCheckProvider: NSObject, AppCheckProvider {
  var app: FirebaseApp

  init(withFirebaseApp app: FirebaseApp) {
    self.app = app
    super.init()
  }

  func getToken() async throws -> AppCheckToken {
    let getTokenTask = Task { () -> AppCheckToken in
      // ...

      // Create AppCheckToken object.
      let exp = Date(timeIntervalSince1970: expirationFromServer)
      let token = AppCheckToken(
        token: tokenFromServer,
        expirationDate: exp
      )

      if Date() > exp {
        throw NSError(domain: "ExampleError", code: 1, userInfo: nil)
      }

      return token
    }

    return try await getTokenTask.value
  }

}

Objective-C

@interface YourCustomAppCheckProvider : NSObject <FIRAppCheckProvider>

@property FIRApp *app;

- (id)initWithApp:(FIRApp *)app;

@end

@implementation YourCustomAppCheckProvider

- (id)initWithApp:app {
    self = [super init];
    if (self) {
        self.app = app;
    }
    return self;
}

- (void)getTokenWithCompletion:(nonnull void (^)(FIRAppCheckToken * _Nullable,
                                                 NSError * _Nullable))handler {
    dispatch_async(dispatch_get_main_queue(), ^{
        // Logic to exchange proof of authenticity for an App Check token.
        // ...

        // Create FIRAppCheckToken object.
        NSTimeInterval exp = expirationFromServer;
        FIRAppCheckToken *token
            = [[FIRAppCheckToken alloc] initWithToken:tokenFromServer
                                       expirationDate:[NSDate dateWithTimeIntervalSince1970:exp]];

        // Pass the token or error to the completion handler.
        handler(token, nil);
    });
}

@end

عليك أيضًا تنفيذ فئة AppCheckProviderFactory لإنشاء مثيلات تنفيذ AppCheckProvider:

Swift

class YourCustomAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return YourCustomAppCheckProvider(withFirebaseApp: app)
  }
}

Objective-C

@interface YourCustomAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourCustomAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(FIRApp *)app {
    return [[YourCustomAppCheckProvider alloc] initWithApp:app];
}

@end

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

أضِف رمز الإعداد التالي إلى مفوِّض التطبيق أو أداة إعداد التطبيق:

Swift

let providerFactory = YourAppCheckProviderFactory()
AppCheck.setAppCheckProviderFactory(providerFactory)

FirebaseApp.configure()

Objective-C

YourAppCheckProviderFactory *providerFactory =
        [[YourAppCheckProviderFactory alloc] init];
[FIRAppCheck setAppCheckProviderFactory:providerFactory];

[FIRApp configure];

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

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

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

مراقبة المقاييس وتفعيل التنفيذ

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

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

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

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

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

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

راجِع استخدام ميزة "فحص التطبيق" مع موفِّر تصحيح الأخطاء على أنظمة Apple الأساسية.