在收到FCM推送通知时设置应用程序徽章iOS(Swift)

有效负载就是您的内容:

我们刚才所做的大部分工作都会在本地通知中替换触发器。 通知的内容可在有效负载中找到。 回到测试平台,您会发现:

  {“ aps”: 
{
“警报”:“输入您的消息”,“徽章”:1,“声音”:“默认”
}
}

理想情况下,您的JSON文件应如下所示。 您只有4K的有效负载,因此在空间上浪费它已成问题。 发送有效载荷时,请避免步伐过快。 但是,很难以这种方式阅读。 看起来像这样更好:

  { 
“ aps”:{
“ alert”:“输入您的信息”,
“徽章”:1,
“声音”:“默认”
}
}

aps是JSON字典,其中包含描述您的内容的条目。 警报条目可以是此处的字符串,也可以是描述设备上显示的警报内容的字典。 徽章给出了要在徽章图标上显示的数字。 声音播放默认声音。 您可以修改此有效负载以更改警报中显示的内容。 由于警报既可以是字典,也可以是字符串,因此您可以为其添加更多内容。 将有效负载更改为此:

  { 
“ aps”:{
“警报”:{
“ title”:“ Push Pizza Co.”,
“ body”:“您的披萨准备好了!”
},
“徽章”:42,
“声音”:“默认”
}
}

这将添加标题和一条有关您的比萨准备就绪的消息。 它还会将徽章更改为42。

  {“ aps”:{“ alert”:{“ title”:“ Push Pizza Co。”,“ body”:“比萨饼准备好了!”},“徽章”:42,“声音”:“默认”}} 

该通知将显示标题和正文。 徽章显示为数字42。

但是,您也可以在应用程序处于活动状态时进行更改。 通过注册UserNotificationType,您将需要用户的许可。 获得许可后,可以将其更改为所需的任何数字。

  application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes:UIUserNotificationType.Sound | UIUserNotificationType.Alert | 
UIUserNotificationType.Badge,类别:无
))

application.applicationIconBadgeNumber = 5

您也可以这样做:

 让badgeCount:Int = 10 
让应用程序= UIApplication.shared
让中心= UNUserNotificationCenter.current()
center.requestAuthorization(options:[。badge,.alert,.sound]){(已授予,错误)在
//根据授权启用或禁用功能。
}
application.registerForRemoteNotifications()
application.applicationIconBadgeNumber = badgeCount

注意:请检查应用程序的许可权限,例如:

下载代码:

https://github.com/javedmultani16/PushNotificationDemo