Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

התחל בעבודה עם תצורה מרחוק של Firebase

תוכל להשתמש ב- Firebase Remote Config כדי להגדיר פרמטרים באפליקציה שלך ולעדכן את ערכיהם בענן, ומאפשר לך לשנות את המראה והתנהגות האפליקציה שלך מבלי להפיץ עדכון אפליקציה. מדריך זה יסביר לך דרך שלבים לתחילת העבודה ומספק בקוד לדוגמה, כל אחד מהם זמין לשבט או להורדה firebase / QuickStart-אנדרואיד GitHub מאגר.

הוסף את Firebase ואת ה- SDK להגדרות מרחוק לאפליקציה שלך

  1. אם לא עשית זאת עדיין, להוסיף Firebase לפרויקט Android שלך .

  2. עבור Config מרחוק, Google Analytics נדרש עבור המיקוד המותנה של מקרי אפליקציה כדי מאפייני משתמש, קהלים, ותחזיות Firebase. ודא שאתה מאפשר ל- Google Analytics בפרויקט שלך.

  3. באמצעות BOM אנדרואיד Firebase , להכריז על התלות של הספרייה אנדרואיד Config מרחוק במודול שלך (ברמת האפליקציה) קובץ Gradle (בדרך כלל app/build.gradle ).

    כמו כן, כחלק מהגדרת Analytics, עליך להוסיף לאפליקציה שלך את ה- SDK של Firebase עבור Google Analytics.

    ג'אווה

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.2')
    
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config'
        implementation 'com.google.firebase:firebase-analytics'
    }
    

    באמצעות Firebase אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד Firebase.

    (אלטרנטיבי) הצהר תלות הספרייה Firebase ללא שימוש BOM

    אם תבחר לא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש בספריות Firebase מרובים באפליקציה, אנו ממליצים בחום להשתמש בתמונה BOM לנהל גרסאות הספרייה, אשר מבטיח כי כל הגרסאות תואמות.

    dependencies {
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config:21.0.1'
        implementation 'com.google.firebase:firebase-analytics:19.0.2'
    }
    

    קוטלין+KTX

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.2')
    
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When using the BoM, you don't specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx'
        implementation 'com.google.firebase:firebase-analytics-ktx'
    }
    

    באמצעות Firebase אנדרואיד BOM , האפליקציה שלך תמיד ישתמשו גירסאות תואמות של ספריות אנדרואיד Firebase.

    (אלטרנטיבי) הצהר תלות הספרייה Firebase ללא שימוש BOM

    אם תבחר לא להשתמש ב- Firebase BoM, עליך לציין כל גרסת ספריית Firebase בשורת התלות שלה.

    שים לב שאם אתה משתמש בספריות Firebase מרובים באפליקציה, אנו ממליצים בחום להשתמש בתמונה BOM לנהל גרסאות הספרייה, אשר מבטיח כי כל הגרסאות תואמות.

    dependencies {
        // Declare the dependencies for the Remote Config and Analytics libraries
        // When NOT using the BoM, you must specify versions in Firebase library dependencies
        implementation 'com.google.firebase:firebase-config-ktx:21.0.1'
        implementation 'com.google.firebase:firebase-analytics-ktx:19.0.2'
    }
    

השג את אובייקט הסינגלטון Config Remote

קבל מופע אובייקט של תצורה מרחוק והגדר את מרווח האחזור המינימלי כדי לאפשר רענון תכוף:

ג'אווה

mFirebaseRemoteConfig = FirebaseRemoteConfig.getInstance();
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
        .setMinimumFetchIntervalInSeconds(3600)
        .build();
mFirebaseRemoteConfig.setConfigSettingsAsync(configSettings);

קוטלין+KTX

remoteConfig = Firebase.remoteConfig
val configSettings = remoteConfigSettings {
    minimumFetchIntervalInSeconds = 3600
}
remoteConfig.setConfigSettingsAsync(configSettings)

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

במהלך הפיתוח, מומלץ להגדיר מרווח אחזור מינימלי נמוך יחסית. ראה Throttling לקבלת מידע נוסף.

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

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

  1. גדר סט של שמות פרמטר וערכי פרמטר ברירת מחדל באמצעות מפת אובייקט או קובץ משאב XML מאוחסן באפליקצית res/xml תיקייה. את התצורה מרחוק QuickStart שימושי אפליקציה ומדגם קובץ XML להגדיר שמות פרמטר ברירת מחדל וערכים.
  2. להוסיף את הערכים הללו אל האובייקט Config מרחוק באמצעות setDefaultsAsync(int) , כמוצג:

ג'אווה

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

קוטלין+KTX

remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

קבל ערכי פרמטרים לשימוש באפליקציה שלך

כעת תוכל לקבל ערכי פרמטרים מהאובייקט Config Remote. אם אתה מגדיר ערכים בממשק האחורי, אחזר אותם ולאחר מכן הפעל אותם, ערכים אלה זמינים לאפליקציה שלך. אחרת, אתה מקבל את ערכי הפרמטרים בתוך אפליקציה מוגדר באמצעות setDefaultsAsync(int) . כדי לקבל ערכים אלה, התקשר לשיטה המפורטת להלן הממפה לסוג הנתונים הצפוי על ידי האפליקציה שלך, וסיפקה את מפתח הפרמטר כארגומנט:

הגדר ערכי פרמטרים במערך האחורי של Config Remote

שימוש Firebase הקונסולה או APIs backend Config מרחוק , אתה יכול ליצור ערכי ברירת מחדל בצד השרת חדשים לעקוף את ערכי in-app פי היגיון או ההוראות המותנים רצוי מיקוד. חלק זה מתאר את שלבי מסוף Firebase ליצירת ערכים אלה.

  1. בשנות ה קונסולת Firebase , לפתוח את הפרויקט שלך.
  2. בחר מרחוק Config מהתפריט כדי להציג את לוח המחוונים Config מרחוק.
  3. הגדר פרמטרים עם אותם שמות כמו הפרמטרים שהגדרת באפליקציה שלך. עבור כל פרמטר, תוכל להגדיר ערך ברירת מחדל (שבסופו של דבר יעקוף את ערך ברירת המחדל המקביל בתוך האפליקציה), ותוכל גם להגדיר ערכים מותנים. כדי ללמוד עוד, ראה מרחוק פרמטרים Config והגבלות .

אחזר והפעל ערכים

  1. כדי להביא את ערכי הפרמטרים מן backend Config מרחוק, קוראים fetch() שיטה. כל הערכים שאתה מגדיר בממשק האחורי נאספים ומאוחסנים באובייקט Config Remote.
  2. כדי להפוך ערכי פרמטרים נמשכו לרשות האפליקציה שלך, קורא activate() השיטה.

    במקרים שבהם אתה רוצה להביא ולהפעיל הערכים שיחה אחת, אתה יכול להשתמש fetchAndActivate() בקשה להביא ערכים מן backend Config מרחוק ולהפוך אותם לזמינים באפליקציה:

    ג'אווה

    mFirebaseRemoteConfig.fetchAndActivate()
            .addOnCompleteListener(this, new OnCompleteListener<Boolean>() {
                @Override
                public void onComplete(@NonNull Task<Boolean> task) {
                    if (task.isSuccessful()) {
                        boolean updated = task.getResult();
                        Log.d(TAG, "Config params updated: " + updated);
                        Toast.makeText(MainActivity.this, "Fetch and activate succeeded",
                                Toast.LENGTH_SHORT).show();
    
                    } else {
                        Toast.makeText(MainActivity.this, "Fetch failed",
                                Toast.LENGTH_SHORT).show();
                    }
                    displayWelcomeMessage();
                }
            });

    קוטלין+KTX

    remoteConfig.fetchAndActivate()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    val updated = task.result
                    Log.d(TAG, "Config params updated: $updated")
                    Toast.makeText(this, "Fetch and activate succeeded",
                            Toast.LENGTH_SHORT).show()
                } else {
                    Toast.makeText(this, "Fetch failed",
                            Toast.LENGTH_SHORT).show()
                }
                displayWelcomeMessage()
            }

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

חנק

אם אפליקציה מביאה פעמים רבות מדי בתוך פרק זמן קצר, להביא שיחות throttled ואת SDK חוזר FirebaseRemoteConfigFetchThrottledException . לפני גרסת SDK 17.0.0, המגבלה הייתה 5 בקשות אחזור בחלון של 60 דקות (לגרסאות חדשות יש יותר גבולות מתירים).

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

ברירת המחדל של מרווח הבקשות המינימלי עבור Config Remote היא 12 שעות, מה שאומר שקונפיגים לא יישלפו מהקצה האחורי יותר מפעם אחת בחלון של 12 שעות, ללא קשר לכמה שיחות אחזור המתבצעות בפועל. באופן ספציפי, מרווח הבקשות המינימלי נקבע בסדר הבא:

  1. הפרמטר ב fetch(long)
  2. הפרמטר ב FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)
  3. ערך ברירת המחדל של 12 שעות

כדי להגדיר את מינימום מרווח יחזור לערך מותאם אישית, השימוש FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long) .

הצעדים הבאים

אם לא עשית זאת עדיין, לחקור את Remote Config מקרי שימוש , ו תסתכל כמה ממושגי המפתח ותיעוד אסטרטגיות מתקדמים, כולל: