Firebase推播(上) - 文字推播

缘由:

推播可是App最特殊的功能之一了,我刚学App程序的时候,最好奇最想学的就是推播的功能了,概念我们大概讲一下,
推播分为本地推播和远程推播,本地推播满容易的,也可以在模拟器上测试,
但远程推播就比较麻烦一点了,需要开发者帐号、需要真机测试,以下讲解皆为远程推播~
远程推播主要的工具有推播平台、ios 装置、APP、APNs凭证
推播平台,在推播的角色上属於Provider,有些教学会说去下载应用程序来测试,例如APN Tester、Easy APNs Provider等等,但我最常用的就是Firebase(也会以此为主作说明)
iOS装置,因为远程推播需要以真机测试,且接收推播讯息的APP要记得打开隐私设定的推播允许
APP,需在APP设定中的Signing & Capabilities下加上”Push Notifications”启用推播功能
APNs凭证,这个凭证的存在是为了确保 iOS 装置与服务器之间的通讯安全,没有这个凭证是没办法收到推播讯息的(嗯...对的 要有付费的开发者帐号才能产出凭证

下面会以firebase作为推播平台来说明,Firebase官方也有完整的客户端设置文(https://firebase.google.com/docs/cloud-messaging/ios/client?authuser=2),
浅显易懂,大家可以试试或是参考下面的图文,若有疏漏请指教更正

实作:

XCode端设置

启用推播功能
https://ithelp.ithome.com.tw/upload/images/20210923/20130757hDqwxGqAuk.png
将Firebase推播专案注册完产出的GoogleService-Info.plist放进专案中
https://ithelp.ithome.com.tw/upload/images/20210923/20130757Yspel0mJDY.png

开发者帐号後台Apple Push Notification Service (APNS) 凭证设定(以P8凭证为例)

https://ithelp.ithome.com.tw/upload/images/20210923/20130757dYZCMsPxgN.png
https://ithelp.ithome.com.tw/upload/images/20210923/20130757TulmwEmpJH.png
https://ithelp.ithome.com.tw/upload/images/20210923/201307574e1gga4KIf.png

After downloading your key, it cannot be re-downloaded as the server copy is removed。
此凭证只能下载一次,若遗失只能再申请一个新的

Firebase端设置

创建专案
首先,登入google帐号後,创建一个专案,步骤如下:

1.新增专案
https://ithelp.ithome.com.tw/upload/images/20210923/20130757T8XYCUI4DD.jpg

2.建立专案,专案名称不重复
https://ithelp.ithome.com.tw/upload/images/20210923/20130757eHO4UgYDZc.jpg

3.此专案启用预设的分析功能
https://ithelp.ithome.com.tw/upload/images/20210923/20130757AouYduR8bx.jpg

4.建立此专案的分析帐户
https://ithelp.ithome.com.tw/upload/images/20210923/20130757Sc4x06DyJf.jpg

Firebase专案之APP连结设置
建立专案到目前为止已告一段落,接着是针对推播专案的基本设定:

1.选择推播装置
https://ithelp.ithome.com.tw/upload/images/20210923/20130757TnGPavbviz.jpg

2.设定APP ID(以iOS为例)
https://ithelp.ithome.com.tw/upload/images/20210923/20130757wg6zmnAHB2.jpg

3.下载Google服务的plist档汇入Xcode专案
https://ithelp.ithome.com.tw/upload/images/20210923/20130757AMJvIRhkeH.jpg

4.在Xcode专案中引入Firebase的第三方套件(需先安装Cocoapods)
https://ithelp.ithome.com.tw/upload/images/20210923/20130757RbAIHoxss1.jpg

5.添加初始化代码至Xcode专案里
https://ithelp.ithome.com.tw/upload/images/20210923/20130757ka10WPDYOm.jpg

6.设定完成回到主控台,接着到APPLE 开发者帐号後台申请P8或P12凭证,添加到Firebase指定专案的”专案设定”>”云端通讯”中
https://ithelp.ithome.com.tw/upload/images/20210923/20130757wVec78X4c9.png
https://ithelp.ithome.com.tw/upload/images/20210923/20130757Zyn691YbDX.png
https://ithelp.ithome.com.tw/upload/images/20210923/20130757Q4hppBmUCL.png

FCM推播内容设定
接着可以开始设定推播内容
1.主控台的侧边栏的”云端通讯”
https://ithelp.ithome.com.tw/upload/images/20210923/2013075791oSclhVLB.jpg

2.点击”新增通知”
https://ithelp.ithome.com.tw/upload/images/20210923/20130757FfolpZ1kxG.jpg

3.输入要推播的内容
https://ithelp.ithome.com.tw/upload/images/20210923/201307578XiCd7uEal.png

4.设定要推播的对象(App id、版号)
https://ithelp.ithome.com.tw/upload/images/20210923/20130757WJCrD064oe.png

5.设定要推播的时间
https://ithelp.ithome.com.tw/upload/images/20210923/20130757p30Cd6wxL0.png
下方的进阶选项可以自由选填,设定完毕就可以点击”审查”,等候推播。

文字推播示意图
https://ithelp.ithome.com.tw/upload/images/20210923/20130757T7zbPyomKj.png
https://ithelp.ithome.com.tw/upload/images/20210923/20130757EIOhnJkONB.png


<<:  [Day22] Esp32用STA mode + AHT10 - (程序码讲解)

>>:  【Day8】EditProfileFragment X Storage上传照片

ARM 架构的韧体设计?

目前正在决定是否要学ARM 架构的韧体设计? 因为看到文章 https://www.pttbrain...

{DAY 13} NumPy 学习笔记(中)

前言 今天要延续昨天的NumPy语法练习 内容会分成两大部分 将会涵盖如何提取、更新、删除阵列里的...

[Day13]C# 鸡础观念- 来个轮回吧~foreach回圈

我们曾经认识过for, 後来也遇到While, 如今又出现一个foreach foreach回圈 f...

Day 9 学习线上服务思考用户的数位防身术-国外篇

Day 8规划用户的个资自主权提及欧盟个资保护法(GDPR)定义的用户针对个资所行使权利,用户拥有被...

[Golang]同步工具-sync包的原子操作(下)-心智图总结

1. 比较和交换(compare and swap,简称CAS)跟交换(swap)有什麽不同? 比较...