אם, לאחר שרשמתם את האפליקציה שלכם ל-App Check, ברצונכם להפעיל את האפליקציה שלכם בסביבה שבדרך כלל לא תסווג אותה כתקינה, כגון אמולטור במהלך הפיתוח, או מסביבת אינטגרציה מתמשכת (CI), תוכלו צור בניית באגים של האפליקציה שלך המשתמשת בספק ניפוי באגים של App Check במקום בספק אישור אמיתי.
השתמש בספק ניפוי הבאגים באמולטור
כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת האפליקציה שלך באמולטור באופן אינטראקטיבי (במהלך פיתוח, למשל), בצע את הפעולות הבאות:
בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), הוסף את התלות עבור בדיקת האפליקציה ספרייה עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.0")) // Add the dependencies for the App Check libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug") }
באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM
אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Add the dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug:17.1.2") }
בבניית ניפוי הבאגים, הגדר את App Check לשימוש במפעל של ספק ניפוי הבאגים:
Kotlin+KTX
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( DebugAppCheckProviderFactory.getInstance());
הפעל את האפליקציה והפעל קריאה לשירות אחורי של Firebase. אסימון ניפוי באגים מקומי יירשם כאשר ה-SDK ינסה לשלוח בקשה ל-backend. לדוגמה:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
בקטע בדיקת אפליקציות של מסוף Firebase, בחר נהל אסימוני ניפוי באגים מתפריט ההצפה של האפליקציה שלך. לאחר מכן, רשום את אסימון ניפוי הבאגים שהתחברת בשלב הקודם.
לאחר שתרשום את האסימון, שירותי הקצה האחורי של Firebase יקבלו אותו כתקף.
מכיוון שהאסימון הזה מאפשר גישה למשאבי Firebase שלך ללא מכשיר חוקי, חיוני לשמור אותו פרטי. אל תחייב אותו למאגר ציבורי, ואם אסימון רשום נפגע אי פעם, בטל אותו מיד במסוף Firebase.
השתמש בספק ניפוי הבאגים לבדיקת יחידות בסביבת CI
כדי להשתמש בספק ניפוי הבאגים לבדיקת יחידות בסביבת אינטגרציה מתמשכת (CI), בצע את הפעולות הבאות:
בקטע בדיקת אפליקציות של מסוף Firebase, בחר נהל אסימוני ניפוי באגים מתפריט ההצפה של האפליקציה שלך. לאחר מכן, צור אסימון ניפוי באגים חדש. תצטרך את האסימון בשלב הבא.
מכיוון שהאסימון הזה מאפשר גישה למשאבי Firebase שלך ללא מכשיר חוקי, חיוני לשמור אותו פרטי. אל תחייב אותו למאגר ציבורי, ואם אסימון רשום נפגע אי פעם, בטל אותו מיד במסוף Firebase.
הוסף את אסימון ניפוי הבאגים שיצרת זה עתה למאגר המפתחות המאובטח של מערכת ה-CI שלך (לדוגמה, הסודות המוצפנים של GitHub Actions או המשתנים המוצפנים של Travis CI).
במידת הצורך, הגדר את מערכת ה-CI שלך כדי להפוך את אסימון ניפוי הבאגים שלך לזמין בתוך סביבת ה-CI כמשתנה סביבה. תן שם למשתנה כמו
APP_CHECK_DEBUG_TOKEN_FROM_CI
.בקובץ Gradle של המודול (ברמת האפליקציה) (בדרך כלל
<project>/<app-module>/build.gradle.kts
או<project>/<app-module>/build.gradle
), הוסף את התלות עבור בדיקת האפליקציה ספרייה עבור אנדרואיד. אנו ממליצים להשתמש ב- Firebase Android BoM כדי לשלוט בגירסאות של הספרייה.Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.0")) // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug") }
באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM
אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug:17.1.2") }
Java
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:32.8.0")) // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug") }
באמצעות Firebase Android BoM , האפליקציה שלך תמיד תשתמש בגרסאות תואמות של ספריות Firebase Android.
מחפש מודול ספרייה ספציפי לקוטלין? החל מאוקטובר 2023 (Firebase BoM 32.5.0) , מפתחי Kotlin ו-Java יכולים להיות תלויים במודול הספרייה הראשי (לפרטים, עיין בשאלות הנפוצות לגבי יוזמה זו ).(אלטרנטיבי) הוסף תלות בספריית Firebase מבלי להשתמש ב-BoM
אם תבחר שלא להשתמש ב-Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.
שים לב שאם אתה משתמש במספר ספריות Firebase באפליקציה שלך, אנו ממליצים בחום להשתמש ב-BoM לניהול גרסאות ספרייה, מה שמבטיח שכל הגרסאות תואמות.
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-debug:17.1.2") }
הוסף את הדברים הבאים לתצורה של גרסת בניית ה-CI שלך:
testInstrumentationRunnerArguments["firebaseAppCheckDebugSecret"] = System.getenv("APP_CHECK_DEBUG_TOKEN_FROM_CI") ?: ""
בשיעורי המבחן שלך, השתמש ב-
DebugAppCheckTestHelper
כדי לעטוף כל קוד שצריך אסימון App Check:Kotlin+KTX
@RunWith(AndroidJunit4::class) class MyTests { private val debugAppCheckTestHelper = DebugAppCheckTestHelper.fromInstrumentationArgs() @Test fun testWithDefaultApp() { debugAppCheckTestHelper.withDebugProvider { // Test code that requires a debug AppCheckToken. } } @Test fun testWithNonDefaultApp() { debugAppCheckTestHelper.withDebugProvider( FirebaseApp.getInstance("nonDefaultApp") ) { // Test code that requires a debug AppCheckToken. } } }
Java
@RunWith(AndroidJunit4.class) public class YourTests { private final DebugAppCheckTestHelper debugAppCheckTestHelper = DebugAppCheckTestHelper.fromInstrumentationArgs(); @Test public void testWithDefaultApp() { debugAppCheckTestHelper.withDebugProvider(() -> { // Test code that requires a debug AppCheckToken. }); } @Test public void testWithNonDefaultApp() { debugAppCheckTestHelper.withDebugProvider( FirebaseApp.getInstance("nonDefaultApp"), () -> { // Test code that requires a debug AppCheckToken. }); } }
כאשר האפליקציה שלך פועלת בסביבת CI, שירותי הקצה האחורי של Firebase יקבלו את האסימון שהיא שולחת כתקף.