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はまだベータ版ですか?
そしてOnMessageReceivedは、通知エントリ(「UnityFirebase /スタックオーバーフロー」のエントリ)をタップしてアプリが一時停止した後も呼ばれ、前面に持ち帰っますか? – Uli
私のプロジェクトであなたのvoid OnApplicationPause(bool paused){}を追加しませんでした。上記のように機能しました。 – David
OnApplicationPauseの追加コードを使用する場合と使用しない場合があります。また、別のデバイスで発生します(Android 7.0のOneplus 3、Android 5.1.1のSamsung S53) – Uli