2017-01-15 48 views
1

AndroidでのメッセージングにFirebase Unity SDK 1.1.0を使用しています。クイックスタートチュートリアルで述べたように私は、ゲームオブジェクトのStartメソッドでTokenReceivedとMessageReceivedのリスナーを追加しました:Firebase Unity SDK MessageReceived

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

これは限りアプリがフォアグラウンドにあるよう問題なく動作します。アプリがバックグラウンドに送信されると、通知トレイにメッセージが送信され、通知をタップすると、アプリはフォアグラウンドに戻ります。したがって、この時点までにすべてが期待どおりに機能しています。しかしその後、MessageReceivedリスナーはもう呼び出されません。私はOnApplicationPauseの両方のリスナーを削除して、アプリケーションの再開時に再度追加しようとしました:

void OnApplicationPause(bool paused) { 
    if (paused) { 
     Firebase.Messaging.FirebaseMessaging.TokenReceived -= OnTokenReceived; 
     Firebase.Messaging.FirebaseMessaging.MessageReceived -= OnMessageReceived; 
    } else { 
     Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived; 
     Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived; 
    } 
} 

しかし、それは役に立ちませんでした。私はまた、データなしで純粋な通知メッセージを試みましたが、それは同じ動作です。間違ったことをやっているのですか?Firebase Unity SDKはまだベータ版ですか?

答えて

0

私はコメントにこれを入れることができましたが、写真を含めることはできませんでしたので、回答に同封しました。

コードが正しく、アプリがアクティブな状態、バックグラウンド状態、または起動していない状態でもメッセージが表示されます。ここにスナップショットがあります。ここでenter image description here

は完全なコードです:

public void Start() 
{ 
    Debug.Log("Unity Firebase App started"); 
    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); 
} 

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

そしてOnMessageReceivedは、通知エントリ(「UnityFirebase /スタックオーバーフロー」のエントリ)をタップしてアプリが一時停止した後も呼ばれ、前面に持ち帰っますか? – Uli

+0

私のプロジェクトであなたのvoid OnApplicationPause(bool paused){}を追加しませんでした。上記のように機能しました。 – David

+0

OnApplicationPauseの追加コードを使用する場合と使用しない場合があります。また、別のデバイスで発生します(Android 7.0のOneplus 3、Android 5.1.1のSamsung S53) – Uli

関連する問題