当app在后台时,xamarin.ios会收到通知

时间:2017-11-02 14:27:03

标签: push-notification xamarin.ios

如果我的应用程序处于后台并且非常有用,我如何处理通知? 现在,当我点击它时,我会收到一个警报,打开我的应用程序。 但是当通知收到我想要处理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);
}

1 个答案:

答案 0 :(得分:1)

实际上苹果推送通知由iOS而不是您的应用处理。我们无法在收到推送通知时更改徽章。仅当用户点击通知时,才会触发DidReceiveRemoteNotification。所以更新此方法中的徽章编号并不明智。

我们可以通过发送&#34;徽章&#34;来改变我们处于后台状态时的徽章编号。推送通知包中的参数。

示例有效负载:

{
    "aps" : {
        "alert" : "message",
        "badge" : 2
    }
}

您的应用程序图标将显示2.此处的重点是,徽章计数的计算应在服务器端完成。

请注意,有效内容中的badge参数必须是整数。