首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >收件人未与任何设备关联React Native Expo

收件人未与任何设备关联React Native Expo
EN

Stack Overflow用户
提问于 2017-12-20 00:55:54
回答 1查看 577关注 0票数 0

我正在尝试发送推送通知从邮递员到我的RN应用程序使用博览会。我最终得到了下面的错误:

代码语言:javascript
复制
{
    "data": {
        "status": "error",
        "message": "The recipient \"ExponentPushToken[OrxoEFOL4iLBfbNDSTUskn]\" isn't associated with any device",
        "details": {
            "error": "DeviceNotRegistered"
        }
    }
}

有人能上来帮我吗??

EN

回答 1

Stack Overflow用户

发布于 2017-12-20 03:18:23

由于该设备未注册,我怀疑这是一个许可问题。

如果您使用的是Android,则应在安装时启用推送通知。它们是否已启用?

如果您使用的是IOS,则需要向用户询问使用推送通知的权限。您的权限是否正确?

您可以使用expo导入权限

代码语言:javascript
复制
import { Permissions } from 'expo';

使用expo权限,您可以检查是否已授予权限,以及是否尚未向用户请求权限。

代码语言:javascript
复制
  const { status: existingStatus } = await Permissions.getAsync(
    Permissions.NOTIFICATIONS
  );
  let finalStatus = existingStatus;

  // only ask if permissions have not already been determined, because
  // iOS won't necessarily prompt the user a second time.
  if (existingStatus !== 'granted') {
    // Android remote notification permissions are granted during the app
    // install, so this will only ask on iOS
    const { status } = await Permissions.askAsync(Permissions.NOTIFICATIONS);
    finalStatus = status;
  }

这是从世博会文件中摘录的。https://docs.expo.io/versions/latest/guides/push-notifications.html

请记住,您不能向标准模拟器发送推送通知。正如世博会下面所说的,

注意: iOS和安卓模拟器不能接收推送通知,要测试它们,你需要使用真实的设备。此外,当在模拟器上调用Permissions.askAsync时,无论您是否选择允许,它都会立即解析,状态为“未确定”。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47891721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档