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

在此记录下使用Firebase云消息推送的过程:

在Firebase的console里面,选中自己的项目,左边菜单栏有个Project Overview的标签,有个齿轮图标,点进去可以看到项目设置;

Unity3D-使用Firebase中的云消息推送_第1张图片

我们需要在“云消息推送”的子标签里面上传一个“APNs 身份验证密钥”,该文件是需要你去苹果开发者网址下载一个.p8的密钥文件,等于是拿到苹果的远程推送的授权一样。接下来,我们就去 https://developer.apple.com/account/ios/certificate/ 这个里面的Keys下方创建一个APNs的文件

Unity3D-使用Firebase中的云消息推送_第2张图片


点击右边那个“+”号,添加一个新文件,取一个名字,勾上APNs

Unity3D-使用Firebase中的云消息推送_第3张图片


创建完毕之后,就可以点下载按钮,把这个文件下载下来啦,下载下来的就是.p8文件了!

然后到Firebase的console上面,把下载下来的.p8文件上传到第一张图 APNs 身份验证 的位置

Unity3D-使用Firebase中的云消息推送_第4张图片


其中,密钥ID是指刚刚生成的.p8文件的Key ID

Unity3D-使用Firebase中的云消息推送_第5张图片


而应用前缀ID是苹果开发者网址里面展示AppID里面的你自己的项目AppID下面的一个前缀,可以在苹果开发者网址看到

Unity3D-使用Firebase中的云消息推送_第6张图片


这里设置完毕之后,就可以愉快的使用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标志,以及标志的数量

Unity3D-使用Firebase中的云消息推送_第7张图片


到这里,云消息推送就完成啦,以后就只要在Firebase发号施令啦~





你可能感兴趣的:(C#,IOS,Unity3D,Firebase,Unity摸索记录)