APNS注意的事項(xiàng)

1.反饋服務(wù)

Apple 還提供了一個(gè)?反 饋服務(wù)?,你應(yīng)該定期查詢。它提供了一個(gè)以前使用過但不再有效的(例如用戶卸載了你的iPhone程序)設(shè)備令牌列表。你可以從你的數(shù)據(jù)庫中刪除這些設(shè)備令牌。

本教程不涉及反饋服務(wù)的使用。

2.創(chuàng)建載荷

使用 PHP 很容易根據(jù)數(shù)組并?轉(zhuǎn) 換成 JSON而創(chuàng)建載荷:

$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');

$payload = json_encode($payload);

顯示 $payload 的內(nèi)容可以看到傳送到APNS 的?JSON字符串:

{

"aps" : { "alert" : "This is the alert text", "badge" : 1, "sound" : "default" }

}

這將使消息顯示于設(shè)備上,觸發(fā)提升聲音并將“1”置于程序圖標(biāo)上。默認(rèn)按鈕“Close”和“View”同時(shí)會(huì)顯示于彈出窗口上。

對(duì)于 Server Density iPhone程序而言,讓用戶按下“View”直接進(jìn)入產(chǎn)生此提示的服務(wù)器是很重要的,所以我們增加了額外的自定義值:

$payload['aps'] = array('alert' => 'This is the alert text', 'badge' => 1, 'sound' => 'default');

$payload['server'] = array('serverId' => $serverId, 'name' => $name);

$output = json_encode($payload);

當(dāng)用戶按下“View”后,自定義server值將被傳遞到設(shè)備中的程序。JSON 值如下:

{

"aps" : { "alert" : "This is the alert text", "badge" : 1, "sound" : "default" },

"server" : { "serverId" : 1, "name" : "Server name")

}

256字節(jié)的限制適用于整個(gè)載荷,包括自定義字典集。

原生接口

在Server Density中,一旦產(chǎn)生了一條提示,將建立一個(gè)載荷并插入隊(duì)列中。因此有必要時(shí)我們可以同時(shí)發(fā)送多個(gè)載荷。

Apple推薦使用這種方法,因?yàn)槿绻阍诎l(fā)送各載荷時(shí)頻繁連接和斷開,APNS有可能會(huì)封鎖你的IP。

3.Push Notification Provider 是一個(gè)應(yīng)用程序,用于通過 APNs 發(fā)送推送通知給 iPhone 應(yīng)用。

通過 APNs 發(fā)送推送通知有幾個(gè)步驟:1. 使用前面創(chuàng)建的 SSL 證書與 APNs 通訊;

2. 構(gòu)造所要發(fā)送的消息載體;

3. 發(fā)送載體到APNs;

APNs 是一個(gè)基于流的 TCP socket,你的 provider 以 SSL 協(xié)議與其通訊。推送通知(包括載體)是以二進(jìn)制流的方式發(fā)送的。和APNs 建立連接后,你可以維持該連接并在連接中斷之前發(fā)送多個(gè)通知。

技巧: 應(yīng)避免每發(fā)送一次推送通知就建立、關(guān)閉一次連接。頻繁的建立、關(guān)閉連接可能會(huì)被 APNs 認(rèn)為是 DOS 攻擊,從而拒絕發(fā)送 provider 的推送通知發(fā)送請(qǐng)求。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容