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

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

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

คู่มือนี้จะอธิบายขั้นตอนต่างๆในการเริ่มต้นใช้งานและมีโค้ดตัวอย่างซึ่งทั้งหมดนี้มีให้สำหรับการโคลนหรือดาวน์โหลดจากที่เก็บ firebase / quickstart-ios GitHub

เพิ่มการกำหนดค่าระยะไกลให้กับแอปของคุณ

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

  2. สร้างอ็อบเจ็กต์การกำหนดค่าระยะไกลแบบซิงเกิลตันดังที่แสดงในตัวอย่างต่อไปนี้:

    รวดเร็ว

    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;

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

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

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

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

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

รวดเร็ว

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

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

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

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

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

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

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

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

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

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

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

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

รวดเร็ว

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];
}];

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

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

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

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

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

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

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

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