查询消息未送达情况,并咨询个函数用法


(林客) #1

您好,近期产品调研时,发现一个用户 App在实际打开情况下,始终未收到消息。
1、我们是用别名发送的,通过消息ID查询该别名关联了多个设备,但都未送达,麻烦帮查询下具体出错原因,谢谢!

"alias": "211005145",
		"msgId": 3442191874,
		"msg_status": [{
			"送达状态": "registration_id 属于该应用,但不是该条 message 的推送目标",
			"registration_id": "100d855909648a4f8ed"
		}, {
			"送达状态": "未送达",
			"registration_id": "100d855909674a34d9e"
		}, {
			"送达状态": "未送达",
			"registration_id": "100d855909675a3daad"
		}, {
			"送达状态": "registration_id 属于该应用,但不是该条 message 的推送目标",
			"registration_id": "100d8559097cf4ec510"
		}, {
			"送达状态": "未送达",
			"registration_id": "1104a897928920ff514"
		}, {
			"送达状态": "未送达",
			"registration_id": "13065ffa4e28c40a8a8"
		}, {
			"送达状态": "未送达",
			"registration_id": "13065ffa4e28f743cfd"
		}, {
			"送达状态": "未送达",
			"registration_id": "1507bfd3f7e767961ca"
		}, {
			"送达状态": "registration_id 属于该应用,但不是该条 message 的推送目标",
			"registration_id": "170976fa8aa31f53888"
		}, {
			"送达状态": "未送达",
			"registration_id": "1a0018970a861127fc0"
		}]

2、针对上述情况,我们想改一下发送策略:1、对于业务上已签入教室(有最新设备id)的用regID发送 2、其余学员仍用别名发送。结果发现咱们SDK有如下方法:

看解释这是个交集,可以对不同的别名群、regID群同时分别发送吗?如果别名和设备有重复会如何处理?

非常感谢!


#2

提供该用户的regIstrationID值

关于推送目标的设定与解释
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#audience
多种类型同时存在取交集,交集的意思是同时满足二者。


(林客) #3

消息ID:3442191874
Reg ID:1507bfd3f7e767961ca
——这里有点问题,当天(4.20)我们的登陆 / 签到日志里都未记录下这个 Reg.ID,最后一次记录下这个 Reg.ID 是在4.9号。。。但看4.9之前的记录,近段时间这个学生都在用同一个平板

能帮助查询下 这个设备 注册极光不成功的原因吗?

另外那个方法理解清楚了,交集跟我们需求不符,我们分两次发送吧


#4

该regIstrationID注册时间 2018-03-30 19:47:41 。但近几天他都不在线,与极光服务器的连接是断开的,所以收不到消息

取到了 regIstrationID 就代表已经成功的在极光注册了


(林客) #5

您好,再请教两个问题:

  1. 如果 init 后立刻判断到 registrationID 不存在,表明未成功——除了事后发送日志外,此时代码逻辑该如何补救,再重新init一次?
    另外我们用的安卓设备的型号和配置、App版本都是一致的,这种情况下不成功大概有哪些可能,SDK是否本身有补救重试的处理?
    2、App使用过程中,极光SDK会有自启动机制,这一机制有哪些例外需要注意——除了上面您提供的链接外,还有没有进一步的具体说明?

谢谢!


#6

1、init初始化工作请给他一段时间,监听 regIstrationID 的广播,调 get方法获取regIstrationID,失败则重试。

2、一般只要你测试成功了,没有代码上的问题,就是网络有点问题。

3、自启动被限制的总结暂时只有上面说明的。