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 Remote Config

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

เพิ่ม Remote Config ให้กับแอพของคุณ

  1. ติดตั้ง Firebase SDK สำหรับ iOS

  2. สร้าง singleton Remote Config object ตามที่แสดงในตัวอย่างต่อไปนี้:

    Swift

    remoteConfig = RemoteConfig.remoteConfig()
    let settings = RemoteConfigSettings()
    settings.minimumFetchInterval = 0
    remoteConfig.configSettings = settings

    วัตถุประสงค์-C

    self.remoteConfig = [FIRRemoteConfig remoteConfig];
    FIRRemoteConfigSettings *remoteConfigSettings = [[FIRRemoteConfigSettings alloc] init];
    remoteConfigSettings.minimumFetchInterval = 0;
    self.remoteConfig.configSettings = remoteConfigSettings;

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

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

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

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

  1. กำหนดชุดของชื่อพารามิเตอร์และค่าพารามิเตอร์เริ่มต้นใช้ NSDictionary วัตถุหรือ ไฟล์ plist
  2. เพิ่มค่าเหล่านี้เป็นระยะไกลการกำหนดค่าการใช้วัตถุ setDefaults: ตัวอย่างต่อไปนี้ตั้งค่าเริ่มต้นในแอปจากไฟล์ plist:

Swift

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

วัตถุประสงค์-C

[self.remoteConfig setDefaultsFromPlistFileName:@"RemoteConfigDefaults"];

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

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

ตั้งค่าพารามิเตอร์

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

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

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

สามารถดึงข้อมูลค่าพารามิเตอร์จากระยะไกล Config โทร fetchWithCompletionHandler: หรือ fetchWithExpirationDuration:completionHandler: วิธีการ ค่าใดๆ ที่คุณตั้งค่าไว้ในแบ็กเอนด์จะถูกดึงข้อมูลและแคชในออบเจ็กต์ Remote Config

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

ตัวอย่างนี้เรียกค่าจากระยะไกล Config แบ็กเอนด์ (ไม่แคค่า) และเรียกร้อง activateWithCompletionHandler: ที่จะทำให้พวกเขามีให้ app:

Swift

remoteConfig.fetch { (status, error) -> Void in
  if status == .success {
    print("Config fetched!")
    self.remoteConfig.activate { changed, error in
      // ...
    }
  } else {
    print("Config not fetched")
    print("Error: \(error?.localizedDescription ?? "No error available.")")
  }
  self.displayWelcome()
}

วัตถุประสงค์-C

[self.remoteConfig fetchWithCompletionHandler:^(FIRRemoteConfigFetchStatus status, NSError *error) {
    if (status == FIRRemoteConfigFetchStatusSuccess) {
        NSLog(@"Config fetched!");
      [self.remoteConfig activateWithCompletion:^(BOOL changed, NSError * _Nullable error) {
        // ...
      }];
    } else {
        NSLog(@"Config not fetched");
        NSLog(@"Error %@", error.localizedDescription);
    }
    [self displayWelcome];
}];

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

การควบคุมปริมาณ

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

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

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

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

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

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