Жетон регистрации Firebase (FCM) во Флаттере - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь отправить уведомление от Java Rest Api (используя Firebase Admin sdk ) в мое приложение Flutter и похожедля отправки уведомления требуется токен устройства, и я не могу найти, как получить этот токен.Я новичок в Flutter и Android и, возможно, пропускает любой важный шаг.Пожалуйста, помогите мне, если можете.Спасибо.

Ответы [ 3 ]

0 голосов
/ 22 февраля 2019

Как вы можете использовать плагин сообщений Firebase для отправки уведомлений.С помощью этого кода вы можете распечатать токен в консоли.

final FirebaseMessaging _firebaseMessaging = FirebaseMessaging();
_firebaseMessaging.configure(
    onLaunch: (Map<String, dynamic> message) {
      print('onLaunch called');
    },
    onResume: (Map<String, dynamic> message) {
      print('onResume called');
    },
    onMessage: (Map<String, dynamic> message) {
      print('onMessage called');
    },
  );
  _firebaseMessaging.subscribeToTopic('all');
  _firebaseMessaging.requestNotificationPermissions(IosNotificationSettings(
    sound: true,
    badge: true,
    alert: true,
  ));
  _firebaseMessaging.onIosSettingsRegistered
      .listen((IosNotificationSettings settings) {
    print('Hello');
  });
  _firebaseMessaging.getToken().then((token) {
    print(token); // Print the Token in Console
  });
}
0 голосов
/ 22 февраля 2019

Добавьте это в файл pubspec.yaml вашего пакета:

dependencies:
  firebase_messaging: ^4.0.0+1

Вы можете установить пакеты из командной строки:

с помощью Flutter:

$ flutter packages get

Nowв вашем коде Dart вы можете использовать:

import 'package:firebase_messaging/firebase_messaging.dart';

Реализация:

FirebaseMessaging _firebaseMessaging = FirebaseMessaging();



@override
void initState() {
  super.initState();
  firebaseCloudMessaging_Listeners();
}

void firebaseCloudMessaging_Listeners() {
  if (Platform.isIOS) iOS_Permission();

  _firebaseMessaging.getToken().then((token){
    print(token);
  });

  _firebaseMessaging.configure(
    onMessage: (Map<String, dynamic> message) async {
      print('on message $message');
    },
    onResume: (Map<String, dynamic> message) async {
      print('on resume $message');
    },
    onLaunch: (Map<String, dynamic> message) async {
      print('on launch $message');
    },
  );
}

void iOS_Permission() {
  _firebaseMessaging.requestNotificationPermissions(
      IosNotificationSettings(sound: true, badge: true, alert: true)
  );
  _firebaseMessaging.onIosSettingsRegistered
      .listen((IosNotificationSettings settings)
  {
    print("Settings registered: $settings");
  });
}

Для более подробной информации, пожалуйста, обратитесь this ссылка

Надеюсь, это поможет вам

0 голосов
/ 22 февраля 2019

Мне не понятен ваш вопрос.Для FCM вы должны расширить FirebaseMessagingService.

Пример:

class PNPFirebaseMessagingService : FirebaseMessagingService() {
  override fun onNewToken(token: String?) {
     // you can collect token from here
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...