React Native Expo推送通知在生产中不起作用

2skhul33  于 2023-03-03  发布在  React
关注(0)|答案(1)|浏览(188)

SDK版本:40平台:安卓
推送通知仅在开发设备的开发模式下工作,而在开发模式下不工作(usbYarnReact-n运行-安卓)在其他设备...(fcm设置)在我使用bundleRelease构建之后(弹出)并发布到playstore。它不工作,我可以设置为生产在谷歌控制台或博览会控制台?在哪里?我测试失眠(exp.host/-/api/v2/push/send),在开发中可以,但在其他设备和生产中不行,为什么在测试中只能在一个设备上工作,而不能在其他设备上工作?我看到安装后也会生成指数推送。
OBS:我正在重新安装应用程序后刷新新令牌...
我最近尝试过:
我生成了. apk并在另一个设备中尝试,但仅在我的开发设备中不工作

// Notifications.setNotificationHandler(null); //tried as well

Notifications.setNotificationHandler({
handleNotification: async () => {
return {
shouldShowAlert: true,
shouldPlaySound: true,
shouldSetBadge: false,
};
},
});

这个问题是因为我用gradlew assemleRelease来构建的?我需要用eas构建平台android来构建吗???
我当前使用的experienceId:@用户名/slug而不是ApplicationId来注册推送令牌

1bqhqjot

1bqhqjot1#

您的通知在生产中不起作用的原因有2个。
1.我认为您正在使用Notifications.getExpoPushTokenAsync()创建一个通知令牌,这将创建一个只能在Expo环境中使用的通知令牌。我建议您使用Notifications.getDevicePushTokenAsync()创建通知令牌,这将创建一个可以与FCM一起使用的通知令牌。
1.您调用的Expo API exp.host/–/api/v2/push/send不正确。如果您想让通知在物理设备上工作,您需要首先创建一个设备令牌,您可以像第1点中提到的那样生成该令牌,然后您应该调用FCM API https://fcm.googleapis.com/fcm/send
这应该能解决你的问题。

相关问题