[英]Xamarin forms: Push notification is not working on Android 7.1.2
[英]Trouble setting push notification badge for Android and iOS using Xamarin Forms
我在Xamarin Forms应用程序上使用推送通知在使用图标徽章时遇到了麻烦。 我正在使用Firebase将应用程序发送到两个设备。
我为Android使用徽章的方式是,该应用从有效负载的“数据”部分获取了完整的通知信息。 当通知仅包含数据部分时,我可以触发一个功能,该功能将设置徽章并显示弹出通知。 如果我在“通知”部分中输入了相同的信息,则无法触发设置徽章的触发器。
对于iOS,徽章计数是从有效内容的“通知”部分发送的。 iOS没有看到“数据”部分并创建自动弹出窗口。 我尝试过在应用程序处于后台但无法找到方法时触发功能。
底线:iOS需要“通知”有效负载,而Android需要“数据”有效负载以显示正确的标志。
有没有人知道当应用程序在后台并且收到推送通知时,如何在iOS的AppDelegate中触发功能,和/或没有人知道如何在Android的“通知”部分中触发功能。有效载荷?
这是我的有效载荷:
{
"to":"{mytoken}",
"notification":{
"title":"Appointment Almost Booked",
"body":"Please confirm your appointment",
"badge":3
},
"data":{
"title":"Appointment Almost Booked",
"body":"Please confirm your appointment slot",
"badge":3
}
}
对于iOS:
您可以参考:
https://firebase.google.com/docs/cloud-messaging/http-server-ref#notification-payload-support 。
在表1中,有一个属性content_available
您可以将其设置为在后台运行应用程序时将其唤醒。
在iOS上,使用此字段表示APNs有效内容中可用的内容。 发送通知或消息并将其设置为true时,将唤醒不活动的客户端应用程序,并且消息通过APN作为静默通知而不是通过FCM连接服务器发送。 请注意,APN中的无提示通知不能保证会传递,并且可能取决于诸如用户打开低功耗模式,强制退出应用程序等因素。在Android上,默认情况下,数据消息会唤醒应用程序。 在Chrome上,目前不支持。
然后,您可以在DidReceiveRemoteNotification
触发函数。
这是一个可能对您有帮助的链接:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.