Фоновое уведомление об обмене сообщениями React Native Firebase не отображается в центре уведомлений в Android 13 ⇐ Android
Фоновое уведомление об обмене сообщениями React Native Firebase не отображается в центре уведомлений в Android 13
Сообщение с push-уведомлением получено, но не отображается в центре уведомлений моего телефона с Android 13, когда я отправляю push-уведомление независимо от моего сервера или тестера FCM. Он отлично работает на моем телефоне с Android 12.
Вот мой код, связанный с Android:
В AndroidManifest.xml:
В build.gradle:
minSdkVersion = 21 компиляцияSdkVersion = 33 targetSdkVersion = 33 androidXCore = "1.0.2" Код, связанный с RN:
messages().setBackgroundMessageHandler(async RemoteMessage => { console.log('Фоновое уведомление:',JSON.stringify(remoteMessage)); }); message().onMessage(async RemoteMessage => { console.log(remoteMessage); }); message().onNotificationOpenedApp(remoteMessage => { console.log('onNotificationOpenedApp'); }); обмен сообщениями() .getInitialNotification() .then(async RemoteMessage => { console.log('getInitialNotification'); И я получаю токен FCM и добавляю следующий запрос разрешения при запуске приложения:
const requestNotificationPermission = async () => { константный результат = ожидание запроса (PERMISSIONS.ANDROID.POST_NOTIFICATIONS); вернуть результат; }; const checkNotificationPermission = асинхронный () => { константный результат = ожидание проверки (PERMISSIONS.ANDROID.POST_NOTIFICATIONS); вернуть результат; }; экспортировать const requestPushNotificationPermission = async () => { const checkPermission = ожидание checkNotificationPermission (); if (checkPermission !== RESULTS.GRANTED) { константный запрос = ожидание requestNotificationPermission (); если (запрос === РЕЗУЛЬТАТЫ.ПОЛОЖЕНО) { console.log('Push-уведомление разрешено'); } } }; const getFCMToken = асинхронный () => { пытаться { let token = ожидайте обмена сообщениями().getToken() если (токен) { console.log('Токен FCM:', токен); } } поймать (ошибка) { console.error(ошибка) } }; Я могу получать такое уведомление, когда приложение работает в фоновом режиме:
Фоновое уведомление: {"notification":{"android":{"sound":"mySound","smallIcon":"myicon"},"body":"Вы были xxxxx","title":" xxx"},"sentTime":1695283420621,"ttl":2419200,"data":{"TemplateId":"null","HyperLink":"xxxxx","HyperLinkType":"xxxx","NotificationMsgId":" 1234-9b50-40a8-b284-daaa7a60d9bf"},"messageId":"0:16935283420814699%e0a343f4e0a343a4","from":"613166636902","collapseKey":"xxxxx"
Он будет отображаться в центре уведомлений при тестировании на телефоне с Android 12. Но при тестировании на телефоне Android 13 в центре уведомлений ничего не отображается. В чем может быть причина?
Сообщение с push-уведомлением получено, но не отображается в центре уведомлений моего телефона с Android 13, когда я отправляю push-уведомление независимо от моего сервера или тестера FCM. Он отлично работает на моем телефоне с Android 12.
Вот мой код, связанный с Android:
В AndroidManifest.xml:
В build.gradle:
minSdkVersion = 21 компиляцияSdkVersion = 33 targetSdkVersion = 33 androidXCore = "1.0.2" Код, связанный с RN:
messages().setBackgroundMessageHandler(async RemoteMessage => { console.log('Фоновое уведомление:',JSON.stringify(remoteMessage)); }); message().onMessage(async RemoteMessage => { console.log(remoteMessage); }); message().onNotificationOpenedApp(remoteMessage => { console.log('onNotificationOpenedApp'); }); обмен сообщениями() .getInitialNotification() .then(async RemoteMessage => { console.log('getInitialNotification'); И я получаю токен FCM и добавляю следующий запрос разрешения при запуске приложения:
const requestNotificationPermission = async () => { константный результат = ожидание запроса (PERMISSIONS.ANDROID.POST_NOTIFICATIONS); вернуть результат; }; const checkNotificationPermission = асинхронный () => { константный результат = ожидание проверки (PERMISSIONS.ANDROID.POST_NOTIFICATIONS); вернуть результат; }; экспортировать const requestPushNotificationPermission = async () => { const checkPermission = ожидание checkNotificationPermission (); if (checkPermission !== RESULTS.GRANTED) { константный запрос = ожидание requestNotificationPermission (); если (запрос === РЕЗУЛЬТАТЫ.ПОЛОЖЕНО) { console.log('Push-уведомление разрешено'); } } }; const getFCMToken = асинхронный () => { пытаться { let token = ожидайте обмена сообщениями().getToken() если (токен) { console.log('Токен FCM:', токен); } } поймать (ошибка) { console.error(ошибка) } }; Я могу получать такое уведомление, когда приложение работает в фоновом режиме:
Фоновое уведомление: {"notification":{"android":{"sound":"mySound","smallIcon":"myicon"},"body":"Вы были xxxxx","title":" xxx"},"sentTime":1695283420621,"ttl":2419200,"data":{"TemplateId":"null","HyperLink":"xxxxx","HyperLinkType":"xxxx","NotificationMsgId":" 1234-9b50-40a8-b284-daaa7a60d9bf"},"messageId":"0:16935283420814699%e0a343f4e0a343a4","from":"613166636902","collapseKey":"xxxxx"
Он будет отображаться в центре уведомлений при тестировании на телефоне с Android 12. Но при тестировании на телефоне Android 13 в центре уведомлений ничего не отображается. В чем может быть причина?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение