app端极光推送方案调整优化

推送目前的问题(问题二和问题三属于同类问题):

1.登录,退出,删除账号,修改密码后调用uploadAppinfo接口失败,从而服务端错误判断导致推送问题;
2.登录状态下卸载app重装,会收到上个用户的通知;
3.app端离线状态,推送云在消息保留时间内重发机制,当app重新在线会收到通知(无论是否为同一个用户);

别名介绍

因为对于 JPush 来说,某一个人就是一个注册 ID,这个注册 ID 与开发者 App 没有任何关系,或者说对开发者 App 是没有意义的。

如果要对开发者 App 有意义的某个特定的用户推送消息,则需要:把 JPush 注册用户与开发者 App 用户绑定起来。

使用方式:
别名的机制,其工作方式是:

  • 客户端开发者 App 调用 setAlias 来设置关系
  • JPush SDK 把该关系设置保存到 JPush Server 上
  • 在服务器端推送消息时,指定向之前设置过的别名推送

解决方案

1.登录成功调用Jpush.setAlias()设置应用推送别名为useruuid,更新上传appInfo接口增加alias字段;
2.退出登录,删除账号,修改密码,首次安装启动到登录页场景调用Jpush.setAlias()设置应用推送别名为空字符串;
3.Lark服务端“api/v1/app_info”接口增加上传alias别名字段;

设计图

在这里插入图片描述

优点:

相比目前app推送方式,
1.把 JPush 注册用户与开发者 App 用户绑定起来。
2.退出登录,删除账号,修改密码更新上传appInfo接口失败,安装app调用Jpush.setAlias(“”)设置成功,即使推送也无法收到;

难点:
网络不好或者其他原因,接口调用失败会导致如下问题;
  • 登录成功调用Jpush.setAlias(useruuid)设置失败,更新上传appInfo接口成功,无法收到推送;(旧的setAlias(useruuid)接口可回调结果是否成功,成功后再更新)

  • 登录成功调用Jpush.setAlias(useruuid)设置成功,更新上传appInfo接口失败,无法收到推送;

  • 退出登录,删除账号,修改密码更新上传appInfo接口失败,安装app调用Jpush.setAlias(“”)设置失败,可收到上个用户推送;(此过程不影响页面操作,所以无法避免)

  • 安装app调用Jpush.setAlias(“”)设置失败,依然可收到上个用户的推送;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值