如果我的应用程序处于后台并且非常有用,我如何处理通知? 现在,当我点击它时,我会收到一个警报,打开我的应用程序。 但是当通知收到我想要处理ApplicationIconBadgeNumber时。
当我的应用处于后台时,哪种方法会收听通知?
我的AppDelegate.cs:
public override void RegisteredForRemoteNotifications(UIApplication application, NSData deviceToken)
{
PushNotificationManager.DidRegisterRemoteNotifications(deviceToken);
}
public override void FailedToRegisterForRemoteNotifications(UIApplication application, NSError error)
{
PushNotificationManager.RemoteNotificationRegistrationFailed(error);
}
public override void DidReceiveRemoteNotification(UIApplication application, NSDictionary userInfo, Action<UIBackgroundFetchResult> completionHandler)
{
PushNotificationManager.DidReceiveMessage(userInfo);
}
答案 0 :(得分:1)
实际上苹果推送通知由iOS而不是您的应用处理。我们无法在收到推送通知时更改徽章。仅当用户点击通知时,才会触发DidReceiveRemoteNotification。所以更新此方法中的徽章编号并不明智。
我们可以通过发送&#34;徽章&#34;来改变我们处于后台状态时的徽章编号。推送通知包中的参数。
示例有效负载:
{
"aps" : {
"alert" : "message",
"badge" : 2
}
}
您的应用程序图标将显示2.此处的重点是,徽章计数的计算应在服务器端完成。
请注意,有效内容中的badge参数必须是整数。