前言

    最近在使用极光推送的时候,碰到个问题:当在服务端利用极光推送SDK根据RegId在用户登录时给本机安装的这个APP绑定别名(Alias)别名以后,在未登录的情况下将APP卸载后重装,此时用户重新打开APP,在未登录状态下还是可以收到卸载重装前登录的用户对应的推送消息。不太符合常规的业务需求。

解析问题

    造成这个问题的大致原因是:在安装端的APP即使卸载重装,极光服务器里对应的RegId也是不会改变的。换言之就是在之前用户登录时绑定的别名依旧生效,服务端无法通过某一节点,比如用户卸载APP时去解绑其关联,从而导致APP依旧会接收到推送。

解决方法

    当下个人认为比较好的解决方法大致如下:

  • 1、与前端约定别名规则,绑定别名的操作交给客户端处理;

    (1)、交予前端处理的好处在于,前端可以在未登录时初始化这台设备的别名为””;

    (2)、据说APP卸载时相当于应用被清理,那个相应的绑定也会被清理(感觉(1)比较靠谱);
  • 2、服务端只负责通过约定的别名规则进行消息的推送;、退出登录解绑服务端或客户端操作都可