极光推送报错,1011 cannot find user by this audience

1011
标签: #<Tag:0x00007fb84c863088>

(Jacko Chan) #1

紧急紧急,极光推送失败报错,用户找不到{“code”:1011,“message”:“cannot find user by this audience”}
请问有没有检测用户是否集成客户端的方法,如何解决?


#2

(Jacko Chan) #4

请问如果用户还没有客户端集成成功,文档有提供方法去检查该用户是否集成成功吗?


#5

客户端如果还没有集成成功,则取不到 registrationID ,若因某些错误导致失败,会有报错码。

你应该先判断一下这个报错是什么情况下发生的,你们是给别名还是什么推送的?


(Jacko Chan) #6

场景:后台直接推送给所有用户,可能有些用户没有登录过app,只是登录网页,所以会没有在极光上有记录;
1.用户不存在,但是给了tag,结果没有报错;
2.用户不存在,没有给tag,就正常发送,报错cannot find user by this audience,所以才会想问问有没有方法可以查询用户是否已经集成成功


#7

1、推送给所有用户,使用广播推送,只要有一个设备集成过就不会报错

根据你的描述,你们应该是对 tag 进行推送的

2、你描述中的 用户不存在是什么情况?如果客户端没有集成成功,则 tag 也不可能设置成功

3、客户端集成成功,则必然取到 registrationID,可让客户端将该值传给服务器,客户端调 API 设置 tag 或 alias 成功后也有回调,回调是成功的,也可以将信息传给服务端


(Jacko Chan) #8

现在极光推送有没有提供方法,让我去查询用户是否存在,是否集成成功?


#9

亲,你所谓的用户是否存在到底是什么意思?客户端是否集成取到 registrationID?是否设置tag、alias?
这个用户到底是指啥?


(Jacko Chan) #10

很尴尬,因为现在app端集成成功后,没有和后台进行交互记录是否集成成功;
后台就直接推送消息给用户了,所以这个时候push,请求接口就会报错


#11

问下后台,他们用的什么方式做的推送?广播?别名?标签?