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

Kirim pesan percobaan ke aplikasi Apple di latar belakang

Untuk memulai FCM, bangun kasus penggunaan yang paling sederhana: mengirimkan pesan notifikasi pengujian dari Notifications Composer ke perangkat pengembangan saat aplikasi berada di latar belakang perangkat. Halaman ini mencantumkan semua langkah untuk mencapainya, mulai dari penyiapan hingga verifikasi — mungkin mencakup langkah-langkah yang telah Anda selesaikan jika Anda telah menyiapkan aplikasi klien Apple untuk FCM.

Tambahkan Firebase ke proyek Apple Anda

Bagian ini mencakup tugas yang mungkin telah Anda selesaikan jika Anda telah mengaktifkan fitur Firebase lainnya untuk aplikasi Anda. Khusus untuk FCM, Anda harus mengunggah kunci autentikasi APN dan mendaftar untuk notifikasi jarak jauh .

Prasyarat

  • Pasang yang berikut ini:

    • Xcode 13.3.1 atau lebih baru
  • Pastikan proyek Anda memenuhi persyaratan berikut:

    • Proyek Anda harus menargetkan versi platform ini atau yang lebih baru:
      • iOS 11
      • macOS 10.13
      • tvOS 12
      • watchOS 6
  • Siapkan perangkat Apple fisik untuk menjalankan aplikasi Anda, dan selesaikan tugas berikut:

    • Dapatkan Kunci Autentikasi Notifikasi Push Apple untuk akun Pengembang Apple Anda.
    • Aktifkan Push Notifications di XCode di bawah App > Capabilities .

Jika Anda belum memiliki proyek Xcode dan hanya ingin mencoba produk Firebase, Anda dapat mendownload salah satu contoh quickstart kami.

Buat proyek Firebase

Sebelum dapat menambahkan Firebase ke aplikasi Apple, Anda perlu membuat proyek Firebase untuk terhubung ke aplikasi Anda. Kunjungi Memahami Proyek Firebase untuk mempelajari lebih lanjut tentang proyek Firebase.

Daftarkan aplikasi Anda dengan Firebase

Untuk menggunakan Firebase di aplikasi Apple, Anda perlu mendaftarkan aplikasi ke proyek Firebase. Mendaftarkan aplikasi Anda sering disebut "menambahkan" aplikasi Anda ke proyek Anda.

  1. Buka konsol Firebase .

  2. Di tengah halaman ikhtisar proyek, klik ikon iOS+ untuk meluncurkan alur kerja penyiapan.

    Jika Anda sudah menambahkan aplikasi ke proyek Firebase, klik Tambahkan aplikasi untuk menampilkan opsi platform.

  3. Masukkan ID bundel aplikasi Anda di bidang ID bundel .

  4. (Opsional) Masukkan informasi aplikasi lainnya: Nama panggilan aplikasi dan ID App Store .

  5. Klik Daftarkan aplikasi .

Tambahkan file konfigurasi Firebase

  1. Klik Download GoogleService-Info.plist untuk mendapatkan file konfigurasi platform Apple Firebase Anda ( GoogleService-Info.plist ).

  2. Pindahkan file konfigurasi Anda ke root proyek Xcode Anda. Jika diminta, pilih untuk menambahkan file konfigurasi ke semua target.

Jika Anda memiliki beberapa ID paket dalam proyek, Anda harus mengaitkan setiap ID paket dengan aplikasi terdaftar di konsol Firebase sehingga setiap aplikasi dapat memiliki file GoogleService-Info.plist sendiri.

Tambahkan Firebase SDK ke aplikasi Anda

Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.

  1. Di Xcode, dengan proyek aplikasi Anda terbuka, arahkan ke File > Add Packages .
  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk
  4. Pilih perpustakaan Firebase Cloud Messaging.
  5. Untuk pengalaman optimal dengan Firebase Cloud Messaging, sebaiknya aktifkan Google Analytics di proyek Firebase Anda dan tambahkan Firebase SDK untuk Google Analytics ke aplikasi Anda. Anda dapat memilih perpustakaan tanpa koleksi IDFA atau dengan koleksi IDFA.
  6. Setelah selesai, Xcode akan secara otomatis mulai menyelesaikan dan mengunduh dependensi Anda di latar belakang.

Unggah kunci autentikasi APN Anda

Unggah kunci autentikasi APN Anda ke Firebase. Jika Anda belum memiliki kunci autentikasi APN, pastikan untuk membuatnya di Apple Developer Member Center .

  1. Di dalam proyek Anda di Firebase console, pilih ikon roda gigi, pilih Project Settings , lalu pilih tab Cloud Messaging .

  2. Di kunci autentikasi APN di bawah konfigurasi aplikasi iOS , klik tombol Unggah .

  3. Telusuri ke lokasi tempat Anda menyimpan kunci, pilih, dan klik Buka . Tambahkan ID kunci untuk kunci tersebut (tersedia di Pusat Anggota Pengembang Apple ) dan klik Unggah .

Inisialisasi Firebase di aplikasi Anda

Anda harus menambahkan kode inisialisasi Firebase ke aplikasi Anda. Impor modul Firebase dan konfigurasikan instance bersama seperti yang ditunjukkan:

  1. Impor modul FirebaseCore di UIApplicationDelegate Anda, serta modul Firebase lainnya yang digunakan oleh delegasi aplikasi Anda. Misalnya, untuk menggunakan Cloud Firestore dan Authentication:

    Cepat

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Konfigurasikan instance bersama FirebaseApp dalam metode application(_:didFinishLaunchingWithOptions:) delegasi aplikasi Anda:

    Cepat

    // Use Firebase library to configure APIs
    FirebaseApp.configure()

    Objective-C

    // Use Firebase library to configure APIs
    [FIRApp configure];

Mendaftar untuk notifikasi jarak jauh

Baik saat startup, atau pada titik yang diinginkan dalam alur aplikasi Anda, daftarkan aplikasi Anda untuk notifikasi jarak jauh. Panggil registerForRemoteNotifications seperti yang ditunjukkan:

Cepat


UNUserNotificationCenter.current().delegate = self

let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(
  options: authOptions,
  completionHandler: { _, _ in }
)

application.registerForRemoteNotifications()

Objective-C


[UNUserNotificationCenter currentNotificationCenter].delegate = self;
UNAuthorizationOptions authOptions = UNAuthorizationOptionAlert |
    UNAuthorizationOptionSound | UNAuthorizationOptionBadge;
[[UNUserNotificationCenter currentNotificationCenter]
    requestAuthorizationWithOptions:authOptions
    completionHandler:^(BOOL granted, NSError * _Nullable error) {
      // ...
    }];

[application registerForRemoteNotifications];

Akses token pendaftaran

Untuk mengirim pesan ke perangkat tertentu, Anda perlu mengetahui token pendaftaran perangkat tersebut. Karena Anda harus memasukkan token di kolom di Notifications composer untuk menyelesaikan tutorial ini, pastikan untuk menyalin token atau menyimpannya dengan aman setelah Anda mengambilnya.

Secara default, FCM SDK membuat token pendaftaran untuk instance aplikasi klien saat peluncuran aplikasi. Mirip dengan token perangkat APN, token ini memungkinkan Anda mengirim notifikasi yang ditargetkan ke instance tertentu dari aplikasi Anda.

Dengan cara yang sama seperti platform Apple biasanya mengirimkan token perangkat APN saat aplikasi dimulai, FCM menyediakan token pendaftaran melalui metode messaging:didReceiveRegistrationToken: FIRMessagingDelegate FCM SDK mengambil token baru atau yang sudah ada selama peluncuran awal aplikasi dan setiap kali token diperbarui atau dibatalkan. Dalam semua kasus, FCM SDK memanggil messaging:didReceiveRegistrationToken: dengan token yang valid.

Token pendaftaran dapat berubah ketika:

  • Aplikasi dipulihkan di perangkat baru
  • Pengguna mencopot pemasangan/memasang ulang aplikasi
  • Pengguna menghapus data aplikasi.

Atur delegasi perpesanan

Untuk menerima token pendaftaran, implementasikan protokol delegasi perpesanan dan setel properti delegate FIRMessaging setelah memanggil [FIRApp configure] . Misalnya, jika delegasi aplikasi Anda sesuai dengan protokol delegasi perpesanan, Anda dapat menyetel delegasi pada application:didFinishLaunchingWithOptions: ke dirinya sendiri.

Cepat

Messaging.messaging().delegate = self

Objective-C

[FIRMessaging messaging].delegate = self;

Mengambil token pendaftaran saat ini

Token pendaftaran dikirimkan melalui metode messaging:didReceiveRegistrationToken: . Metode ini umumnya dipanggil sekali per aplikasi dimulai dengan token pendaftaran. Saat metode ini dipanggil, ini adalah waktu yang ideal untuk:

  • Jika token pendaftaran baru, kirimkan ke server aplikasi Anda.
  • Berlangganan token pendaftaran ke topik. Ini diperlukan hanya untuk langganan baru atau untuk situasi di mana pengguna menginstal ulang aplikasi.

Anda dapat mengambil token secara langsung menggunakan token(completion:) . Kesalahan bukan nol diberikan jika pengambilan token gagal dengan cara apa pun.

Cepat

Messaging.messaging().token { token, error in
  if let error = error {
    print("Error fetching FCM registration token: \(error)")
  } else if let token = token {
    print("FCM registration token: \(token)")
    self.fcmRegTokenMessage.text  = "Remote FCM registration token: \(token)"
  }
}

Objective-C

[[FIRMessaging messaging] tokenWithCompletion:^(NSString *token, NSError *error) {
  if (error != nil) {
    NSLog(@"Error getting FCM registration token: %@", error);
  } else {
    NSLog(@"FCM registration token: %@", token);
    self.fcmRegTokenMessage.text = token;
  }
}];

Anda dapat menggunakan metode ini kapan saja untuk mengakses token alih-alih menyimpannya.

Pantau penyegaran token

Untuk diberi tahu setiap kali token diperbarui, berikan delegasi yang sesuai dengan protokol delegasi perpesanan. Contoh berikut mendaftarkan delegasi dan menambahkan metode delegasi yang tepat:

Cepat

func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
  print("Firebase registration token: \(String(describing: fcmToken))")

  let dataDict: [String: String] = ["token": fcmToken ?? ""]
  NotificationCenter.default.post(
    name: Notification.Name("FCMToken"),
    object: nil,
    userInfo: dataDict
  )
  // TODO: If necessary send token to application server.
  // Note: This callback is fired at each app startup and whenever a new token is generated.
}

Objective-C

- (void)messaging:(FIRMessaging *)messaging didReceiveRegistrationToken:(NSString *)fcmToken {
    NSLog(@"FCM registration token: %@", fcmToken);
    // Notify about received token.
    NSDictionary *dataDict = [NSDictionary dictionaryWithObject:fcmToken forKey:@"token"];
    [[NSNotificationCenter defaultCenter] postNotificationName:
     @"FCMToken" object:nil userInfo:dataDict];
    // TODO: If necessary send token to application server.
    // Note: This callback is fired at each app startup and whenever a new token is generated.
}

Alternatifnya, Anda dapat mendengarkan NSNotification bernama kFIRMessagingRegistrationTokenRefreshNotification daripada menyediakan metode delegasi. Properti token selalu memiliki nilai token saat ini.

Kirim pesan pemberitahuan

  1. Instal dan jalankan aplikasi di perangkat target. Di perangkat Apple, Anda harus menyetujui permintaan izin untuk menerima notifikasi jarak jauh.

  2. Pastikan aplikasi berada di latar belakang perangkat.

  3. Di konsol Firebase, buka halaman Messaging .

  4. Jika ini adalah pesan pertama Anda, pilih Buat kampanye pertama Anda .

    1. Pilih pesan Firebase Notification dan pilih Create .
  5. Jika tidak, pada tab Kampanye , pilih Kampanye baru lalu Notifikasi .

  6. Masukkan teks pesan. Semua bidang lainnya bersifat opsional.

  7. Pilih Kirim pesan percobaan dari panel kanan.

  8. Di bidang berlabel Tambahkan token pendaftaran FCM , masukkan token pendaftaran yang Anda peroleh di bagian sebelumnya dari panduan ini.

  9. Pilih Tes .

Setelah Anda memilih Test , perangkat klien yang ditargetkan (dengan aplikasi di latar belakang) akan menerima notifikasi.

Untuk wawasan tentang pengiriman pesan ke aplikasi Anda, lihat dasbor pelaporan FCM , yang mencatat jumlah pesan yang dikirim dan dibuka di perangkat Apple dan Android, beserta data untuk "tayangan" (pemberitahuan yang dilihat oleh pengguna) untuk aplikasi Android.

Langkah selanjutnya

Untuk melampaui pesan notifikasi dan menambahkan perilaku lain yang lebih canggih ke aplikasi Anda, lihat: