2016
07
18

Swift 新手指南:為 iOS Apps 添加推送通知(Push Notifications)[轉載於APPCODA]

關鍵字:SwiftPush Notifications推播iosAPPs

當 App 不運行的時候,如果有某些事情發生时需要提醒用戶關注,那就需要用到某種通知技術。作為一個 iOS 開發者,我們知道 iOS 支持兩種通知:本地通知和推送(或者遠程)通知。前者是由 App 自己註冊和發起的,實現起來要相对簡單。實際上,我們可以在這裡 和 這裡找到一堆較早的教程,是關於本地通知的。

推送通知則不是由 App 自己發起的。它由另外的服務(叫做提供者)發起,這個服務通常是指某個 web 服務器,它通常會同時發給多台設備。通過推送通知,編寫 App 的人可以向用戶發送信息,可以隨機發送,也可以有計劃地發送,可以定制消息體,也可以使用默認的消息體。請看這裡,你會對蘋果推送通知有一個很好的了解。

從一個提供者發送一條消息到一個或多個設備,需要使用一個強制的通道。那就是蘋果推送通知服務器,或APN 服務器。由這些服務器將推送通知按指定路線發送到正確的設備,在提供者提交後幾秒,這些消息就會被送達。簡而言之,遠程通知的生命週期可以簡化為:提供者 >> APN 服務器 >> 目標設備

 

我建議你看一下官方文檔,这里介紹了推送通知的工作機制。

一個 App 要想接收到推送通知,需要經過幾個步驟。這些步驟可以分為兩部分:編碼部分以及各種證書、設備描述文件的制作。編碼部分很簡單,只是一些模式化的程式碼。困難的是第二部分,這裡有許多額外的工作需要到不同的地方完成,比如 Mac OS 鑰匙串、項目设置以及蘋果開發者成員中心。

此外,遠程通知有兩種:沙盒環境的遠程通知,用於開發階段進行測試,以及生產環境的遠程通知,用於生產階段。如果你在沙盒環境中發出的通知成功被 App 收到,並且你前面經歷的步驟都是正確的,那麼就可以確認生產環境也基本 OK。自然,蘋果的測試服務器只能用來發送沙盒通知,它不能用於生產目的。

本教程的目的很簡單:我們將在一個範例 App 中啟用推送通知,然後用沙盒環境發送幾條通知以確認其工作正常。希望在你下一次準備將推送通知特性添加到 App 中時,這篇教程能給你提供一些助力。最主要的是,本教程能幫你解決在使用推送通知的過程中遇到的種種困惑和煩惱。

http://www.appcoda.com.tw/push-notification-ios/

其他參考

https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html

http://blog.maxkit.com.tw/2014/03/iospush-notification-providerjava-apns.html

傑立資訊傑立資訊事業有限公司

電話:(02)2739-9096 | 傳真:(02)2739-6637 | 客服:[email protected] | 臺北市信義區和平東路3段257號6樓map

© 2016 傑立資訊 All rights reserved.法律顧問:宇恒法律事務所