2017-03-19 5 views
0

Ich muss FCM für Push-Benachrichtigung in meinem Einheitsspiel einrichten. Dafür ist ich mit der Initialisierung Code, der in der Firebase docs erwähnt wird, nämlich:Firebase OnTokenReceived wird nicht in Unity ausgelöst

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); 
} 

Das Spiel nutzt GameSparks für Back-End-Dienst. Ich möchte den Nutzer in der Rangliste über den neuen High Score informieren. Um das zu tun I-Device für Push-Benachrichtigung registrieren und nach GameSparks der Dokumentation wird der folgende Code verwendet registrieren Push:

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

Die pushId aus genommen wird, ist die Registrierungs-ID aus dem Aufruf von FirebaseInstanceID.getToken() zurückgeführt, wie here erwähnt . Habe ich hier etwas falsch gemacht? Wenn es eine bessere Lösung gibt, sag es mir bitte auch. Vielen Dank im Voraus.

+0

weitere Informationen benötigen. Erhalten Sie OnTokenReceived-Protokoll? – Deepscorn

+0

@Deepscorn Eigentlich im Editor wird es nicht aufgerufen. Aber auf dem Gerät heißt es. Tut mir leid, dass ich die Antwort nicht gepostet habe. Ich war beschäftigt. –

Antwort

0

Wenn Sie das Unity-Projekt nicht auf einem Android-Gerät erstellen und ausführen, erhalten Sie kein Token. Wenn Sie es auf dem Gerät laufen lassen und sind an den Computer angeschlossen sind, können Sie überprüfen, ob die Log-Nachricht mit ausgelöst:

adb logcat -s Unity