在開發向蘋果Apns推送消息服務功能,我們需要根據Apns接受的資料格式進行推送。下面積累了我在進行apns推送時候總結的 apns服務接受的Json資料格式
示例 1:
以下負載包含哦一個簡單的 aps 字典。它使用字元串而不是字典作為 alert 的值,該負載同樣包含了一個自定義的屬性數組。
{
"aps" : { "alert" : "message" },//alert表示推送的消息文本
"parm" : [ "key", "value" ] //parm 表示其他業務參數,提供擴充,ios端可以擷取到針對不同的業務邏輯需要與ios端進行參數結構的限制
}
示例 2:
該示例的負載包含了一個 aps 的字典,指定裝置顯示一個警告消息并在左邊包含一個關閉按鈕和右邊顯示一個本地化的”action”按鈕。在該例中,”PLAY”被作 為鍵使用來從Localizable.strings檔案裡面目前偏好語言的字典裡面擷取對應的“Play”的字元串。aps 字典同樣要求應用程式的圖示顯示數字 5。
{
"aps" : {
"alert" : {
"body" : "Bob wants to play poker", //消息
"action-loc-key" : “PLAY"
},
"badge" : 5, //顯示在App左上角的角标數,代表未讀消息,需要自己的服務進行統計和控制,apns不支援+1或者-1的操作。
},
"parm1" : "bar", //控制參數</span>
"parm2″ : [ "bang", "value" ] //擴充參數
}
示例 3:
該示例的負載指定裝置應用顯示一個警告資訊并包含關閉按鈕和檢視按鈕。同時它要求應用程式的圖示顯示數字 9,包含震動和提示音,預設sound為default
{
"aps" : {
"alert" : "message",//消息
"badge" : 9,//顯示9個角标
"sound" : "default" //震動提示音。預設為default
},
"parm1″ : "bar",//擴充參數1
"parm2″ : 2 //擴充參數2
}
示例 4:
下面的示例顯示了一個空的 aps 字典,因為 badge 屬性被隐藏了,是以目前應用程式圖示的任何數字都會被移除。而自定義屬性 acme2 是一個包含兩個整形的數組。
{
"aps" : {
"alert" : "",//空消息 不會出現彈窗提示
"badge" : 9,//顯示9個角标數,這種方法用于同一賬号登入兩台裝置,在一個裝置上看了消息,未讀書減少,另一個裝置上的腳表也有同步減少。
"sound" : "" //沒有真的和提示音
},
"acme1" : 1 //擴充參數
}
部落格内容僅代表個人觀點,如發現闡述有誤,麻煩指正,謝謝!