起步软件技术论坛
搜索
 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2804|回复: 3

[结贴] 极光推送能否对registrationId有效性验证?

[复制链接]

24

主题

146

帖子

1017

积分

金牌会员

Rank: 6Rank: 6

积分
1017
QQ
发表于 2017-5-13 15:54:46 | 显示全部楼层 |阅读模式
本帖最后由 黑人007 于 2017-5-13 16:13 编辑

各位大神好:
小弟在开发过程中碰到一个问题,
ScheduleResult result = jpushClient.createSingleSchedule(UUID.randomUUID().toString().replaceAll("-", ""), scheduleTime, payload);
用createSingleSchedule函数推送非活跃registrationId或者非有效registrationId,会系统报错直接导致整个推送任务失败,比如有10个registrationId,前5个是可以推送的,第6个无法推送,那么第7~10个也将无法推送。
所以在对registrationId推送之前必须要保证registrationId是可以推送,那么对registrationId验证是怎么处理?

24

主题

146

帖子

1017

积分

金牌会员

Rank: 6Rank: 6

积分
1017
QQ
 楼主| 发表于 2017-5-13 15:55:06 | 显示全部楼层
java服务端验证
回复 支持 反对

使用道具 举报

发表于 2017-5-15 10:30:52 | 显示全部楼层
每一个 客户端  将 registrationId 的值都存储在服务器 数据库中!
如果要快速查找的话!最好存储在java缓存中!

比如一个map   map.put(registrationId,registrationId)
这样就可以 先判断  map.get(registrationId)  是否为空  决定是否推送

每次服务器重启的时候!先查询数据库中的registrationId  放到map中!

这样每次通过判断map中是否存在这个值!就能决定是否给他推送消息了!
qq:1912779713
WeX5教程--WeX5下载
回复 支持 反对

使用道具 举报

24

主题

146

帖子

1017

积分

金牌会员

Rank: 6Rank: 6

积分
1017
QQ
 楼主| 发表于 2017-5-15 13:35:08 | 显示全部楼层
感谢,管理员即时回复,您说的方法很好,我一定借鉴。其实我是想判断极光推送的服务器上,有哪些ID可以推送的。官方给了回复了https://community.jiguang.cn/t/registrationid/16917/3?u=heiren ,说目前没有方法。其实问题是解决了,只要在丢错的时候让他return掉,让程序继续执行,目前只是服务端会有很多错误logo。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|X3技术论坛|Justep Inc.    

GMT+8, 2025-7-10 01:18 , Processed in 0.073105 second(s), 24 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表