You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

调用getExpoPushTokenAsync遇VALIDATION_ERROR:projectId需为有效GUID求助

问题原因及解决方案

核心问题

你混淆了projectId的来源:Notifications.getExpoPushTokenAsync要求传入的不是Firebase的项目ID,而是Expo项目的GUID(全局唯一标识符),这是两个完全不同的标识。

解决步骤

  • 获取正确的Expo项目GUID
    1. 打开Expo网页端控制台,找到你的项目,在项目详情页中就能看到格式为xxxx-xxxx-xxxx-xxxx的GUID;
    2. 或者查看本地项目根目录下的app.json/app.config.js文件,expo.id字段的值就是这个GUID。
  • 修正代码
    将projectId的值替换为Expo项目的GUID,示例如下:
    const expoPushToken = await Notifications.getExpoPushTokenAsync({
      projectId: '你的Expo项目GUID',
    });
    
  • 更简便的方式
    如果你的项目是通过expo init创建的,app.json中已经配置了expo.id,调用getExpoPushTokenAsync时可以省略projectId参数,它会自动从配置文件中读取,避免手动输入出错:
    const expoPushToken = await Notifications.getExpoPushTokenAsync();
    

内容的提问来源于stack exchange,提问作者Itai Mizlish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:07:07