У меня есть приложение Flutter, которое запускает MyApp() в runZonedGuarded() следующим образом:
void main() async {
await runZonedGuarded(() async {
WidgetsFlutterBinding.ensureInitialized();
FirebaseMessaging.onBackgroundMessage(_firebaseMessagingBackgroundHandlerInMain);
await Firebase.initializeApp();
var token = await FirebaseMessaging.instance
.getToken(vapidKey: DefaultFirebaseConfig.vapidKey);
debugPrint("FCM token: $token");
runApp(MyApp());
}, (error, stackTrace) {
throw (error);
});
И такой простой фоновый обработчик
@pragma('vm:entry-point')
Future _firebaseMessagingBackgroundHandlerInMain(RemoteMessage message) async {
await Firebase.initializeApp();
var token = await FirebaseMessaging.instance
.getToken(vapidKey: DefaultFirebaseConfig.vapidKey);
debugPrint("FCM token: $token");
}
В Android 15 я вижу, что токен FCM, полученный в фоновом обработчике, не совпадает с токеном в основном приложении.
Во втором сообщении, полученном в _firebaseMessagingBackgroundHandlerInMain(), он покажет тот же токен снова. В Android 14 и более ранних версиях я вижу один и тот же токен в фоновом обработчике и в главном приложении.
Кто-нибудь знает, Android 15 обрабатывает это по-разному?
Среда
р>
[✓] Flutter (Channel stable, 3.24.4, on macOS 15.0.1 24A348 darwin-arm64 (Rosetta), locale en-NO)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.2)
Подробнее здесь: https://stackoverflow.com/questions/791 ... oundmessag
Почему getToken() не равен в основном приложении и FirebaseMessaging.onBackgroundMessage во Flutter с использованием And ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение