Firebase、Unity、およびnode-gcmの助けを借りてnodejsから送信することで、アンドロイド上の重複通知メッセージの原因を見つけるのに苦労しています。ここでFirebaseはAndroidで2つの通知を表示します
は、すべての相対コードです:私が得た
Unity3dクライアント側は:
public class PushServiceManager : MonoBehaviour
{
public string Identifier;
public string SkuId;
public SQSParameters sqsOptions;
private SQSManager sqs;
// Use this for initialization
void Start()
{
sqs = new SQSManager(this.sqsOptions);
sqs.Initialize(this.gameObject);
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);
RegistrationToken t = new RegistrationToken();
t.id_token = token.Token;
// sends token to node server
sqs.SendRegistrationToken(t);
}
public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e)
{
Debug.Log(e.Message.Data.ToString());
}
}
Nodejsサーバ側:デバイス上
pushNotification(pushRequest, tokens, callback) {
// This is an array of firebase tokens
let registrationTokens = tokens.map(function (token) {
return token.token;
});
let message = new gcm.Message({
timeToLive: pushRequest.ttl
});
let note = {
title: 'Message title',
icon: 'none',
sound: 'none',
body: 'message text'
};
message.addNotification(note);
let payload = {
data: {foo: "foo"}
}
message.addData(payload);
this.sender.send(message, {registrationTokens}, callback);
}
質問:
2番目の空のプッシュ通知が表示されるのはなぜですか。
最初の1つをタップすると、期待通りにユニティゲームが開きますが、空のタップは表示されません。
どこが違うのですか?
ありがとうございました!
01.31.17 UPDATE:
完封この問題に探しのためのサポートチームをfirebaseする...
この質問を修正したばかりです。 –