2017 TCN創客松Start-Up 紀錄


在我們的作品中有使用到Firebase 推播服務FCM(FireBase Cloud Messaging),覺得這部分很實用且以後還會用到,所以在此紀錄一下步驟。


1. 使用 cocoaPods 載入 Google Cloud Message SDK 至 Xcode 中

如果只使用推播服務的話只需pod以下兩個
pod 'Firebase/Core'
pod 'Firebase/Messaging'


2. 使用 Google 帳號登入 Firebase 後台並建立專案

2.1 新建專案

名稱可自訂,專案ID不需更改,完成後點選建立專案。
2.2將 Firebase 加入 iOS 的應用程式

2.3 iOS繫結ID: 需對應Xcode專案的bundle identifier
2.4 下載GoogleService-info.plist後,加入到專案底下。
完成後一直按繼續到完成即可。

3. 從 key chain 匯出 .certSigningRequest (CSR) 檔案

3.1 打開鑰匙圈,選擇左上鑰匙圈存取憑證輔助程式從憑證授權要求憑證

使用者電子郵件位址:Apple ID 的 email

一般名稱:英文名字

已將要求:儲存到磁碟

按繼續後即輸出完成


4. 登入開發者後台創建含有遠程通知服務的 APP IDs

4.1登入後台的 Certificates, Identifiers &Profiles

4.2 在左列的選單選擇 App IDs 並點選「+」

4.3 註冊 App ID

name:任意填入

bundle ID: 填入Xcode專案的bundle identifier (同2.3)

往下拉看到Enable Service :勾選 Push Notification
完成後按下Continue

接著按下Register

5. 配置 App IDs 遠程通知的設定

5.1 點擊剛剛產生的 App ID 展開後,點選 Edit

5.2 往下滾找到產生測試時期通知的 SSL 證書(Development SSL Certificate),點擊 Create Certificate

5.3 上傳步驟 3 所產生的 CertificateSigningRequest.certSigningRequest(CSR) 檔案

完成後點Continue

5.4 下載 .cer 檔案

下載後直接點擊兩下,系統會自動安裝到鑰匙圈
檢查是否安裝到鑰匙圈


6.先至後台確認測試的設備有無註冊過,若沒有才要執行註冊的動作,下圖表示已註冊過。


7. 在 Apple 開發者後台配置 Provisioning Profiles(僅測試環境需要設定)

7.1 在 Apple 開發者後台選取左側選單點擊 Provisioning Profiles下的 Development(開發時期測試用),並點選「+」號

7.2 選取 iOS App Development 後點選 Continue

7.3 選擇剛剛創建的 App ID 後點選 Continue

7.4 選擇 iOS 開發者證書,若不確認是哪一個的話,全部勾選即可

7.5 選擇測試的設備

7.6 替 Profile 命名(任意即可,因只是測試用的)

完成後按下Continue,進入下一個頁面點選下載
下載後雙擊即自動安裝


8. 在 Firebase 後台專案底下匯入步驟 7 所產生的憑證(.p12檔)

8.1 打開鑰匙圈點選左側選單憑證 → 展開步驟 7.6 所安裝的憑證檔 → 展開的項目右鍵 → 輸出…

注意檔案格式需為 (.p12)

8.2點選儲存後系統會詢問是否輸入密碼來保護該檔案,可以直接選擇「好」來跳過該提示,也可自行輸入密碼來保護,但請牢記該密碼,因在上傳到 Firebase 時會用到。

8.3登入 Firebase 後台將匯出的 .p12 檔上傳,請使用 Safari 10(含)以上的版本或 Chrome 開啟,否則會看不到該功能

Overview 旁的齒輪 → 專案設定 → Cloud Message → 上傳憑證 → 選擇步驟 8.1 產出的 .p12 檔
*若8.2時有設定密碼,此時會跳出視窗請您再輸入密碼。
以上已完成所有的設定了,再來要在 Xcode 裡加入.接收遠端通知的程式碼了。

9. 撰寫接收遠程通知的程式碼。

Messaging.messaging().subscribe(toTopic: "/topics/iOSTest")
這行是利用FCM的Server訂閱:"/topics/自訂name"
往後要發送推播通知給指定topic時只要打: "to" : "/topics/自訂name",這樣所有有訂閱這個topic的裝置都會收到推播通知。

9.1 打開 Xcode Push Notification 的選項

選擇專案 → TARGETS → Capabilities → ON


10. 現在來測試吧!

記得要先允許傳送通知

大功告成!!

參考資料:

https://firebase.google.com/docs/ios/setup

https://medium.com/@mikru168/ios-google-notification-firebase-cloud-message-c2849117be08

results matching ""

    No results matching ""