在此记录下使用Firebase云消息推送的过程:
在Firebase的console里面,选中自己的项目,左边菜单栏有个Project Overview的标签,有个齿轮图标,点进去可以看到项目设置;
我们需要在“云消息推送”的子标签里面上传一个“APNs 身份验证密钥”,该文件是需要你去苹果开发者网址下载一个.p8的密钥文件,等于是拿到苹果的远程推送的授权一样。接下来,我们就去 https://developer.apple.com/account/ios/certificate/ 这个里面的Keys下方创建一个APNs的文件
点击右边那个“+”号,添加一个新文件,取一个名字,勾上APNs
创建完毕之后,就可以点下载按钮,把这个文件下载下来啦,下载下来的就是.p8文件了!
然后到Firebase的console上面,把下载下来的.p8文件上传到第一张图 APNs 身份验证 的位置
其中,密钥ID是指刚刚生成的.p8文件的Key ID
而应用前缀ID是苹果开发者网址里面展示AppID里面的你自己的项目AppID下面的一个前缀,可以在苹果开发者网址看到
这里设置完毕之后,就可以愉快的使用Firebase的云消息推送啦,不过你得使用真机测试,否则不会起作用哦!
使用就很简单了,其实都不需要在代码中添加额外代码,但是,如果需要对接受到的消息进行处理,那么还是要添加代码的
加入头文件:
using Firebase;
using System.Threading.Tasks;
using Firebase.Unity.Editor;
using Firebase.Messaging;
然后在启动的时候初始化,设置监听回调:
public void InitMessaging(){
FirebaseMessaging.TokenReceived += OnMessagingTokenReceived;
FirebaseMessaging.MessageReceived += OnMessageReceived;
}
void FreeMessaging(){
FirebaseMessaging.TokenReceived -= OnMessagingTokenReceived;
FirebaseMessaging.MessageReceived -= OnMessageReceived;
}
void OnMessagingTokenReceived(object sender, TokenReceivedEventArgs token){
Debug.Log("Received Registration Token: " + token.Token);
}
void OnMessageReceived(object sender, MessageReceivedEventArgs args){
Debug.Log("Received a new message from: " + args.Message.From);
Debug.Log("Message ID: " + args.Message.MessageId);
Debug.Log("Message Badge: " + args.Message.Notification.Badge);
Debug.Log("Message Title: " + args.Message.Notification.Title);
Debug.Log("Message Body: " + args.Message.Notification.Body);
}
另外,如果想添加图标上的badge number,是可以直接在Firebase的console上面设置的,在编辑消息里面,高级选项中设置是否有声音,是否有iOS标志,以及标志的数量
到这里,云消息推送就完成啦,以后就只要在Firebase发号施令啦~