Upgrade to Pro — share decks privately, control downloads, hide ads and more …

[Online] potatotips #74 iOS/Android開発Tips共有会

19f1fb8a5b63d66de15279a8c31695a1?s=47 zoo
June 23, 2021

[Online] potatotips #74 iOS/Android開発Tips共有会

date: 2021/6/23 (Wed)
title: 【FCM】Androidの通知設定でハマった話

19f1fb8a5b63d66de15279a8c31695a1?s=128

zoo

June 23, 2021
Tweet

Transcript

  1. 【FCM】 Androidの通知設定でハマった話 zoothezoo @zoothezoo_pro [Online] potatotips #74 iOS/Android開発Tips共有会

  2. Kohei Ikezu @zoothezoo_pro CyberAgent, Inc. Tapple, Inc. 2021年 新卒

  3. 話すこと - 今回のバグと解決方法 - ちょっとしたTips 話さないこと - 通知の作り方の基本 - FCMに概要など

  4. 🤔 Push通知がChannelに正常に割り振られない

  5. Foregroundではちゃんと処理されるがBackgroundの時に 🤔 Push通知がChannelに正常に割り振られない

  6. どうやって振り分けるの? Channel IDをChannelに設定する Push通知にChannel IDを指定する 届く🎉

  7. サーバ FCM Android

  8. 通知が届き続けてしまう 例)  いいねの通知受け取りをOFFにする  Push通知を受信してしまう

  9. Channel 「その他」 - 身に覚えのない「その他」が作成されている - 英語だと “miscellaneous” - 全ての通知が「その他」に割り振られてしまう

  10. 知らないChannelが作成されている - NotificationManager.getChannels() - 全てのチャンネルを取得 - 登録済みチャンネルの1つに 右のようなものがある - fcm_fallback

     _notification_channel??
  11. なぜ作成されるか? > 受信メッセージで通知チャネルが明示的に設定されていない場合、 > FCM では常にこの値が使用されます。 どうやらChannel IDが  明示的に設定されていないらしい

  12. データメッセージと通知メッセージ データメッセージ - クライアントで処理 - コールバック関数で処理 About FCM messages |

    Firebase 通知メッセージ - FCM SDKで自動処理 - BGでは通知トレイで受信 - FGではコールバック関数にて処理
  13. 今回のケースの解決方法 - Push通知をBackgroundで受け取りたいには通知メッセージ - key-valueの形式にてchannelIdを指定する - できる🎉

  14. tips: 自分で設定する - 予期せぬChannel IDが来る場合 - タイポなど - 自分で名前を設定できます -

    その他, OTHER etc. AndoidManifest.xml Set up a Firebase Cloud Messaging client app on Android
  15. tips: ChannelがOFFの状態を知りたい - ON/OFFを知れる関数はなさそう - 🔑 IMPORTANCE_NONE - デフォルトで通知OFFにしたいcreate する時点で設定

    Create and Manage Notification Channels How can I know programmatically if a notification channel is enabled on Android O?
  16. まとめ - サーバからChannel IDを指定する - Push通知を送るときは通知メッセージ - ドキュメントを読み込もう @zoothezoo_pro