一尘不染

如何发送静默的推送通知有效负载

swift

我只想知道如何确定在无提示推送中要执行的操作:

这是aps我发送给客户的:

"aps": {
    "content-available": 1
}

现在的问题是,当我添加type: "Order_Update"以确定静默推送是为了让“订单更新”显示警报通知时。


阅读 246

收藏
2020-07-07

共1个答案

一尘不染

有一些选择!让我们花点时间了解所有不同的有效负载及其用法。


简单有效载荷

显示在通知中心:是

唤醒应用以执行后台任务:否

{
    "aps" : {
        "alert" : "You received simple notification!",
        "badge" : 1,
        "sound" : "default"
    }
}

带有自定义通知声音的有效负载

显示在通知中心:是

唤醒应用以执行后台任务:否

Step 1 :在您的应用程序包中添加自定义通知声音文件(仅.wav或.aiff扩展名,例如notification.wav)。

Step 2 :如下所示配置有效负载以播放自定义声音

{
    "aps" : {
        "alert" : "It's a custom notification sound!",
        "badge" : 1,
        "sound" : "notification.wav"
    }
}

具有自定义有效负载的通知

显示在通知中心:是

唤醒应用以执行后台任务:否

{
    "aps" : {
        "alert" : "It's a notification with custom payload!",
        "badge" : 1,
        "content-available" : 0         
    },
    "data" :{
        "title" : "Game Request",
        "body" : "Bob wants to play poker",
        "action-loc-key" : "PLAY"
    },

}

在这里,data词典可保存您想要的自定义信息。它还将显示为带有警报消息“这是具有自定义有效负载的通知!”的普通通知。


正常静音通知

它不会将警报显示为通知栏。它只会通知您的应用程序有一些新数据可用,提示应用程序获取新内容。

显示在通知中心:否

唤醒应用以执行后台任务:是

{
    "content-available" : 1
}

具有自定义有效负载的无提示通知

魔术不仅可以显示通知警报,还可以在后台唤醒您的应用以执行任务!(注意:仅当它在后台运行并且未被用户明确杀死时才如此。)只需"content- available" : 1在您的有效负载中添加额外的参数即可。

显示在通知中心:是

唤醒应用以执行后台任务:是

{
    "aps" : {
        "alert" : "Notification with custom payload!",
        "badge" : 1,
        "content-available" : 1
    },
     "data" :{
        "title" : "Game Request",
        "body" : "Bob wants to play poker",
        "action-loc-key" : "PLAY"
     }
}

根据您的应用程序要求使用任何这些有效负载。有关信息,background app refresh请参阅Apple的文档。我希望这能给您所有必要的信息。快乐的编码:)

2020-07-07