實作iOS推播功能

1. 為何要有推播

Push Notification (推播) 是在APP上面很常見的功能 他可以主動的推播訊息到使用者的APP上面

在這裡主要以iOS的推播為主

說明一下為何需要有推播這個功能呢? 如果開發者需要傳送即時訊息到APP的話呢 其實APP也可以自己實作這個功能

方式就有很多種, 例如:最簡單的就是polling固定時間去APP的伺服器查看是否有新的資料 或是APP和伺服器建立一個socket連線通道, 伺服器可以主動的傳送推播資料到APP上

但是問題有兩點:

  1. iOS上面不提供APP在背景上執行這些功能
  2. 如果每個APP都自己實作這個功能的話, 會佔用大量的網路連線資源 和沒有統一的一套訊息傳送和顯示的方式

因次才會有APNS(Apple Push Notification service (APNs))來專門提供這個功能

2. Apple Push Notification service (APNs) 運作方式

3. 在Apple Developer Center 設定APP推播功能

4. iOS 取的Token

5. 取得的Token回傳到Server記錄下來

6. Server和APNS的溝通 如何產生pem

7. Ruby利用 https://github.com/rpush/rpush 來傳送推播資料到APNS

8. iOS Device 接收到推播訊息時, 使用者動作處理, 點選推播內容, 跳到指定內容