我有一个接收通知的应用程序,并一直试图在应用程序本地建立徽章计数。
在iOS的App Delegate中,我有下面的
int notifcount = Preferences.Get("notifcount", 0);
UIApplication.SharedApplication.ApplicationIconBadgeNumber = notifcount +1;
Preferences.Set("notifcount", notifcount + 1);
这是放置在DidReceiveRemoteNotification &WillPresentNotification .
一切似乎在调试模式下工作良好-我收到通知和徽章增量。然而,当我在测试飞行中发布应用程序时,行为发生了变化-一些用户报告徽章工作正常,有些人有时会增加徽章,有些人根本不会得到它。
我知道理想情况下,徽章将与有效载荷一起传递(但应用程序还没有用户帐户)。
我的问题是Xamarin Essentials Preferences是否有限制,阻止它以这种方式使用,或者iOS内的某些东西可能导致这种行为?
谢谢!
对于iOS,徽章计数是由iOS自己管理的,当应用程序在后台或被杀死时,它完全依赖于操作系统。您可以在推送通知的有效负载中发送徽章计数,但您应该在服务器端进行计算。