Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

התחל להשתמש ב-App Check עם ספק מותאם אישית בפלטפורמות Apple, התחל להשתמש ב-App Check עם ספק מותאם אישית בפלטפורמות של Apple

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

דף זה מראה לך כיצד להפעיל App Check באפליקציית Apple, באמצעות ספק ה- App Check המותאם אישית שלך . כאשר אתה מפעיל App Check, אתה עוזר להבטיח שרק האפליקציה שלך יכולה לגשת למשאבי Firebase של הפרויקט שלך.

אם אתה רוצה להשתמש ב-App Check עם הספקים המובנים, עיין במסמכים של App Check with App Attest ו- App Check with DeviceCheck .

לפני שאתה מתחיל

1. הוסף את ספריית App Check לאפליקציה שלך

  1. הוסף את התלות עבור App Check ל- Podfile של הפרויקט שלך:

    pod 'FirebaseAppCheck'

    לחלופין, אתה יכול להשתמש ב- Swift Package Manager במקום זאת.

    כמו כן, ודא שאתה משתמש בגרסה העדכנית ביותר של כל ספריות לקוח שירות Firebase שאתה תלוי בהן.

  2. הפעל את pod install ופתח את קובץ ה-. .xcworkspace שנוצר.

2. יישם את הפרוטוקולים של App Check

ראשית, עליך ליצור מחלקות המיישמות את הפרוטוקולים AppCheckProvider ו- AppCheckProviderFactory .

AppCheckProvider שלך חייבת להיות getToken(completion:) , אשר אוספת את כל המידע שספק ה-App Check המותאם אישית שלך דורש כהוכחה לאותנטיות, ושולחת אותו לשירות רכישת האסימון שלך בתמורה לאסימון App Check. ה-App Check SDK מטפל בשמירה במטמון של אסימון, אז קבל תמיד אסימון חדש בהטמעת getToken(completion:) שלך.

מָהִיר

class YourCustomAppCheckProvider: NSObject, AppCheckProvider {
    var app: FirebaseApp

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

    func getToken(completion handler: @escaping (AppCheckToken?, Error?) -> Void) {
        DispatchQueue.main.async {
            // Logic to exchange proof of authenticity for an App Check token.
            // ...

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

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

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 שלך:

מָהִיר

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. אתחול App Check

הוסף את קוד האתחול הבא לנציג האפליקציה או לאתחול האפליקציה שלך:

מָהִיר

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

FirebaseApp.configure()

Objective-C

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

[FIRApp configure];

הצעדים הבאים

לאחר התקנת ספריית App Check באפליקציה שלך, התחל להפיץ את האפליקציה המעודכנת למשתמשים שלך.

אפליקציית הלקוח המעודכנת תתחיל לשלוח אסימוני App Check יחד עם כל בקשה שהיא תגיש ל-Firebase, אך מוצרי Firebase לא ידרשו שהאסימונים יהיו תקפים עד שתפעיל אכיפה בקטע App Check של מסוף Firebase.

עקוב אחר מדדים ואפשר אכיפה

עם זאת, לפני שתפעיל אכיפה, עליך לוודא כי פעולה זו לא תפריע למשתמשים הלגיטימיים הקיימים שלך. מצד שני, אם אתה רואה שימוש חשוד במשאבי האפליקציה שלך, אולי תרצה לאפשר אכיפה מוקדם יותר.

כדי לעזור בקבלת החלטה זו, תוכל להסתכל על מדדי App Check עבור השירותים שבהם אתה משתמש:

אפשר אכיפת בדיקת אפליקציות

כשתבין כיצד בדיקת אפליקציות תשפיע על המשתמשים שלך ואתה מוכן להמשיך, תוכל להפעיל את אכיפת בדיקת האפליקציה:

השתמש ב-App Check בסביבות ניפוי באגים

אם, לאחר שרשמתם את האפליקציה שלכם ל-App Check, ברצונכם להפעיל את האפליקציה שלכם בסביבה שבדרך כלל לא תסווג אותה כתקינה, כגון סימולטור במהלך הפיתוח, או מסביבת אינטגרציה מתמשכת (CI), תוכלו צור בניית באגים של האפליקציה שלך המשתמשת בספק ניפוי באגים של App Check במקום בספק אישור אמיתי.

ראה בדיקת שימוש באפליקציה עם ספק ניפוי הבאגים בפלטפורמות של Apple .