Expoで通知のためのexpo push tokenが取得できない
戻る
公開日:2024/10/25

React Native ExpoでPUSH通知をしたかったので、expo push tokenを取得した時のメモ。
Expo Goアプリでスマホの実機確認した時はexpo push tokenは取得できたのですが、
実際にappleに申請したアプリからは取得できませんでした。。
そこで、シミュレーター用のファイルを作成して試してみました。(Expo Goだけじゃなくてシミュレーターでも試せば良かったんですが😅)
eas build -p ios --profile=previewそしたらエラーメッセージが表示されてました。実機ではエラー出てなかったので気づかず。
詳細をメモ忘れたのですが、project idがないとのエラー。
そこで以下のように修正したところ、expo push tokenが取得できるようになりました!
変更前
// デバイストークンの取得
const token = (await Notifications.getExpoPushTokenAsync()).data;変更後
const projectId =
Constants?.expoConfig?.extra?.eas?.projectId ??
Constants?.easConfig?.projectId;
if (!projectId) {
throw new Error("Project ID not found");
}
// デバイストークンの取得
const token = (await Notifications.getExpoPushTokenAsync({ projectId }))
.data;公式にちゃんと書いてありました・・。
https://docs.expo.dev/versions/latest/sdk/notifications/#installation
公式サイトとシミュレーターは確認しよう・・・。
戻る
