设备IMEI和MAC地址相同的情况下,将推送给用户A的信息推给了用户B。

jpush
标签: #<Tag:0x00007fb8309ee590>

(杨) #1

极光的大牛您好:

我这边遇到了一个这样的问题,想咨询下。谢谢。

场景描述:

  1. 一批安卓设备,所有设备mac地址相同,IMEI相同。
  2. 推送时根据别名区分不同用户&设备。
  3. 用户A登录过设备A和设备B。
  4. 当前状态:用户A登录设备A,设置唯一别名;用户B登录设备B,设置唯一别名。
  5. 定向给用户A的别名推送一条消息,用户B登录的设备B收到了,而用户A没有收到。且推送记录中的在线数为1,送达1(目标有多个)。
    注:设备A的网络状况可能不稳定。

另外:用户C登录设备A,但是从来没有登录设备B,定向推送给用户C&设备A的消息,一定概率下被登录在设备B上的用户B收到了。

问题:

  1. 根据别名推送时,什么样的情况下,可能造成上述的问题,即消息串线了。
  2. 因为用户只要登录过的设备,都会成为推送的目标,因此,当一个用户登录过多个设备后,但是该设备上现在登录的是其他用户,设置了其他别名,后台是根据什么样的逻辑来判断该设备是推还是不推呢?
  3. 设备拥有相同mac和IMEI,会对推送造成什么影响?
  4. 服务端,如何判断一个用户/设备是否在线?注:与极光服务器的长连接是一直保持的状态。但是推送时,服务器端会返回没有在线用户。

#2

别名和标签最终都是给设备设置的,也就是与registrationID绑定的

你所说的这种情况,预计是设备的registrationID相同导致的

2、正常registrationID唯一的情况下,一个设备只能有一个别名,后面登录的已经设置了新的别名,那么前一个别名就失效了,不会收到前一个别名的消息

3、是否在线是根据长连接状态,但我估计,你说的这个报错是 没有目标用户1011错误吧?


(杨) #3

非常感谢。我这边仔细看下您反馈的这些答案。