在应用程序后台或关闭时推送通知后显示IconBadgeNumber(Xamarin.iOS)

时间:2018-10-06 09:47:20

标签: xamarin.forms xamarin.ios notifications

在Xamarin.iOS项目中,我使用Azure Notification Hub将推送通知发送到我的应用程序。

我可以使用AppDelegate类中的这段代码来控制我的IconBadgeNumber。

 var settings = UIUserNotificationSettings.GetSettingsForTypes(UIUserNotificationType.Badge, null);
  UIApplication.SharedApplication.RegisterUserNotificationSettings(settings);
  UIApplication.SharedApplication.ApplicationIconBadgeNumber = 0;

我可以计算推送通知的数量:

 public override void ReceivedRemoteNotification(UIApplication application, NSDictionary userInfo)
 {
     ProcessNotification(userInfo, false);
     UIApplication.SharedApplication.ApplicationIconBadgeNumber = UIApplication.SharedApplication.ApplicationIconBadgeNumber + 1; ;
 }

但是只有在我的应用程序打开的情况下,它才有效。当我的应用程序退出或关闭时,如何计算IconBadgeNumber的推送通知?

1 个答案:

答案 0 :(得分:0)

推送通知的数量取决于您在推送服务中的设置。例如

Message message = Message.builder()
.setApnsConfig(ApnsConfig.builder()
.putHeader("apns-priority", "10")
.setAps(Aps.builder()
.setAlert(ApsAlert.builder()
.setTitle("$GOOG up 1.43% on the day")
.setBody("$GOOG gained 11.80 points to close at 835.67, up 1.43% on the day.")
.build())
.setBadge(42)
.build())
.build())
.setTopic("industry-tech")
.build();

您可以设置徽章setBadge(xxx)的数量。