【发布时间】: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