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

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

تستخدم ميزة "فحص التطبيقات" ميزة App Attest للتأكّد من أنّ طلبات خدمات Firebase تأتي من تطبيقك الأصلي. لا تستخدِم ميزة "فحص التطبيق" حاليًا App Attest لـ تحليل مخاطر الاحتيال

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

1- إعداد مشروع Firebase

  1. ستحتاج إلى الإصدار 12.5 من Xcode أو الإصدارات الأحدث لاستخدام App Attest.

  2. أضِف منصة Firebase إلى مشروع Apple إذا لم يسبق لك إجراء ذلك. تم ذلك.

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

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

  4. اختياري: في إعدادات تسجيل التطبيق، حدِّد فترة زمنية مخصّصة للانتشار (TTL) لرموز "فحص التطبيق" الصادرة عن موفّر الخدمة. يمكنك ضبط مدة البقاء (TTL) إلى أي قيمة بين 30 دقيقة و7 أيام. عند تغيير هذه القيمة، على دراية بالمفاضلات التالية:

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

    وتمثل مدة البقاء الافتراضية ساعة واحدة معقول بالنسبة لمعظم التطبيقات. يُرجى العلم بأنّه تتم إعادة تحميل مكتبة فحص التطبيقات. في نصف مدة TTL تقريبًا.

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

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

    pod 'FirebaseAppCheck'

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

    التأكّد من استخدام أحدث إصدار من أي حِزم تطوير برامج (SDK) أخرى في Firebase التي تعتمد عليها.

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

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

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

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

عليك إعداد ميزة "فحص التطبيق" قبل استخدام أي منصة أخرى على Firebase. حِزم تطوير البرامج (SDK).

أولاً، اكتب تنفيذ AppCheckProviderFactory. تفاصيل تعتمد عملية التنفيذ على حالة استخدامك

على سبيل المثال، إذا كان لديك مستخدمو الإصدار 14 والإصدارات الأحدث من نظام التشغيل iOS فقط، يمكنك ببساطة إنشاء عناصر "AppAttestProvider":

Swift

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

class YourSimpleAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    return AppAttestProvider(app: app)
  }
}

Objective-C

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

@interface YourSimpleAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourSimpleAppCheckProviderFactory

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

@end

بدلاً من ذلك، يمكنك إنشاء عناصر "AppAttestProvider" على الإصدار 14 من نظام التشغيل iOS والإصدارات الأحدث وحتى الخريف العودة إلى DeviceCheckProvider في الإصدارات السابقة:

Swift

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

class YourAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
    if #available(iOS 14.0, *) {
      return AppAttestProvider(app: app)
    } else {
      return DeviceCheckProvider(app: app)
    }
  }
}

Objective-C

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

@interface YourAppCheckProviderFactory : NSObject <FIRAppCheckProviderFactory>
@end

@implementation YourAppCheckProviderFactory

- (nullable id<FIRAppCheckProvider>)createProviderWithApp:(nonnull FIRApp *)app {
  if (@available(iOS 14.0, *)) {
    return [[FIRAppAttestProvider alloc] initWithApp:app];
  } else {
    return [[FIRDeviceCheckProvider alloc] initWithApp:app];
  }
}

@end

بعد تنفيذ فئة AppCheckProviderFactory، عليك الضبط فحص التطبيقات لاستخدامها:

Swift

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

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

FirebaseApp.configure()

Objective-C

ملاحظة: لا يتوفّر منتج Firebase هذا على أهداف نظام التشغيل WatchOS.

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

[FIRApp configure];

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

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

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

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

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

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

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

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

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

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

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