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

Expo推送通知在Release模式下无法正常工作

解决Expo React Native Release模式推送通知失效问题

以下是针对Release模式推送失效的常见排查和修复步骤:

  • 核对推送凭证配置
    iOS要确保生产环境的APNs证书已正确上传到Expo控制台,Android需确认FCM生产服务器密钥配置无误。Dev模式用的是Expo沙箱推送服务,Release模式必须切换到生产环境凭证。可以运行expo credentials:manager查看并验证凭证状态,避免过期或配置错误。

  • 更新推送令牌
    Dev模式下获取的令牌仅适用于沙箱环境,Release打包后必须重新获取生产环境令牌。不要复用Dev阶段保存的旧令牌,同时确保代码中getExpoPushTokenAsync的调用逻辑在Release模式下正常执行,没有被环境判断语句屏蔽。

  • 确认权限配置与授权
    在app.json中检查权限声明:

    "ios": {
      "infoPlist": {
        "UIBackgroundModes": ["remote-notification"],
        "NSNotificationsUsageDescription": "用于接收重要消息提醒"
      }
    },
    "android": {
      "permissions": ["POST_NOTIFICATIONS"]
    }
    

    Release版本是全新安装,必须在App启动时主动请求通知权限,不要依赖Dev模式已授权的状态。

  • 检查代码中的环境限制
    排查是否存在只在Dev模式下初始化推送监听的代码,比如:

    if (__DEV__) {
      Notifications.addNotificationReceivedListener(handleNotification);
    }
    

    这种写法会导致Release模式下无法接收通知,需移除不必要的环境判断,保证推送相关逻辑全环境生效。

  • 验证打包发布配置
    打包Release版本时使用正确命令:expo build:ios --release-channel production 或 expo build:android --release-channel production;如果用EAS Build,要确保profile配置为生产环境,避免混用Dev通道。

  • 测试生产环境推送
    使用Expo命令行工具直接测试生产令牌:

    expo push:send --token <你的生产推送令牌> --message "测试生产环境推送"
    

    根据返回的错误信息定位问题,比如令牌无效、凭证错误等,针对性修复。

内容的提问来源于stack exchange,提问作者Engr.Aftab Ufaq

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 11:37:24