Google is committed to advancing racial equity for Black communities. See how.
หน้านี้ได้รับการแปลโดย Cloud Translation API
Switch to English

เริ่มต้นด้วย Firebase Remote Config บน Android

คุณสามารถใช้ Firebase Remote Config เพื่อกำหนดพารามิเตอร์ในแอปของคุณและอัปเดตค่าของพวกเขาในคลาวด์ช่วยให้คุณสามารถปรับเปลี่ยนลักษณะที่ปรากฏและลักษณะการทำงานของแอพโดยไม่ต้องกระจายการอัปเดตแอป คู่มือนี้จะอธิบายขั้นตอนต่างๆในการเริ่มต้นและให้โค้ดตัวอย่างซึ่งทั้งหมดนี้มีให้สำหรับการโคลนหรือดาวน์โหลดจาก ที่ เก็บ GitHub firebase / quickstart-android

เพิ่ม Firebase และ Remote Config SDK ลงในแอปของคุณ

  1. หากคุณยังไม่ได้ เพิ่ม Firebase ให้กับโครงการ Android ของคุณ

  2. สำหรับการกำหนดค่าระยะไกล Google Analytics จำเป็นสำหรับการ กำหนดเป้าหมายตามเงื่อนไขของอินสแตนซ์แอป ไปยังคุณสมบัติของผู้ใช้ผู้ชมและการคาดการณ์ของ Firebase ตรวจสอบให้แน่ใจว่าคุณได้ เปิดใช้งาน Google Analytics ในโครงการของคุณ

  3. เพิ่มการพึ่งพาสำหรับไลบรารี Remote Config Android ลงในไฟล์โมดูล Gradle (ระดับแอป) ของคุณ (มักจะเป็น app/build.gradle )

    นอกจากนี้ในการตั้งค่า Analytics คุณต้องเพิ่ม Firebase SDK สำหรับ Google Analytics ลงในแอปของคุณ

    ชวา

     implementation 'com.google.firebase:firebase-config:19.2.0'
    implementation 'com.google.firebase:firebase-analytics:17.4.4'
     

    Kotlin + KTX

     implementation 'com.google.firebase:firebase-config-ktx:19.2.0'
    implementation 'com.google.firebase:firebase-analytics-ktx:17.4.4'
     

รับวัตถุการกำหนดค่าระยะไกลแบบซิงเกิลตัน

รับอินสแตนซ์วัตถุการกำหนดค่าระยะไกลและกำหนดช่วงเวลาการดึงข้อมูลขั้นต่ำเพื่อให้มีการรีเฟรชบ่อยครั้ง:

ชวา

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

Kotlin + KTX

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

วัตถุ singleton ใช้เพื่อจัดเก็บค่าพารามิเตอร์เริ่มต้นในแอป, ดึงค่าพารามิเตอร์ที่อัปเดตจากแบ็กเอนด์และควบคุมเมื่อแอพของคุณมีการเรียกใช้ค่าที่ดึงมา

ในระหว่างการพัฒนาขอแนะนำให้กำหนดช่วงเวลาการดึงข้อมูลขั้นต่ำที่ค่อนข้างต่ำ ดูการ ควบคุมปริมาณ สำหรับข้อมูลเพิ่มเติม

ตั้งค่าพารามิเตอร์เริ่มต้นในแอป

คุณสามารถตั้งค่าพารามิเตอร์เริ่มต้นในแอปในวัตถุ Remote Config เพื่อให้แอปของคุณทำงานตามที่ตั้งใจก่อนที่จะเชื่อมต่อกับแบ็กเอนด์ Remote Config และเพื่อให้ค่าเริ่มต้นพร้อมใช้งานหากไม่มีการตั้งค่าในแบ็กเอนด์

  1. กำหนดชุดชื่อพารามิเตอร์และค่าพารามิเตอร์เริ่มต้นโดยใช้วัตถุ แผนที่ หรือ ไฟล์ทรัพยากร XML ที่ เก็บไว้ในโฟลเดอร์ res/xml ของแอปของคุณ แอปตัวอย่างการเริ่มต้นอย่างรวดเร็วของการกำหนดค่าระยะไกลใช้ ไฟล์ XML เพื่อกำหนดชื่อและค่าพารามิเตอร์เริ่มต้น
  2. เพิ่มค่าเหล่านี้ไปยังวัตถุ Remote Config โดยใช้ setDefaultsAsync (int) ดังที่แสดง:

ชวา

mFirebaseRemoteConfig.setDefaultsAsync(R.xml.remote_config_defaults);

Kotlin + KTX

remoteConfig.setDefaultsAsync(R.xml.remote_config_defaults)

รับค่าพารามิเตอร์ที่จะใช้ในแอปของคุณ

ตอนนี้คุณสามารถรับค่าพารามิเตอร์จากวัตถุ Remote Config หากคุณตั้งค่าในแบ็กเอนด์ดึงค่าจากนั้นเปิดใช้งานค่าเหล่านั้นจะพร้อมใช้งานสำหรับแอปของคุณ มิฉะนั้นคุณจะได้รับการกำหนดค่าพารามิเตอร์ในแอปโดยใช้ setDefaultsAsync (int) หากต้องการรับค่าเหล่านี้ให้เรียกใช้เมธอดที่แสดงด้านล่างซึ่งจับคู่กับประเภทข้อมูลที่แอปของคุณคาดหวังโดยให้คีย์พารามิเตอร์เป็นอาร์กิวเมนต์:

ตั้งค่าพารามิเตอร์ในแบ็กเอนด์ Remote Config

เมื่อใช้คอนโซล Firebase หรือ API แบ็กเอนด์ การกำหนดค่า ระยะไกล คุณสามารถสร้างค่าเริ่มต้นฝั่งเซิร์ฟเวอร์ใหม่ที่แทนที่ค่าในแอปตามตรรกะเงื่อนไขที่คุณต้องการหรือการกำหนดเป้าหมายผู้ใช้ ส่วนนี้จะแนะนำคุณเกี่ยวกับขั้นตอนคอนโซล Firebase เพื่อสร้างค่าเหล่านี้

  1. ใน คอนโซล Firebase ให้เปิดโครงการของคุณ
  2. เลือก Remote Config จากเมนูเพื่อดูแดชบอร์ด Remote Config
  3. กำหนดพารามิเตอร์ด้วยชื่อเดียวกับพารามิเตอร์ที่คุณกำหนดไว้ในแอพของคุณ สำหรับแต่ละพารามิเตอร์คุณสามารถตั้งค่าเริ่มต้น (ซึ่งในที่สุดจะแทนที่ค่าเริ่มต้นในแอพที่สอดคล้องกัน) และคุณสามารถตั้งค่าตามเงื่อนไขได้ หากต้องการเรียนรู้เพิ่มเติมดูที่ พารามิเตอร์และเงื่อนไขการ กำหนดค่า ระยะไกล

ดึงและเปิดใช้งานค่า

  1. ในการดึงค่าพารามิเตอร์จากแบ็กเอนด์ Remote Config ให้เรียกใช้เมธอด fetch () ค่าใด ๆ ที่คุณตั้งไว้ในแบ็กเอนด์จะถูกดึงและเก็บไว้ในวัตถุการกำหนดค่าระยะไกล
  2. ในการทำให้ค่าพารามิเตอร์ที่ดึงมาพร้อมใช้งานในแอปของคุณให้เรียก ใช้ เมธอด enable ()

    สำหรับกรณีที่คุณต้องการดึงข้อมูลและเปิดใช้งานค่าในการโทรครั้งเดียวคุณสามารถใช้ fetchAndActivate() เพื่อดึงค่าจากแบ็กเอนด์ Remote 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();
                }
            });

    Kotlin + 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()
            }

เนื่องจากค่าพารามิเตอร์ที่อัปเดตเหล่านี้ส่งผลต่อพฤติกรรมและลักษณะที่ปรากฏของแอปคุณจึงควรเปิดใช้งานค่าที่ดึงมาในแต่ละครั้งเพื่อให้ผู้ใช้ของคุณได้รับประสบการณ์ที่ราบรื่นเช่นในครั้งต่อไปที่ผู้ใช้เปิดแอปของคุณ ดู กลยุทธ์การโหลด Remote Config สำหรับข้อมูลและตัวอย่างเพิ่มเติม

การอุด

หากแอปดึงข้อมูลหลายครั้งเกินไปในช่วงเวลาสั้น ๆ การเรียกที่ดึงข้อมูลจะถูกควบคุมปริมาณและ SDK จะส่งคืน FirebaseRemoteConfigFetchThrottledException ก่อน SDK เวอร์ชัน 17.0.0 ขีด จำกัด คือ 5 คำขอการดึงข้อมูลในหน้าต่าง 60 นาที (เวอร์ชันที่ใหม่กว่ามีข้อ จำกัด ที่อนุญาตมากขึ้น)

ในระหว่างการพัฒนาแอพคุณอาจต้องการดึงข้อมูลและเปิดใช้งานการกำหนดค่าบ่อยครั้งมาก (หลายครั้งต่อชั่วโมง) เพื่อให้คุณทำซ้ำได้อย่างรวดเร็วเมื่อคุณพัฒนาและทดสอบแอพของคุณ เพื่อรองรับการทำซ้ำอย่างรวดเร็วในโปรเจ็กต์ที่มีนักพัฒนาสูงสุด 10 คนคุณสามารถตั้งค่าออบเจ็กต์ FirebaseRemoteConfigSettings ชั่วคราวโดยมีช่วงเวลาการดึงข้อมูลขั้นต่ำที่ต่ำ ( setMinimumFetchIntervalInSeconds ) ในแอปของคุณ

ช่วงเวลาการดึงข้อมูลขั้นต่ำเริ่มต้นสำหรับการกำหนดค่าระยะไกลคือ 12 ชั่วโมงซึ่งหมายความว่าจะไม่มีการดึงข้อมูลการกำหนดค่าจากแบ็กเอนด์มากกว่าหนึ่งครั้งในหน้าต่าง 12 ชั่วโมงไม่ว่าจะมีการเรียกดึงข้อมูลจริงกี่ครั้งก็ตาม โดยเฉพาะอย่างยิ่งช่วงการดึงข้อมูลขั้นต่ำจะถูกกำหนดตามลำดับต่อไปนี้:

  1. พารามิเตอร์ในการ fetch(long)
  2. พารามิเตอร์ใน FirebaseRemoteConfigSettings.setMinimumFetchIntervalInSeconds(long)
  3. ค่าเริ่มต้น 12 ชั่วโมง

ในการตั้งค่าช่วงการดึงข้อมูลขั้นต่ำเป็นค่าที่กำหนดเองให้ใช้ FirebaseRemoteConfigSettings.Builder.setMinimumFetchIntervalInSeconds(long)

ขั้นตอนถัดไป

หากคุณยังไม่ได้ดำเนินการให้สำรวจ กรณีการใช้งาน การกำหนดค่าระยะไกลและดูแนวคิดหลักบางส่วนและเอกสารเกี่ยวกับกลยุทธ์ขั้นสูง ได้แก่ :