问题
使用场景:
- 用户登录时绑定帐号、标签或别名,用户退出时进行解绑操作
- 用户解绑后,后台通过账号、标签或者别名进行推送
问题:
- 在用户退出期间,服务端通过账号、标签或别名进行推送,用户重新登录之后为什么收不到?
- 如果推送时设置了离线推送,是不是就可以收到了?
问题原因
- 账号、标签、别名功能是为了方便将推送系统与App的业务系统打通,方便用户通过业务系统账号进行推送。相关接口使用请参考:SDK API介绍
- 当用户通过账号、标签、别名进行推送时,移动推送服务端会将相关账号、标签、别名转换成对应设备,然后创建推送任务,对绑定的设备进行推送
- 当用户发出推送请求时,如果目标设备与推送时指定的账号、标签、别名不存在绑定关系,则此时服务端不会创建推送任务,也就不会推送。
- 离线推送的使用场景是,当服务端创建推送任务后,发现目标设备离线,则会在设备重新上线后推送。所以并不适用于本场景
解决方案
如果希望当用户重新登录后即可收到相关推送消息可以参考以下方案:
- 服务端记录用户退出登录期间的需要推送的推送信息
- 待用户重新登录绑定账号、标签、别名后再进行推送