ExpoのNotifications
ライブラリ云々以前のセットアップの話
ここでプッシュ通知を実際に送ってデバッグできる
debug方法
Simulator上では機能しないので実機を使うこと
Simulator上ではPermissionが常にundeterminedになる
buildしなくても動く
普通にQRコードから実機で動かした状態で、iPhoneの画面を消す
実装の概要
clientとbackendの両方で実装が必要
clientでやること
userにpush通知の許可を得る
subscribeする処理
backendでやること
ExpoPushTokenをuserと紐付けてDBに保存しておく
実際にpush通知を送る用のAPIの実装
setup
frontend
2つやることがある
userにpush通知の許可を得る
mailでいうmail addressのようなもの
backend
別途作業が必要?
But when using EAS Build or the bare workflow, you'll need to use the expo credentials:manager command to upload your push notification credentials to Expo's servers. You can find more detailed instructions here. ref FCM, APN
アプリ起動時のプッシュ通知を操作するためには
Notifications.addNotificationReceivedListenerらへんを使う
例えば、アプリを触っているときに通知が来たら、ボトムタブのマイページのアイコンに数字アイコンを表示する、など
Androidはどういう仕組なのか
普通にExpoを使っていてもFCMの設定が必要なのか
Firebase Cloud Messaging
const deviceToken = await Notifications.getExpoPushTokenAsync()が動かない
けっこう詰まっていたが何もしてないのに直った...mrsekut.icon
alert(deviceToken.data);で見るとか
FCMの設定が必要(iosなので関係なさそうだけども)
そもそもビルドしないと動かないもの?
expo-notificationはexpoのversionが3.8以上でないと動かない
Expo Notifications: Invariant Violation: Native module cannot be null.みたいなエラーが出る