【问题标题】:Firebase OnTokenReceived Doesn't Get Triggered in UnityFirebase OnTokenReceived 不会在 Unity 中触发
【发布时间】:2017-03-19 18:17:32
【问题描述】:

我需要在我的统一游戏中为推送通知设置 FCM。为此,我正在使用 Firebase 文档中提到的初始化代码:

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

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

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

游戏使用 GameSparks 提供后端服务。我想在排行榜中通知用户新的高分。为此,我必须为推送通知注册设备,根据 GameSparks 的文档,以下代码用于注册推送:

  new PushRegistrationRequest()
        .SetDeviceOS(deviceOS)
        .SetPushId(pushId)
        .Send((response) => {
        string registrationId = response.RegistrationId; 
        GSData scriptData = response.ScriptData; 
        });

pushId 是从调用 FirebaseInstanceID.getToken() 返回的注册 ID 得到的,如提到的 here。我在这里做错了吗?如果有更好的解决方案也请告诉我。提前谢谢你。

【问题讨论】:

  • 需要更多细节。你收到 OnTokenReceived 日志了吗?
  • @Deepscorn 实际上在编辑器中它不会被调用。但在设备上它确实调用了。很抱歉之前没有发布答案。我很忙。

标签: c# unity3d firebase firebase-cloud-messaging


【解决方案1】:

如果您不是在 Android 设备上构建和运行 Unity 项目,您将不会收到令牌。如果您在您的设备上运行它并连接到您的计算机,您可以使用以下命令检查是否触发了日志消息:

adb logcat -s Unity

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-02
    • 2020-07-25
    相关资源
    最近更新 更多