Firebase Cloud Messaging with image- FCM圖片推播實作方法
實作此功能前請確認你的專案已經準備好FCM文字推播功能,我將以已有文字推播功能的前提下幫助你繼續完成文字+圖片推播的前置作業。
如果還沒有準備好文字推播功能可以看Firebase官方文件,一步一步照著做就能實現。
或是很多前輩已經將方法放到他們的medium上,給各位參考。
1.新增Notification Service Extension
在同一個專案內點選工具列 File >New >Target>Notification Service Extension>Next
命名完就可以點選Finish並且Activate
注意我們要的是Notification Service Extension,不是他旁邊的Notification Content Extension
新增好後就可以在旁邊的文件列表找到剛剛新增的notification service extension,第一步就完成了
2.為新增的Extension安裝Firebase/Messaging
找到你的Podfile並且新增這幾行在你的專案的end標籤下方(此方法在Archive階段會造成錯誤,修正方法請見下方。)
新增好之後要記得你的Extension的Deployment Target要跟你的main project一致
10/17號補充
這邊所下的 pod 指令雖然可以使整個專案 run 起來,但是會造成同一個專案安裝了兩個相同的 Framework,當你在 Archive 專案時系統會出現multiple commands produce error。
所以必須把 Podfile 修改成以下附圖
3.修改NotificationService.swift檔
在你的NotificationServiceExtension資料夾裡可以找到一個NotificationService.swift檔跟info.plist檔
編輯NotificationService.swift
import FirebaseMessaging
import完之後把第一個call back func 內的
contentHandler(bestAttemptContent)
替換成
FIRMessagingExtensionHelper().populateNotificationContent(bestAttemptContent, withContentHandler: contentHandler)
完成後應該會長這個樣子
然後就大功告成了
Rebuild之後到Firebase後台發個測試訊息
你應該會得到類似這樣的結果
希望大家都順利完成