Arka plandaki bir uygulamaya test mesajı gönderme

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

  1. Flutter için Firebase SDK'larını yükleme ve başlatma (ve bunu yapmadıysanız).

  2. Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak girin:

    flutter pub add firebase_messaging
    
  3. Ardından 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

  1. Uygulamayı hedef cihaza yükleyip çalıştırın. Apple cihazlarda uzaktan bildirim alma izni isteğini kabul edin.

  2. Uygulamanın cihazda arka planda bulunduğundan emin olun.

  3. Firebase konsolunda Mesajlaşma sayfasını açın.

  4. Bu ilk mesajınızsa İlk mesajınızı oluşturun kampanya.

    1. Firebase Notification mesajları'nı ve ardından Create'i (Oluştur) seçin.
  5. Aksi takdirde, Kampanyalar sekmesinde Yeni kampanya'yı seçin. ve ardından Bildirimler'i tıklayın.

  6. Mesaj metnini girin. Diğer tüm alanlar isteğe bağlıdır.

  7. Sağ bölmeden Test mesajı gönder'i seçin.

  8. FCM kayıt jetonu ekleyin etiketli alana kaydı girin bölümündeki talimatları uygulayın.

  9. 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 cihazda 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:

  1. getInitialMessage(): Uygulama, sonlandırılmış bir durumdan açılırsa bu yöntem, RemoteMessage içeren bir Future döndürür. Kullanıldıktan sonra RemoteMessage kaldırılır.
  2. onMessageOpenedApp: Uygulama birStreamRemoteMessage 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: