Just My Life & My Work

Posts tagged ‘push’

[iOS] 推播驗證區分 p12 憑證與 p8 金鑰

最近需要整合中國可比較順利收到遠端推播的平台極光,我們決定使用最新的 Apple 推播通知(APNs)認證機制。

先前已有在文章:Apple 推播通知服務憑證更新研究過,了解舊的 p12 憑證與新的 p8 金鑰之差異,有更好的方法就與時俱進吧!

.

1. .p12 憑證

  • 舊機制:以前要使用 APNs,必須在 Apple Developer 產生「推播憑證(Push Certificate)」,然後把它匯出成 .p12 檔案(包含憑證與私鑰)。
  • 綁定性高:這個 .p12 是針對「單一 App」產生的,每個 App 要推播就得有自己的憑證。
  • 管理麻煩:如果有很多 App,要管理很多 .p12,到期還得逐一更新。

2. .p8 金鑰

  • 新機制 (2016 後):Apple 推出了「APNs Auth Key」機制,用 .p8 私鑰檔案來取代傳統憑證。
  • 好處
    • 一把 .p8 金鑰可以同時支援多個 App,不需要為每個 App 建立不同檔案。
    • 不會每年過期,只要不撤銷,金鑰就一直有效。
    • 伺服器端使用 JWT(JSON Web Token)來跟 APNs 做身份驗證,安全性更好。
  • 限制:一個 Apple 開發者帳號最多能建立 2 組 APNs .p8 金鑰。

小結

  • .p12 → 舊式、以「App」為單位的憑證,會過期,需要管理多份。
  • .p8 → 新式、以「帳號」為單位的金鑰,不會過期,維護更簡單。
(繼續閱讀…)

[iOS] Apple 推播通知服務憑證更新

現在推播憑證期限為13個月(多一個月讓你心理準備XD),不過這次才過了半年就發生問題,實際上是可以發出推播,但是手機收不到推播,那到底是什麼問題呢?

追查後發現,原來是我們家的Server太舊,還沒支援HTTP/2,原以為Apple沒有公告,後來找到了,印象中有看過這一通知,但是我沒太留意,畢竟我不曉得我們家Server沒支援HTTP/2呀⋯⋯😝

升級HTTP/2有何好處?可以讓你的網站瀏覽起來更快、更安全、SEO加分!比較 HTTP/1.1 和 HTTP/2 的速度差異,這在圖多的情況最為明顯~

HTTP/2 TECHNOLOGY DEMO

技術總是要與時俱進呀~套一句話,技術如逆水行舟,不進則退~也就是你若保持在原地,其實就是退步,因為他人一直在往前!😙

廣告
(繼續閱讀…)

[iOS] 更新推播憑證 (Renew Push Certificate)

又到了一年一度更新推播憑證的時候!因為先前僅有初次產出推播憑證經驗,但沒有更新推播憑證的經驗,以為會有多難,沒想到就跟初次一樣的步驟。🧐

發現舊有的憑證無法更新期限,那麼就如同第一次建立新的推播憑證吧!此次推播憑證更新:2020/10/05,期限:2021/11/04,有效期間為13個月

廣告
廣告
(繼續閱讀…)

[iOS] iOS 13 Device Token 問題

某天老闆心血來潮,要推播促銷活動,發現奇怪的問題⋯⋯查詢後原來是iOS 13 Apple推播通知回傳的Device Token改變了規則~

我立馬測試我們家App取得的Device Token,結果如下:

Xcode 11編譯跑在iOS 13

Printing description of deviceToken:
<a9df8591 f9be281b 45b7fd30 c452c298 05d04532 1c8e5e93 83079040 2efd1b83>
Printing description of deviceTokebStr:
{length=32,bytes=0xa9df8591f9be281b45b7fd30c452c298…830790402efd1b83}

Xcode 11編譯跑在iOS 11

Printing description of deviceToken:
<f144b48d 96957ab9 16717a2e e36d56a3 e91c0f7f 48623985 021173dd c4097c0e>
Printing description of deviceTokebStr:
f144b48d96957ab916717a2ee36d56a3e91c0f7f48623985021173ddc4097c0e

可以看到原本該是64字元的字串,變成有length和bytes,於是乎要再另外處理。

(繼續閱讀…)

[圖解][iOS] 蘋果推播通知服務 (Apple Push Notification Service)

會使用手機的人都一定會接觸到推播通知!身為iOS App開發者三年的我,也只大概瞭解其如何實作,現在我要來揭開它詳細的運作原理與架構。這裡也不想花大篇幅描述太多細節,不是很聰明的我就用圖解蘋果推播通知服務 (Apple Push Notification Service)的方式來理解它!

Apple Push Notification Service00003

官方開發者文件已經說得非常清楚,然而會主動去翻來看的人並不多,大概是因為全部都是英文描述,加上十分詳細的說明,讓想要快速上手的人另尋其它網頁。上週幫朋友小A測試iOS後台推播,更進一步知道如何申請推播憑證,在此之前要先申請開發憑證!才知道iOS的推播還真的很「耐人尋味」。想起八月份的百貨公司案子,所使用的後台推播服務是被臉書收購的Parse,它讓我不必自製一個後台就能輕易地把訊息推播到裝置上!

(繼續閱讀…)

標籤雲