FCM'yi kullanmaya başlamak için en basit kullanım alanını oluşturun: şu adresten test bildirim mesajı: Bildirim oluşturucuyu geliştirme cihazına Uygulama cihazda arka plandayken Bu sayfada, kurulumdan doğrulama işlemine kadar bunu başarmak için gereken tüm adımlar listelenmiştir. — Bu bilgiler arasında daha önce tamamlamış olduğunuz Flutter uygulaması kurmuş olmanız tercih edebilirsiniz.
FCM eklentisini yükleyin
Flutter için Firebase SDK'larını yükleme ve başlatma (ve bunu yapmadıysanız).
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak girin:
flutter pub add firebase_messaging
İşlem tamamlandığında Flutter uygulamanızı yeniden derleyin:
flutter run
Kayıt jetonuna erişme
Belirli bir cihaza mesaj göndermek için o cihazın kayıt jetonu. Çünkü jetonu alan adındaki bir alana girmeniz Bu eğiticiyi tamamlamak için Notifications Console'a gidin. Jetonu kopyaladığınızdan emin olun veya güvenli bir şekilde saklamanızı öneririz.
Bir uygulama örneği için geçerli kayıt jetonunu almak için
getToken()
Bildirim izni verilmediyse bu yöntem
kullanıcıdan bildirim izni isteyebilir. Aksi takdirde,
değerini bir hata nedeniyle reddeder.
final fcmToken = await FirebaseMessaging.instance.getToken();
Test bildirimi mesajı gönder
Uygulamayı hedef cihaza yükleyip çalıştırın. Apple cihazlarda uzaktan bildirim alma izni isteğini kabul edin.
Uygulamanın cihazda arka planda bulunduğundan emin olun.
Firebase konsolunda Mesajlaşma sayfasını açın.
Bu ilk mesajınızsa İlk mesajınızı oluşturun kampanya.
- Firebase Notification mesajları'nı ve ardından Create'i (Oluştur) seçin.
Aksi takdirde, Kampanyalar sekmesinde Yeni kampanya'yı seçin. ve ardından Bildirimler'i tıklayın.
Mesaj metnini girin. Diğer tüm alanlar isteğe bağlıdır.
Sağ bölmeden Test mesajı gönder'i seçin.
FCM kayıt jetonu ekleyin etiketli alana kaydı girin bölümündeki talimatları uygulayın.
Test et'i seçin.
Test et'i seçmenizden sonra, hedeflenen istemci cihazı (uygulama arka plan) bildirimi alır.
Uygulamanıza mesaj teslimiyle ilgili analizler için FCM raporlama kontrol paneli, Apple ve Android'de gönderilen ve açılan iletilerin sayısını kaydeder. "gösterim sayısı" verileriyle birlikte (bildirimler kullanıcılar tarafından görüldü) için Android uygulamaları.
Etkileşimi işleme
Kullanıcılar bir bildirime dokunduğunda hem Android'de hem de cihazlarda varsayılan davranış iOS, uygulamayı açmaktır. Uygulama feshedilirse arka plandaysa ön plana getirilir.
Bir bildirimin içeriğine bağlı olarak, uygulama etkinleştirilmişse kullanıcı etkileşimini yönetmek isteyebilirsiniz. açılır. Örneğin, bir bildirim kullanılarak yeni bir sohbet mesajı gönderildiyse ve kullanıcı bu mesajı seçerse Uygulama açıldığında ilgili ileti dizisini aç.
firebase-messaging
paketi, bu etkileşimi yönetmek için iki yol sunar:
getInitialMessage()
: Uygulama, sonlandırılmış bir durumdan açılırsa bu yöntem,RemoteMessage
içeren birFuture
döndürür. Kullanıldıktan sonraRemoteMessage
kaldırılır.onMessageOpenedApp
: Uygulama birStream
RemoteMessage
arka plan durumuna getirin.
Kullanıcılarınıza sorunsuz bir deneyim sunmak için her iki senaryoyu da ele almanız gerekir. Kod örneği bunun nasıl elde edilebileceği özetlenmiştir:
class Application extends StatefulWidget {
@override
State<StatefulWidget> createState() => _Application();
}
class _Application extends State<Application> {
// In this example, suppose that all messages contain a data field with the key 'type'.
Future<void> setupInteractedMessage() async {
// Get any messages which caused the application to open from
// a terminated state.
RemoteMessage? initialMessage =
await FirebaseMessaging.instance.getInitialMessage();
// If the message also contains a data property with a "type" of "chat",
// navigate to a chat screen
if (initialMessage != null) {
_handleMessage(initialMessage);
}
// Also handle any interaction when the app is in the background via a
// Stream listener
FirebaseMessaging.onMessageOpenedApp.listen(_handleMessage);
}
void _handleMessage(RemoteMessage message) {
if (message.data['type'] == 'chat') {
Navigator.pushNamed(context, '/chat',
arguments: ChatArguments(message),
);
}
}
@override
void initState() {
super.initState();
// Run code required to handle interacted messages in an async function
// as initState() must not be async
setupInteractedMessage();
}
@override
Widget build(BuildContext context) {
return Text("...");
}
}
Etkileşimi nasıl ele alacağınız, uygulama kurulumunuza bağlıdır. Yukarıdaki örnek
StatefulWidget
kullanımına dair temel bir örnek gösterilmektedir.
Sonraki adımlar
Ön plandaki uygulamalara mesaj gönderme
Uygulamanız açıkken bildirim mesajlarını başarıyla gönderdikten sonra görmek için Flutter uygulamasında mesaj alma ile ön plandaki uygulamalara ileti göndermeye başlayın.
Bildirim mesajlarının ötesine geçin
Uygulamanıza başka, daha gelişmiş davranışlar eklemek için sunucu uygulaması.
Ardından uygulama istemcinizde: