大佬教程收集整理的这篇文章主要介绍了FCM 推送 - 一次向 iOS 和 android 发送消息,通知对象仅适用于 iOS,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用 cordova-plugin-push
通过 FCM 服务发送推送通知。
我的通知需要“提醒”,以便它们在后台时在用户屏幕上弹出。
就目前而言,我只能通过发送纯数据有效负载在 AndroID 上实现这一点。像这样的普通通知:
{
"registration_IDs":[],"notification": {
"Title":"Test","body":"Test body","sound":"default","androID_channel_ID":"PushPluginChannel"
}
}
在 androID 上表现得有点“沉默”,尽管频道配置了 priority:high
,但他们不会唤醒设备(尝试添加 importance: 5
,但没有成功)。
如果是较旧的设备(AndroID 7,不支持频道),则不会弹出通知,只会在通知栏中静默显示。
这是通过剥离通知对象并仅发送数据来解决的(一旦我添加通知,它就会停止工作):
{
"registration_IDs":[],"data": {
"Title":"Test","body":"Test body"
}
}
通过这种方式,通知可以完美唤醒设备的屏幕并在 AndroID 7 和 AndroID 10 上弹出。
但是,现在 iOS 根本不显示此通知(所有配置都正确,APNS 证书良好,分配了权限)。我已经读到这在 iOS 上是正常的,数据通知 (content_available: true
) 仅用于触发应用的后台工作程序来获取数据。
我还找到了只为 androID 发送数据以便提前工作的答案,例如:https://stackoverflow.com/a/38455693
如果是这种情况,有什么方法可以发送单个 FCM 有效负载并使其在 iOS 和 AndroID 上都能运行?我想发送一个 FCM 通知并传递多个注册令牌,而不用担心他们的平台。
iOS 需要有通知对象,而 androID 不能。 我尝试做这样的事情:
{
"registration_IDs":[],"body":"Test body"
},"apns": {
"aps": {
"payload": {
"notification": {
"Title": "Test","body": "Test"
},"alert": {
"Title": "Test","body": "Test"
}
}
}
}
}
仅包含适用于 iOS 的通知,但它仍然不起作用。 有什么办法,或者我需要为 iOS 和 androID 发送不同的有效载荷吗?
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)
以上是大佬教程为你收集整理的FCM 推送 - 一次向 iOS 和 android 发送消息,通知对象仅适用于 iOS全部内容,希望文章能够帮你解决FCM 推送 - 一次向 iOS 和 android 发送消息,通知对象仅适用于 iOS所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。