LoginSignup
yamada0088
@yamada0088

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【Flutter/FCM】プッシュ通知のON、OFFの実装方法についてです

解決したいこと

FlutterアプリにFCMを使ってプッシュ通知を実装しました。
次に、プッシュ通知の内容によって(SNSアプリでいうと、自身の投稿に「いいね」がついたときのプッシュ通知を受け取るかどうかなど)のON、OFFをFlutterアプリ(クライアント)側から設定できるようにしたいです。

具体的な実装方法を調べたのですが見つけることができなかったのでこちらで質問させていただきます。

私が考えた方法では、firestorageに各ユーザーごとにプッシュ通知の項目ごとの設定値を保存しておき、プッシュ通知送信時にその保存していた値を確認し、その値によってpayloadの値にnotificationを付与するか決める。
という方法があると思います。

しかしその場合firestoreに保存するデータ量がプッシュ通知の項目ごと(「いいね」であったり「メンション」ごとのプッシュ通知など)に値を保存しなければならないことと、クライアントがプッシュ通知可否の設定を変更するたびにfirestoreとのやりとりが発生したり、色々通信が増えてしまいます。

なので、firestoreにプッシュ通知可否の値を保存してFCMを送信するたびに確認する方法意外に、プッシュ通知の項目ごとにクライアントでプッシュ通知をおこなかどうか判断する方法はありますでしょうか?

0

1Answer

それくらいの軽量なデータであれば、ローカルに保存するのはいかがでしょうか?
flutterであればデバイスのローカルストレージ内にデータを保存するライブラリが多数存在するはずです。
あくまで一例ですがsqfliteとか

1

Comments

  1. @yamada0088

    Questioner

    回答ありがとうございます。
    ローカルに保存する方法も考えたのですが、バッググラウンドでのメッセージ受信時にローカルに保存した場合には別メモリ空間のため、アプリを再起動しなければ保存されたメッセージデータを取得することができないんですよね。

  2. @yamada0088

    Questioner
     final prefe = await SharedPreferences.getInstance();
      await prefe.reload();
    

    これを使えばうまく行きました!ありがとうございます。

Your answer might help someone💌