Unity3D-使用Firebase中的云消息推送

来源:互联网 发布:python终止并行的运行 编辑:程序博客网 时间:2024/04/25 03:34

在此记录下使用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发号施令啦~