Firebase成功,但没有收到通知



,所以我的应用程序运行,通知起初正常工作。但是过了一会儿就停止了。

我尝试通过Firebase控制台发送,并返回成功,但该应用程序未收到通知。该应用程序在后台,并且较早起作用,应用程序或服务器端都没有更改代码。

如果我重新安装了该应用程序(获取新的令牌(,则通知将恢复正常(按预期工作(,但是如果令牌到期,则不应firebase Console返回错误(注册令牌错误或其他内容(?<<<<<</p>

我使用该应用程序只有几天了,所以代币会到期(文档说令牌将在6个月内到期(?而且我知道,每当用户运行我的应用程序时,实际上强制执行令牌刷新是一种不好的方法。

所以我做错了什么?因为如果我调试我的应用程序,一切正常。获得令牌,收到通知。

是的,通过FCM控制台发送通知并通过服务器产生相同的结果;成功,但没有通知。

OntokenRefresh代码看起来像以下内容:

  namespace FCMClient
{
    [Service]
    [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
    public class MyFirebaseIIDService : FirebaseInstanceIdService
    {
        const string TAG = "MyFirebaseIIDService";
        public override void OnTokenRefresh()
        {
            var refreshedToken = FirebaseInstanceId.Instance.Token;
            Log.Debug(TAG, "Refreshed token: " + refreshedToken);
            SendRegistrationToServer(refreshedToken);
        }
        void SendRegistrationToServer(string token)
        {
            //a post request to my server 
        }
    }
}

感谢您的任何见解。

这总是发生在我身上,这是一种错误或某些东西,我必须每次清洁和重建,这不会在发布时发生,您可以删除firebase实例并获取新的每当您调试时,每次运行应用程序时。

您可以将其写在您上

Task.Run(() => {  
var instanceid = FirebaseInstanceId.Instance;  
instanceid.DeleteInstanceId();  
Log.Debug("TAG", "{0} {1}", instanceid.Token, instanceid.GetToken(this.GetString(Resource.String.gcm_defaultSenderId), Firebase.Messaging.FirebaseMessaging.InstanceIdScope)); });

在firebase Console中添加调试指纹似乎可以解决问题。

相关内容

  • 没有找到相关文章

最新更新