Как отправить уведомление FCM из бэкэнда, когда приложение Flutter прекращено?Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Как отправить уведомление FCM из бэкэнда, когда приложение Flutter прекращено?

Сообщение Anonymous »

Я работаю над приложением Flutter, которое использует Firebase для уведомлений. Прямо сейчас уведомления работают нормально, когда приложение Flutter находится в фоновом режиме. Однако, когда я закрываю приложение, уведомление не проходит. Прямо сейчас моя целевая платформа - Android. < /P>
Вот мой бэкэнд -код или, по крайней мере, та часть, которая отправляет уведомления (это сервер колбы): < /p>
import firebase_admin
from firebase_admin import auth, messaging, credentials

cred = credentials.Certificate("service-account.json")
firebase_admin.initialize_app(cred)

message = messaging.Message(
notification=messaging.Notification(
title="Wow!",
body="This background push notification actually worked!"
),
android=messaging.AndroidConfig(
notification=messaging.AndroidNotification(
title="Wow!",
body="This background push notification actually worked!",
channel_id="high_importance_channel",
priority="high"
),
priority="high"
),
topic="current"
)

response = messaging.send(message)

print(response)
< /code>
А вот фрагмент кода приложения Flutter: < /p>
@pragma('vm:entry-point')
Future notificationHandler(RemoteMessage message) async {
WidgetsFlutterBinding.ensureInitialized();

await Firebase.initializeApp();

const AndroidNotificationChannel channel = AndroidNotificationChannel(
'high_importance_channel',
'High Importance Notifications',
description: 'This channel is used for important notifications.',
importance: Importance.high
);

final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();

await flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation()?.createNotificationChannel(channel);

await flutterLocalNotificationsPlugin.show(
0,
message.notification?.title,
message.notification?.body,
NotificationDetails(
android: AndroidNotificationDetails(
'high_importance_channel',
'High Importance Notifications',
importance: Importance.high
)
)
);

if (message.notification?.title == 'Awards') {
await FirebaseMessaging.instance.unsubscribeFromTopic('current');
}
}

void main() async {
WidgetsFlutterBinding.ensureInitialized();

await Firebase.initializeApp();

await FirebaseAppCheck.instance.activate(
androidProvider: AndroidProvider.playIntegrity,
appleProvider: AppleProvider.appAttest
);

if (FirebaseAuth.instance.currentUser == null) {
await FirebaseAuth.instance.signInAnonymously();
}

final messaging = FirebaseMessaging.instance;

await messaging.requestPermission(
alert: true,
announcement: false,
badge: true,
carPlay: false,
criticalAlert: false,
provisional: false,
sound: true
);

const AndroidNotificationChannel channel = AndroidNotificationChannel(
'high_importance_channel',
'High Importance Notifications',
description: 'This channel is used for important notifications.',
importance: Importance.high
);

final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();

await flutterLocalNotificationsPlugin.resolvePlatformSpecificImplementation()?.createNotificationChannel(channel);

FirebaseMessaging.onBackgroundMessage(notificationHandler);
< /code>
И я знаю, что этот вопрос был задан ранее, но решения никогда не работали для меня. Я попытался изменить AndroidManifest.xml, проверить оптимизацию батареи и т. Д. Мне также интересно, отправляю сообщения неправильно от бэкэнда. И просто чтобы прояснить, когда я говорю, что «уведомление не проходит», я имею в виду, что на главном экране моего устройства, когда я отправляю уведомление, в подносе нет уведомления. Я не вижу никаких уведомлений в моей истории уведомлений. И, конечно, нет звука или отображения.

Подробнее здесь: https://stackoverflow.com/questions/796 ... is-termina
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»