0

Androidアプリでプッシュ通知にFirebaseを使用しています。しかし、アプリがバックグラウンドにあるときに通知を送信しています。通知がアプリケーションから無効になっている場合、Firebaseは通知を送信しています。これをどう扱う?

アプリ内から通知が無効になってもFirebaseが通知を送信しないようにするにはどうすればよいですか?

+1

こんにちは。アプリでプッシュ通知をどの程度正確に無効にしていますか?どのように通知を送信していますか?関連するコードスニペットとシナリオの詳細をご記入ください。 –

答えて

1

通知ペイロードを使用すると、アプリは常にバックグラウンドで通知を表示します。したがって、データペイロードを使用するだけで、コンソールからメッセージを送信する場合は不可能です。したがって、fcmサーバーにデータペイロードキーのみでメッセージを送信するには、独自のWebサーバーが必要です。データペイロードを単独で使用する場合は、onMessageReceived()が常にトリガーするため、アプリケーションをフォアグラウンドまたはバックグラウンドでチェックする必要があります。ここでは、linkはあなたのアプリがフォアグラウンドかバックグラウンドかをチェックする方法を示しています。

ここにあなたの質問に関する回答があります。あなたが値を取得し、あなたのonMessageReceived()

@Override 
public void onMessageReceived(RemoteMessage remoteMessage) { 
    if(appIsNotInForeGround){ //you will not want to show a notification if your app is running. 
     if(!isMuteNotificaition){ // Check wether your user mute the app 
      sendNotification(); //your custom notification builder. 
     } 
    } 
} 

参考リンク内のif文でそれを配置する必要があり、ユーザーの禁止sharePereferenceで通知やデータベース天気を示すデータを保存する場合、私はちょうどappIsNotInForeGroundのためにあなたを示しています。

+0

実際には私のアプリに通知ボタンがあり、通知がユーザによってオンになっている場合にのみ通知を送信したい。 – RahulAggarwal

関連する問題