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

Siapkan aplikasi klien Firebase Cloud Messaging di Flutter

Ikuti langkah-langkah ini untuk menyiapkan klien FCM di Flutter.

Penyiapan dan persyaratan khusus platform

Beberapa langkah yang diperlukan bergantung pada platform yang Anda targetkan.

iOS+

Aktifkan kemampuan aplikasi di Xcode

Sebelum aplikasi Anda dapat mulai menerima pesan, Anda harus mengaktifkan pemberitahuan push dan mode latar belakang di proyek Xcode Anda.

  1. Buka ruang kerja proyek Xcode Anda ( ios/Runner.xcworkspace ).
  2. Aktifkan pemberitahuan push .
  3. Aktifkan Pengambilan latar belakang dan mode eksekusi latar belakang Pemberitahuan jarak jauh .

Unggah kunci autentikasi APN Anda

Sebelum menggunakan FCM, unggah sertifikat APN Anda ke Firebase. Jika Anda belum memiliki sertifikat APN, buatlah 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. Pilih tombol Unggah Sertifikat untuk sertifikat pengembangan, sertifikat produksi, atau keduanya. Setidaknya satu diperlukan.
  3. Untuk setiap sertifikat, pilih file .p12, dan berikan kata sandi, jika ada. Pastikan ID bundel untuk sertifikat ini cocok dengan ID bundel aplikasi Anda. Pilih Simpan .

Metode mendesis

Untuk menggunakan plugin FCM Flutter di perangkat Apple, Anda tidak boleh menonaktifkan method swizzling. Swizzling diperlukan, dan tanpanya, fitur utama Firebase seperti penanganan token FCM tidak akan berfungsi dengan baik.

Android

Layanan Google Play

Klien FCM memerlukan perangkat yang menjalankan Android 4.4 atau lebih tinggi yang juga telah menginstal layanan Google Play, atau emulator yang menjalankan Android 4.4 dengan Google API. Perhatikan bahwa Anda tidak dibatasi untuk menerapkan aplikasi Android melalui Google Play Store.

Aplikasi yang mengandalkan SDK Layanan Play harus selalu memeriksa perangkat untuk APK layanan Google Play yang kompatibel sebelum mengakses fitur layanan Google Play. Direkomendasikan untuk melakukan ini di dua tempat: di metode onCreate() aktivitas utama, dan di metode onResume() aktivitas utama. Check in onCreate() memastikan bahwa aplikasi tidak dapat digunakan tanpa pemeriksaan yang berhasil. Check in onResume() memastikan bahwa jika pengguna kembali ke aplikasi yang sedang berjalan melalui beberapa cara lain, seperti melalui tombol kembali, pemeriksaan tetap dilakukan.

Jika perangkat tidak memiliki versi layanan Google Play yang kompatibel, aplikasi Anda dapat memanggil GoogleApiAvailability.makeGooglePlayServicesAvailable() untuk mengizinkan pengguna mengunduh layanan Google Play dari Play Store.

Web

Konfigurasikan Kredensial Web dengan FCM

Antarmuka Web FCM menggunakan kredensial Web yang disebut "Identifikasi Server Aplikasi Sukarela", atau kunci "VAPID", untuk mengizinkan pengiriman permintaan ke layanan push web yang didukung. Untuk membuat aplikasi Anda berlangganan notifikasi push, Anda perlu mengaitkan sepasang kunci dengan project Firebase Anda. Anda dapat membuat pasangan kunci baru atau mengimpor pasangan kunci yang ada melalui konsol Firebase.

Hasilkan pasangan kunci baru
  1. Buka tab Cloud Messaging di panel Pengaturan Firebase console dan gulir ke bagian konfigurasi Web .

  2. Di tab Web Push certificates , klik Generate Key Pair . Konsol menampilkan pemberitahuan bahwa pasangan kunci dibuat, dan menampilkan string kunci publik dan tanggal ditambahkan.

Impor pasangan kunci yang ada

Jika Anda memiliki pasangan kunci yang sudah Anda gunakan dengan aplikasi web, Anda dapat mengimpornya ke FCM sehingga Anda dapat menjangkau instance aplikasi web yang ada melalui API FCM. Untuk mengimpor kunci, Anda harus memiliki akses tingkat pemilik ke proyek Firebase. Impor kunci publik dan pribadi Anda yang ada dalam bentuk berenkode aman URL base64:

  1. Buka tab Cloud Messaging di panel Pengaturan Firebase console dan gulir ke bagian konfigurasi Web .

  2. Di tab Sertifikat Push Web , temukan dan pilih teks tautan, "impor pasangan kunci yang ada."

  3. Dalam dialog Impor pasangan kunci , berikan kunci publik dan pribadi Anda di bidang yang sesuai dan klik Impor . Konsol menampilkan string kunci publik dan tanggal ditambahkan.

Untuk informasi selengkapnya tentang format kunci dan cara membuatnya, lihat Kunci server aplikasi .

Instal plugin FCM

  1. Instal dan inisialisasi plugin Firebase untuk Flutter jika Anda belum melakukannya.

  2. Dari root project Flutter Anda, jalankan perintah berikut untuk menginstal plugin:

    flutter pub add firebase_messaging
    
  3. Setelah selesai, buat ulang aplikasi Flutter Anda:

    flutter run
    

Akses token pendaftaran

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

Untuk mengambil token pendaftaran saat ini untuk instance aplikasi, panggil getToken() . Jika izin pemberitahuan belum diberikan, metode ini akan meminta izin pemberitahuan kepada pengguna. Jika tidak, itu mengembalikan token atau menolak masa depan karena kesalahan.

final fcmToken = await FirebaseMessaging.instance.getToken();

Di platform web, berikan kunci publik VAPID Anda ke getToken() :

final fcmToken = await FirebaseMessaging.instance.getToken(vapidKey: "BKagOny0KF_2pCJQ3m....moL0ewzQ8rZu");

Untuk diberi tahu setiap kali token diperbarui, berlangganan aliran onTokenRefresh :

FirebaseMessaging.instance.onTokenRefresh
    .listen((fcmToken) {
      // TODO: If necessary send token to application server.

      // Note: This callback is fired at each app startup and whenever a new
      // token is generated.
    })
    .onError((err) {
      // Error getting token.
    });

Cegah inisialisasi otomatis

Saat token pendaftaran FCM dibuat, library mengupload pengenal dan data konfigurasi ke Firebase. Jika Anda memilih untuk mencegah pembuatan token secara otomatis, nonaktifkan inisialisasi otomatis pada waktu pembuatan.

iOS

Di iOS, tambahkan nilai metadata ke Info.plist Anda:

FirebaseMessagingAutoInitEnabled = NO

Android

Di Android, nonaktifkan pengumpulan Analytics dan inisialisasi otomatis FCM (Anda harus menonaktifkan keduanya) dengan menambahkan nilai metadata ini ke AndroidManifest.xml :

<meta-data
    android:name="firebase_messaging_auto_init_enabled"
    android:value="false" />
<meta-data
    android:name="firebase_analytics_collection_enabled"
    android:value="false" />

Aktifkan ulang FCM auto-init saat runtime

Untuk mengaktifkan auto-init untuk instance aplikasi tertentu, panggil setAutoInitEnabled() :

await FirebaseMessaging.instance.setAutoInitEnabled(true);

Nilai ini tetap ada saat aplikasi dimulai ulang setelah ditetapkan.

Langkah selanjutnya

Setelah aplikasi klien disiapkan, Anda siap untuk mulai mengirim pesan downstream dengan Notifications composer . Lihat Mengirim pesan percobaan ke aplikasi latar belakang .

Untuk menambahkan perilaku lain yang lebih canggih ke aplikasi Anda, Anda memerlukan implementasi server .

Kemudian, di klien aplikasi Anda: