התחל להשתמש ב-App Check באפליקציות Flutter

דף זה מראה לך כיצד להפעיל בדיקת אפליקציות באפליקציית Flutter, באמצעות ספקי ברירת המחדל: Play Integrity ב-Android, Device Check בפלטפורמות של Apple ו-reCAPTCHA v3 באינטרנט. כאשר אתה מפעיל App Check, אתה עוזר להבטיח שרק האפליקציה שלך יכולה לגשת למשאבי Firebase של הפרויקט שלך. ראה סקירה כללית של תכונה זו.

1. הגדר את פרויקט Firebase שלך

  1. התקן ואתחל את FlutterFire אם עדיין לא עשית זאת.

  2. רשום את האפליקציות שלך כדי להשתמש ב-App Check עם ספקי Play שלמות, Device Check ו-reCAPTCHA בקטע Project Settings > App Check של מסוף Firebase.

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

  3. אופציונלי : בהגדרות רישום האפליקציה, הגדר זמן מותאם אישית עד לחיות (TTL) עבור אסימוני App Check שהונפקו על ידי הספק. אתה יכול להגדיר את ה-TTL לכל ערך בין 30 דקות ל-7 ימים. בעת שינוי ערך זה, שים לב להפרעות הבאות:

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

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

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

  1. מהשורש של פרויקט Flutter שלך, הפעל את הפקודה הבאה כדי להתקין את הפלאגין:

    flutter pub add firebase_app_check
    
  2. לאחר השלמתו, בנה מחדש את אפליקציית Flutter שלך:

    flutter run
    

3. אתחול App Check

הוסף את קוד האתחול הבא לאפליקציה שלך כך שהיא תפעל לפני שאתה משתמש בשירותי Firebase כגון Storage, אך לאחר קריאת Firebase.initializeApp() ;

import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';

// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate(
    // You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
    // argument for `webProvider`
    webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
    // Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
    // your preferred provider. Choose from:
    // 1. Debug provider
    // 2. Safety Net provider
    // 3. Play Integrity provider
    androidProvider: AndroidProvider.debug,
    // Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
        // your preferred provider. Choose from:
        // 1. Debug provider
        // 2. Device Check provider
        // 3. App Attest provider
        // 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
    appleProvider: AppleProvider.appAttest,
  );
  runApp(App());
}

הצעדים הבאים

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

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

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

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

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

הפעל אכיפת בדיקת אפליקציות

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

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

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

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