Xamarin Push Notification (用 Firebase 經 APN 發至 iPhone)

蘋果一向都唔係咁歡迎人哋答順風車嘅,所以,要 send notification 俾 iPhone 就較為複雜:

  1. 首先,你要俾錢做 developer
  2. 去 Developer Console 整張 APN Cert(APN 係 Apple Push Notification)
  3. 留意,張 Cert 有分 Development 同 Production,兩張 Certs 唔互通
  4. 下載張 Cert
  5. 轉成 .p12 格式
  6. 上載到 Firebase Console

據說將會簡化,不過,今日係 2018 年 2 月 1 日,仲未見有。

步驟就唔算多,祗不過就要用到好多 programs 先搞到:

 

先去 Firebase Console 睇下你個 project 欠嘅 APN 資料喺邊?左下方,APNs Certificates 係吉嘅,我哋要 upload 兩張 Certs! 😆 由 Apple Developer Console 開始,我跳咗啲,假設你識基本嘅動作 🙄 ,打開你個  project 用緊嘅 App IDs,藍色 highlight 咗嗰行。
 
Edit 前,Application Services 淨係選咗 Push Notifications。其他三個係蘋果硬要嘅,冇得唔要,討厭!  兩張 Certs,暫時係吉嘅,要一個一個 create。
畫面係叫你準備好一張叫 CSR 嘅 Cert,照指示做就可以了,於是要用到你部 Mac 機 嘅 Keychain Access program。 Launch 你個 Keychain Access program,click 畫面 highlight 咗藍色嘅選項。哩度有個 catch,如果你從未用過 Create a Certificate Authority,macOS 會 gen 一張 1 年後會 expire 嘅 Cert,年年要 renew 有啲時候覺得唔係幾方便!
填充題,User Email Address 用你登記 Apple ID 嘅 email address,Common Name 可以隨便打,不過為咗日後方便記,建議你用你個 project name,跟著選 Save to disk。  搞掂,可以 save。
返番去 Developer Console,上載張 CSR。 冇其他嘢講,Apple 立即整張 Cert 俾你。
可以 Download 張 Cert,個檔案名會係 aps_development.cer 再整埋張 Production Cert,用同一張 CSR 就得。Download 張 Cert,個檔案名會係 aps.cer
你喺 Finder double click 兩張 cer 會自動 import 同時會 launch Keychain Access。 Highlight 第一張 Cert,click File > Export Items,不過 File Formats 選唔倒 p12?  😳
要將兩張 Certs 都搬去 login 先可以 export 做 p12 格式。 哩張圖係錯既,唔可以選 private key,一定要 export 成張 Cert。我一開始冇得選 certificate 焗住選 private key,不過上到  Firebase 佢就唔俾你用。 🙁
撞咗板之後再試 export 嘅時候佢就准我 export certificate,原因不明。不過就發現,如果你先 launch Keychain Access,同時 position 咗喺 login + My Certificates,咁樣 double click 兩隻 cer 檔案,會自動加入正確 folder,唔使搬嚟搬去。 可以 export 嘅時候會問你個檔案名,我用個 project 名加 Development APN,再嚟會問你想用咩密碼?要記低個密碼方便日後用。
Keychain Access 會再問你要密碼先會做 export,今次係你個 login 密碼。 一次過整埋張 Production Cert。
終於輪到 Firebase Certificate password 就係啱啱叫你記低嗰個
搞埋 Production Firebase 順利完成 APNs 資料登記
可以用 Firebase Notifications 發出你第一個 notification 喇! 😆

如果一切正常,你就唔使用到最後𠴱張圖!

埋咗好多地雷, 😆
有個 program 可以幫手做 APN 測試,去 App Store 搵 Easy APNs Provider,1. 填上你做測試部 iPhone 嘅 device token,2. 選用其中一張 .cer,3. 駁去 Apple,sandbox 係俾 Development 用,4. 填啲 notification 內容,5. 發出 notification。
Feedback Status 會顯示你期望嘅反應數據。

就係咁多!呀,提醒一下,最重要係搵出你部 iPhone 嘅 device token。 :mrgreen: