Expo - 实施通知设置应用程序图标徽章编号
Posted
技术标签:
【中文标题】Expo - 实施通知设置应用程序图标徽章编号【英文标题】:Expo - Implementing Notifications Set App Icon Badge Number 【发布时间】:2020-04-01 12:58:50 【问题描述】:尽管多次尝试在我们的 Expo 应用中实现应用图标徽章编号,但仍无法设置应用图标徽章编号。关于设置通知应用程序图标徽章编号的文档也非常有限。我们尝试在有新的推送通知时将应用图标徽章编号设置为 1,然后在用户单击通知后将应用图标徽章编号重置为 0。
谁能指出这里出了什么问题?
以下是通知监听器的回调函数。
handleNotification = async (notification) =>
const origin, data, notificationId = notification
const notif = id: notificationId, ...data
// set notifications badge count
try
const setAppBadgeCount = await Notifications.setBadgeNumberAsync(1)
console.log(`showing app badge number to 1 $setAppBadgeCount`)
catch (err)
console.log('did not manage to show notif app badge count!', err)
if (origin === 'selected')
this.navigateToNotificationScreen(data)
try
const resetAppBadgeCount = await Notifications.setBadgeNumberAsync(0)
console.log(`reset app badge count $resetAppBadgeCount`)
catch (err)
console.log('did not manage to reset notif app badge count!', err)
else // origin === 'received', show in-app
const dispatch = this.props
dispatch(setActiveNotifications([notif]))
setTimeout(() =>
dispatch(setInactiveNotifications([notif]))
, 10000)
提前致谢!
【问题讨论】:
您是否收到任何错误或异常? 我在下面发布了我的答案,希望对您有所帮助! 【参考方案1】:啊,我被提醒我没有将解决方案留在这里。就我而言,Expo 前端代码编写得非常完美。我在上面写它的方式就像一个魅力。我的问题是发送到 Expo 服务器的 后端请求 没有正确写入。参考这个链接-https://docs.expo.io/versions/latest/guides/push-notifications/#sending-notifications-from-your-server
[
"to": "ExponentPushToken[xxxxxxxxxxxxxxxxxxxxxx]",
"sound": "default",
"body": "Hello world!"
,
"to": "ExponentPushToken[yyyyyyyyyyyyyyyyyyyyyy]",
"badge": 1,
"body": "You've got mail"
,
"to": [
"ExponentPushToken[zzzzzzzzzzzzzzzzzzzzzz]",
"ExponentPushToken[aaaaaaaaaaaaaaaaaaaaaa]"
],
"body": "Breaking news!"
]
具体来说,我没有在发送到 Expo 服务器的通知的请求正文中添加参数 "badge": 1
。结果,根本没有设置应用程序图标徽章编号。
【讨论】:
以上是关于Expo - 实施通知设置应用程序图标徽章编号的主要内容,如果未能解决你的问题,请参考以下文章