Errorcode 1011:cannot find user by this audience,没有满足条件的推送目标

备注:其他错误码列表 Android 点我;iOS 点我;服务端 点我


迅速排查

  1. 客户端有没有集成成功,能否获取到registrationID,若不能,请看你的客户端日志,看报错信息!
    「如果你们客户端还没有完成 SDK 的集成,服务端想先做测试,记得先在官网控制台-应用详情-推送设置-Android-扫码下载一个Android的demo安装到手机上,使该应用下有一个设备已集成成功!!!」

  2. 直接推送给 registrationID 是否可以收到?
    广播推送有十分钟缓存策略:10:00推送了一条消息,10:03 才有第一台设备注册,10:05分再次推送消息,目标取的是10点推送消息时的查询缓存,所以会依旧报错1011,到10:10后推送时,才会成功」

  3. 检查客户端别名、标签是否设置成功(设置后返回码(callback、completion)为0?调用查询 别名、标签的API是否可以得到值?)

  4. 检查集成成功、设置别名成功的 这个设备配置的 appkey 跟你现在推送用的 appkey 一样吗?


详细说明请阅读下述内容



「广播推送报错 1011 的可能原因」

  • 客户端没有集成成功; 请检查集成日志是否有报错信息、调用API获取一下registrationID是否能获取到

  • Appkey 不正确。检查推送使用的appkey是否和你客户端配置的appkey一致

  • 广播推送有十分钟缓存策略:10:00 推送了一条消息报了 1011,10:03 才有第一台设备注册成功,10:05 再次推送消息,目标取的是 10:00 推送消息时的查询缓存,所以会依旧报错 1011,到 10:10 后推送时,才会重新查询当前注册用户,才会成功。

「根据 registrationID 推送报错 1011 的可能原因」

  • registrationID 不存在(取错、传错 regid );

  • registrationID 的值和推送指定的 Appkey 不匹配,检查当前 registrationID 是否属于当前推送所使用的应用的 Appkey。

    注:此 registrationID 配置的是什么 Appkey,可以在客户端日志里面看;推送消息的应用的 Appkey 可以在 官网-应用详情中看。

  • 平台不对,譬如你的 registrationID 是 iOS 的,但你的 Platform 设置的是 Android。

「根据 alias 、tag 推送报错 1011 的可能原因」

  • 说明没有设备设置了该 alias,检查客户端 alias 绑定情况,请确定 alias 设置成功再用于推送

  • 可以在客户端调 getAlias 、getAllTags 接口去查询当前设备设置的别名、标签

  • 可以在服务端调用接口来查询别名&标签的相关信息,点我查看

  • 如果你的客户端设置别名时回调返回 0,调 get 方法也能取到别名和标签

    • 检查 Appkey 是否对应,可能应用集成使用的 key 和推送的 key 不一致;
      特别注意 Appkey 和 masterSecret 别传反了,也别把空格拷贝进去

    • 注意平台的区别,苹果设备绑定了别名,但是 platform 选择的是安卓,一样会报错;

    • 检查推送的 alias 与 设置的 alias 是否一致。


建议阅读:想推送到 某特定设备,可以通过指定tag、alias、registration id来实现。


开发者一般都是用内部的 uid 设置 alias 来绑定用户,用一些特定信息设置 tag 来分类用户,可以看该文档了解 alias 和 tag: 别名与标签使用教程

一、客户端设置别名和标签必须在 init 完成之后再进行 ;初始化成功的标志是 能成功取到 registrationID

二、服务端通过 tag、alias 发起推送请求之前,必须保证指定的 tag、alias 已经在客户端或者服务端调用接口成功设置上了,否则推送就会返回 1011 错误。

注1:客户端 callback、completion为0,说明 tag、alias设置成功,其他错误看接口文档的错误码列表:Android---iOS
注2:从 Android 3.0.7、iOS 3.0.6版本开始,提供了直接在客户端查询当前设备的别名和标签的 API,建议升级使用。

  • 服务端 tag、alias 接口,需要知道设备的 registrationID 后才可操作:服务端文档点我

注1:registrationID 只能在客户端调用接口获取,关于 registrationID 的详细说明 点我
注2:建议在客户端获取到的 registrationID 和设置成功的 tag、alias 及时上报到你们的服务器保存起来



如果对你有帮助,点个赞 呗ლ(╹◡╹ლ)

点这里返回常见问题目录,不吹不黑,收藏本帖可以解决你 90% 的问题 (ノ◕ω◕)ノଘ_ଘ