同一个设备,更新别名后,无法推送


(皮裤开发者) #1

同一个设备,更新了别名后,极光平台无法下发推送。提示这个问题。

代码是用demo设置别名方法:


设置完成后,查询别名,是查不到的:


(皮裤开发者) #2

但是我用JPushInterface.getRegistrationID,这个函数是可以查到regId的


#4

registrationID 和别名是两个概念,查不到别名代表你别名没有设置成功,去检查别名的设置情况。
注意回调结果


(皮裤开发者) #5

好吧,我再找找原因


(皮裤开发者) #6

你好,我现在发现一个问题,就是我断点的时候,一步步调用方法下去后,这样才能收到通知。如果直接设置别名,在极光平台就无法下发通知,提示:没有满足条件的推送目标
请问这个是什么问题?


#7

极光提示没有目标,就代表你的别名没有设置成功,所以请你直接检查你的别名设置情况,请注意别名设置的回调结果

如果有错误码,根据错误码来处理后再测试


(皮裤开发者) #8

请问,在两个设备设置同一个别名的话,是不是会在另一个设备删除别名? 显示:delete alias success。这就导致我另一个设备无法收到通知了


#9

不会,极光客户端的 API 只对本设备有效,这种情况应该是你们自己做了单设备登陆的逻辑,推送信息让另一个客户端删除了别名,极光本身不会做


(皮裤开发者) #10

哦,我们是在做单点登录,但客户端没做清空别名操作。所以就有疑问说是不是你们那边有删除


#11

极光不会自动清除,凡是针对别名标签的操作,都是你们有调过 API 才会去处理

客户端和服务端均有提供 API


(皮裤开发者) #12

我在log中发现,接收到了一条广播,然后执行了这段修改别名方法后就删除了。



#13

接收到广播的意思是接收到一条推送消息?

如果是有推送消息下来,然后客户端自动就调了 API 删除了别名,这就是你们自己实现的逻辑呀,多设备登陆后服务端下发消息给客户端,客户端删除别名,你们自己不清楚吗?


(皮裤开发者) #14

请问是不是有这种问题,就是我调用删除别名方法,然后立即stopPush。等我再次设置别名的时候,然后监听到MyJPushMessageReceiver的onAliasOperatorResult方法打印的log先显示set alias success 然后再显示 delete alias success?


(皮裤开发者) #15

想问下,退出登录时候,是不是只需要调用删除别名方法即可? 不需要stopPush 因为我看到说stopPush后会出现: The service is stopped, it will give up all the actions until you call resumePush method to resume the service.


#16

如果你们退出登陆只需要让该设备不收到这个用户的信息,而广播给所有人的信息他还是要收到,则不要调用 stoppush

即便你们要调用stoppush,请你们在删除别名的回调成功之后再调用 stoppush ,删除别名是需要时间的,在调了 API 后马上 stoppush 会导致本次删除操作失败。


(皮裤开发者) #17

好的,我现在已经改成退出登录删除别名,而不stopPush了。
现在遇到另一个问题,两台设备是同一个别名(单点登录功能)。然后其中一台设备删除了别名后,是不是另一台设备就无法接收消息了?


#18

1、极光推送没有单点登录功能,如果有,是你们自己有实现。

2、一个设备调客户端的 API 删除他的别名,本操作只针对本客户端有效。

如果你们现在观测到已经有了单点登录的效果,自己检查是不是自己做了什么操作
一般思路:


(皮裤开发者) #19

我试试 谢谢