繁体   English   中英

Firebase Unity SDK消息已接收

[英]Firebase Unity SDK MessageReceived

我正在使用Firebase Unity SDK 1.1.0在Android上进行消息传递。 我在游戏对象的Start方法中添加了TokenReceived和MessageReceived的侦听器,如快速入门教程中所述:

void Start() {
    Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
    Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}

只要应用程序处于前台,此方法就不会出现问题。 当应用程序发送到后台时,消息发送到通知托盘,当我点击通知时,我的应用程序又回到前台。 因此,到目前为止,一切都按预期进行。 但是之后,不再调用MessageReceived侦听器。 我尝试在OnApplicationPause中删除这两个侦听器,并在应用程序恢复时再次添加它们:

void OnApplicationPause(bool paused) {
    if (paused) {
        Firebase.Messaging.FirebaseMessaging.TokenReceived -= OnTokenReceived;
        Firebase.Messaging.FirebaseMessaging.MessageReceived -= OnMessageReceived;
    } else {
        Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
        Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
    }
}

但这没有帮助。 我还尝试了不带任何数据的纯通知消息,但这是相同的行为。 我是在做错什么还是Firebase Unity SDK仍处于测试阶段?

我可以在评论中添加它,但是不能包含图片,因此我将其包含在答案中。

该代码正确无误,当该应用程序处于活动状态,在后台甚至未启动时,我都会收到一条消息。 这是快照。 在此处输入图片说明

这是完整的代码:

public void Start()
{
    Debug.Log("Unity Firebase App started");
    Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
    Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}

public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token)
{
    Debug.Log("Received Registration Token: " + token.Token);
}

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e)
{
    Debug.Log("Received a new message from: " + e.Message.From);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM