Google is committed to advancing racial equity for Black communities. See how.
Trang này được dịch bởi Cloud Translation API.
Switch to English

Bắt đầu với Firebase Remote Config trên iOS

Bạn có thể sử dụng Firebase Remote Config để xác định tham số trong ứng dụng của mình và cập nhật giá trị của chúng trên đám mây, cho phép bạn sửa đổi giao diện và hành vi của ứng dụng mà không cần phân phối cập nhật ứng dụng.

Hướng dẫn này hướng dẫn bạn qua các bước để bắt đầu và cung cấp một số mã mẫu, tất cả đều có sẵn để sao chép hoặc tải xuống từ kho lưu trữ firebase / quickstart-ios GitHub.

Thêm cấu hình từ xa vào ứng dụng của bạn

  1. Cài đặt SDK Firebase cho iOS.

  2. Tạo đối tượng Cấu hình từ xa singleton, như trong ví dụ sau:

    Nhanh

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

    Mục tiêu-C

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

Đối tượng này được sử dụng để lưu trữ các giá trị tham số mặc định trong ứng dụng, tìm nạp các giá trị tham số được cập nhật từ phụ trợ Cấu hình từ xa và kiểm soát khi các giá trị tìm nạp được cung cấp cho ứng dụng của bạn.

Trong quá trình phát triển, nên đặt khoảng thời gian tìm nạp tối thiểu tương đối thấp. Xem Throttling để biết thêm thông tin.

Đặt giá trị tham số mặc định trong ứng dụng

Bạn có thể đặt các giá trị tham số mặc định trong ứng dụng trong đối tượng Cấu hình từ xa, để ứng dụng của bạn hoạt động như dự định trước khi kết nối với phụ trợ Cấu hình từ xa và để các giá trị mặc định khả dụng nếu không có giá trị nào được đặt trong phụ trợ.

  1. Xác định một tập hợp các tên tham số và các giá trị tham số mặc định bằng cách sử dụng đối tượng NSDadata hoặc tệp plist .
  2. Thêm các giá trị này vào đối tượng Cấu hình từ xa bằng cách sử dụng setDefaults : . Ví dụ sau đây đặt các giá trị mặc định trong ứng dụng từ tệp plist :

Nhanh

remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

Mục tiêu-C

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

Nhận các giá trị tham số để sử dụng trong ứng dụng của bạn

Bây giờ bạn có thể nhận các giá trị tham số từ đối tượng Cấu hình từ xa. Nếu sau này bạn đặt giá trị trong phụ trợ Cấu hình từ xa, hãy tìm nạp chúng, sau đó kích hoạt chúng, những giá trị đó có sẵn cho ứng dụng của bạn. Mặt khác, bạn nhận được các giá trị tham số trong ứng dụng được định cấu hình bằng setDefaults : . Để có được các giá trị này, hãy gọi phương thức configValueForKey: cung cấp khóa tham số làm đối số.

Đặt giá trị tham số

Sử dụng bảng điều khiển Firebase hoặc API phụ trợ cấu hình từ xa , bạn có thể tạo các giá trị mặc định phụ trợ mới ghi đè các giá trị trong ứng dụng theo logic điều kiện hoặc mục tiêu người dùng mong muốn của bạn. Phần này hướng dẫn bạn qua các bước của bảng điều khiển Firebase để tạo các giá trị này.

  1. Trong bảng điều khiển Firebase , mở dự án của bạn.
  2. Chọn Cấu hình từ xa từ menu để xem bảng điều khiển Cấu hình từ xa.
  3. Xác định các tham số có cùng tên với các tham số mà bạn đã xác định trong ứng dụng của mình. Đối với mỗi tham số, bạn có thể đặt giá trị mặc định (cuối cùng sẽ ghi đè giá trị mặc định trong ứng dụng) và bạn cũng có thể đặt giá trị có điều kiện. Để tìm hiểu thêm, xem Thông số và Điều kiện cấu hình từ xa .

Tìm nạp và kích hoạt giá trị

Để tìm nạp các giá trị tham số từ Remote Config, hãy gọi phương thức fetchWithCompletionHandler: hoặc fetchWithExpirstDuration: xongHandler : . Bất kỳ giá trị nào bạn đặt trên phụ trợ đều được tìm nạp và lưu vào bộ đệm trong đối tượng Cấu hình từ xa.

Đối với các trường hợp bạn muốn tìm nạp và kích hoạt các giá trị trong một cuộc gọi, hãy sử dụng fetchAndActivateWithCompletionHandler: .

Ví dụ này tìm nạp các giá trị từ phụ trợ Cấu hình từ xa (không phải giá trị được lưu trong bộ nhớ cache) và gọi activateWithCompletionHandler: để cung cấp chúng cho ứng dụng:

Nhanh

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

Mục tiêu-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];
}];

Vì các giá trị tham số được cập nhật này ảnh hưởng đến hành vi và giao diện của ứng dụng của bạn, bạn nên kích hoạt các giá trị được tìm nạp tại thời điểm đảm bảo trải nghiệm mượt mà cho người dùng của bạn, chẳng hạn như lần sau khi người dùng mở ứng dụng của bạn. Xem các chiến lược tải cấu hình từ xa để biết thêm thông tin và ví dụ.

Điều tiết

Nếu một ứng dụng tìm nạp quá nhiều lần trong một khoảng thời gian ngắn, các cuộc gọi tìm nạp sẽ được điều chỉnh và SDK trả về FIRRemoteConfigFetchStatusThrottled . Trước SDK phiên bản 6.3.0, giới hạn là 5 yêu cầu tìm nạp trong cửa sổ 60 phút (phiên bản mới hơn có giới hạn cho phép hơn).

Trong quá trình phát triển ứng dụng, bạn có thể muốn làm mới bộ đệm rất thường xuyên (nhiều lần mỗi giờ) để cho phép bạn lặp lại nhanh chóng khi bạn phát triển và kiểm tra ứng dụng của mình. Để phù hợp với việc lặp lại nhanh chóng trong một dự án có nhiều nhà phát triển, bạn có thể tạm thời thêm FIRRemoteConfigSettings tính FIRRemoteConfigSettings với khoảng thời gian tìm nạp tối thiểu thấp ( MinimumFetchInterval ) trong ứng dụng của bạn.

Khoảng thời gian tìm nạp sản xuất mặc định và được đề xuất cho Remote Config là 12 giờ, điều đó có nghĩa là các cấu hình sẽ không được tìm nạp từ phụ trợ nhiều hơn một lần trong cửa sổ 12 giờ, bất kể có bao nhiêu cuộc gọi tìm nạp thực sự được thực hiện. Cụ thể, khoảng thời gian tìm nạp tối thiểu được xác định theo thứ tự sau:

  1. Tham số trong fetch(long)
  2. Tham số trong FIRRemoteConfigSettings.MinimumFetchInterval
  3. Giá trị mặc định là 12 giờ

Bước tiếp theo

Nếu bạn chưa có, hãy khám phá các trường hợp sử dụng Cấu hình từ xa và xem qua một số khái niệm chính và tài liệu chiến lược nâng cao, bao gồm: