Expoで通知のためのexpo push tokenが取得できない

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

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

公式サイトとシミュレーターは確認しよう・・・。

戻る