Android 已收到Firebase Unity SDK消息

Android 已收到Firebase Unity SDK消息,android,unity3d,firebase,firebase-cloud-messaging,Android,Unity3d,Firebase,Firebase Cloud Messaging,我在Android上使用Firebase Unity SDK 1.1.0进行消息传递。我在游戏对象的开始方法中添加了TokenReceived和MessageReceived的侦听器,如快速入门教程中所述: void Start() { Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived; Firebase.Messaging.FirebaseMessaging.MessageReceived

我在Android上使用Firebase Unity SDK 1.1.0进行消息传递。我在游戏对象的开始方法中添加了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);
}

在应用程序暂停并通过点击通知条目(“UnityFirebase/stack overflow”条目)返回前台后,OnMessageReceived仍然被调用?我没有在我的项目中的ApplicationPause(bool paused){}中添加您的void。因此,它的工作原理如上所述。在OnApplicationPause中,无论是否有附加代码,所描述的行为都会发生。另外,它发生在不同的设备上(Oneplus 3和安卓7.0,三星S5和安卓5.1.1),我在这方面遇到了问题。当我在unity editor上运行游戏时,不会调用侦听器。我只需要GameSparks发送推送通知的注册令牌。你解决了吗?