Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Memulai Firebase Remote Config

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.


Anda dapat menggunakan Firebase Remote Config untuk menentukan parameter di aplikasi Anda dan memperbarui nilainya di cloud, memungkinkan Anda mengubah tampilan dan perilaku aplikasi Anda tanpa mendistribusikan pembaruan aplikasi. Panduan ini memandu Anda melalui langkah-langkah untuk memulai dan memberikan beberapa contoh kode, yang semuanya tersedia untuk digandakan atau diunduh dari repositori firebase/quickstart-ios GitHub.

Langkah 1: Tambahkan Remote Config ke aplikasi Anda

  1. Instal Firebase SDK untuk platform Apple.

  2. Buat objek Remote Config singleton, seperti yang ditunjukkan pada contoh berikut:

    Cepat

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

    Objective-C

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

Objek ini digunakan untuk menyimpan nilai parameter default dalam aplikasi, mengambil nilai parameter yang diperbarui dari backend Remote Config, dan mengontrol kapan nilai yang diambil tersedia untuk aplikasi Anda.

Selama pengembangan, disarankan untuk menyetel interval pengambilan minimum yang relatif rendah. Lihat Pembatasan untuk informasi lebih lanjut.

Langkah 2: Tetapkan nilai parameter default dalam aplikasi

Anda dapat menyetel nilai parameter default dalam aplikasi di objek Remote Config, sehingga aplikasi Anda berperilaku sebagaimana mestinya sebelum terhubung ke backend Remote Config, dan agar nilai default tersedia jika tidak ada yang disetel di backend.

  1. Tetapkan satu set nama parameter, dan nilai parameter default menggunakan objek NSDictionary atau file plist .

    Jika Anda telah mengonfigurasi nilai parameter backend Remote Config, Anda dapat mengunduh file plist yang dihasilkan yang mencakup semua nilai default dan menyimpannya ke proyek Xcode Anda.

    ISTIRAHAT

    curl --compressed -D headers -H "Authorization: Bearer token -X GET https://firebaseremoteconfig.googleapis.com/v1/projects/my-project-id/remoteConfig:downloadDefaults?format=PLIST -o RemoteConfigDefaults.plist
    

    Konsol Firebase

    1. Di tab Parameter , buka Menu , dan pilih Download default values ​​.

    2. Saat diminta, aktifkan .plist for iOS , lalu klik Download file .

  2. Tambahkan nilai ini ke objek Remote Config menggunakan setDefaults: . Contoh berikut menyetel nilai default dalam aplikasi dari file plist:

    Cepat

    remoteConfig.setDefaults(fromPlist: "RemoteConfigDefaults")

    Objective-C

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

Langkah 3: Dapatkan nilai parameter untuk digunakan di aplikasi Anda

Sekarang Anda bisa mendapatkan nilai parameter dari objek Remote Config. Jika nanti Anda menyetel nilai di backend Remote Config, mengambilnya, lalu mengaktifkannya, nilai tersebut akan tersedia untuk aplikasi Anda. Jika tidak, Anda mendapatkan nilai parameter dalam aplikasi yang dikonfigurasi menggunakan setDefaults: . Untuk mendapatkan nilai ini, panggil metode configValueForKey: berikan kunci parameter sebagai argumen.

Langkah 4: Tetapkan nilai parameter

Dengan menggunakan Firebase console atau API backend Remote Config , Anda dapat membuat nilai default backend baru yang menggantikan nilai dalam aplikasi sesuai dengan logika kondisional atau penargetan pengguna yang diinginkan. Bagian ini memandu Anda melalui langkah-langkah Firebase console untuk membuat nilai-nilai ini.

  1. Di konsol Firebase , buka proyek Anda.
  2. Pilih Remote Config dari menu untuk melihat dasbor Remote Config.
  3. Tentukan parameter dengan nama yang sama dengan parameter yang Anda tetapkan di aplikasi Anda. Untuk setiap parameter, Anda dapat menyetel nilai default (yang pada akhirnya akan menggantikan nilai default dalam aplikasi) dan Anda juga dapat menyetel nilai bersyarat. Untuk mempelajari lebih lanjut, lihat Parameter dan Ketentuan Remote Config .

Langkah 5: Ambil dan aktifkan nilai

Untuk mengambil nilai parameter dari Remote Config, panggil metode fetchWithCompletionHandler: atau fetchWithExpirationDuration:completionHandler: Setiap nilai yang Anda atur di backend akan diambil dan di-cache di objek Remote Config.

Untuk kasus di mana Anda ingin mengambil dan mengaktifkan nilai dalam satu panggilan, gunakan fetchAndActivateWithCompletionHandler: .

Contoh ini mengambil nilai dari backend Remote Config (bukan nilai yang di-cache) dan memanggil activateWithCompletionHandler: agar tersedia untuk aplikasi:

Cepat

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

Objective-C

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

Karena nilai parameter yang diperbarui ini memengaruhi perilaku dan tampilan aplikasi Anda, Anda harus mengaktifkan nilai yang diambil pada waktu yang memastikan pengalaman yang lancar bagi pengguna Anda, seperti saat pengguna membuka aplikasi Anda di lain waktu. Lihat strategi pemuatan Remote Config untuk informasi dan contoh selengkapnya.

Pelambatan

Jika aplikasi terlalu sering mengambil dalam jangka waktu singkat, panggilan pengambilan akan dibatasi dan SDK FIRRemoteConfigFetchStatusThrottled . Sebelum SDK versi 6.3.0, batasnya adalah 5 permintaan pengambilan dalam jangka waktu 60 menit (versi yang lebih baru memiliki batas yang lebih permisif).

Selama pengembangan aplikasi, Anda mungkin ingin menyegarkan cache sangat sering (berkali-kali per jam) agar Anda dapat melakukan iterasi dengan cepat saat Anda mengembangkan dan menguji aplikasi. To accommodate rapid iteration on a project with numerous developers, you can temporarily add a FIRRemoteConfigSettings property with a low minimum fetch interval ( MinimumFetchInterval ) in your app.

The default and recommended production fetch interval for Remote Config is 12 hours, which means that configs won't be fetched from the backend more than once in a 12 hour window, regardless of how many fetch calls are actually made. Specifically, the minimum fetch interval is determined in this following order:

  1. The parameter in fetch(long)
  2. The parameter in FIRRemoteConfigSettings.MinimumFetchInterval
  3. The default value of 12 hours

Next steps

If you haven't already, explore the Remote Config use cases , and take a look at some of the key concepts and advanced strategies documentation, including: