android 初始化如何判断初始化是否成功


(小股东) #8

也就是说 我现在只能被动的查看 我是否登录成功了 只能通过log是吧


#9

1、[quote=“dong521, post:6, topic:26266”]
同一个型号的设备
[/quote]

同一个 App ,只要测试通过,基本就是没有问题的。

2、如果获取不到,那么一般就是获取的太早了,需要你延迟获取一下。


(小股东) #10

我想问的是 如果我获取的 regIstrationID 为 空 是不是 是init 初始化的时候失败了 id 才为空?


(小股东) #11

或者说 在我 init之后十分钟延迟操作的情况下regIstrationID 为空 是什么导致的呢


(小股东) #12

如果 我在延迟获取 regIstrationID 后 其值为空, 那我应该怎么办


#13

1、失败了会为空,失败了会有报错,若集成本身有问题,在测试的时候就会发现;除此之外就是可能当时网络的问题,就需要你们监听一下网络的状态,是否有内网限制

2、你在初始化成功之前就获取了,也会为空,但不代表他初始化就失败了,是你取值取早了

3、如果是延迟获取,请调用get方法去获取。

4、因为网络问题导致的无法注册成功,SDK会自动在网络正常时重新初始化直到成功。


(小股东) #14

集成本身没有问题 ,这是肯定的 因为 同样的 设备型号,同样的 app,有的可以 接收 推送,有的不可以, 在这个前提下,那如果 init初始化 失败了 ,客户端有什么补救的措施?


#15

1、SDK会自动重试直到成功

2、你现在是不是遇到了同样的设备同样的APP获取不到regIstrationID?可不可以直接提供log来分析下是什么原因导致的?

3、在集成本身没问题的情况就只有网络这一个可能了。

4、可不可以接受推送与你regIstrationID是不是去得到没有必然联系,你regIstrationID取得到也可能收不到消息,麻烦分开讨论。


(小股东) #16

您说的第二点 是对的 有的能获取到 有的不能 , 因为客户那边再用,所以log没有办法收集,

如果 init初始化 失败了 ,客户端有什么补救的措施


#17

没有办法补救,没有提供相关 API,只是 SDK 自己会自动重试。

一般先排除掉网络的因素,使用 4 G,换一个网络。

其次就只能取log来分析具体原因,才能具体分析。

因为一般是不会出现这样的情况的,有特殊情况出现,就得要具体信息具体分析


(小股东) #18

那网络这边 sdk做补救措施了吗 请详细说一下


#19

就是网络不好的情况下, SDK 会自动重试呀,这还能怎么详细说呢?


(小股东) #20

我们现在的问题是这样的 同样的 设备型号,同样的 app,用的regIstrationID ,在相同的网络情况下,现在有三分之一的人收不到推送


#21

你的意思是现在你们客户端获取regIstrationID上报给后台,发现一些设备的regIstrationID没有而无法推送消息

还是有regIstrationID,给regIstrationID推送,但接受不到?

这是两个完全不同的问题


(小股东) #22

是第一种情况 上报给后台 ,发现一些设备的id是 空的


#23

那你们之前上报regIstrationID的时候有没有加上重试机制,就是为空时延迟重新获取?

你们如果广播一条消息,正式的线上用户都可以收到的那么一条消息,采用广播推送,这些收不到消息的用户能不能收到?

如果可以,说明他们是集成成功的,只是你们获取早了或者其他情况导致你没上报信息成功。


(小股东) #25

您好 ,请回复一下

那你们之前上报regIstrationID的时候有没有加上重试机制,就是为空时延迟重新获取?

回答: 请问一下 为空时 从新延迟获取 应该怎么操作?

你们如果广播一条消息,正式的线上用户都可以收到的那么一条消息,采用广播推送,这些收不到消息的用户能不能收到?

回答:您说的广播一条消息 是如何操作?请说详细一些.谢谢了


#26

1、你客户端调 获取regIstrationID 的 API :getRegistrationID 获取值时,自己判断一下这个值是空还是不是空,是空,就设置延迟多少秒后再次调用一次 API 获取一下,这个 API 并不限次数,你想调用多少次,在什么时候调用都可以。

2、广播推送就是推送给 all ,推送给所有人,所有「在极光注册成功得到regIstrationID」的人(例外情况就是:如果 30 天都没有跟极光连接,就不会在推送的目标内,什么叫做 30 天没连接:在你们客户端没有调 stoppush API 的情况下,只要他有点开 App 的动作,基本都会连上极光服务器,那么 30 天都没有连上过,基本可以认为这个用户已经将 App 卸载了)。

调 API 的方法:
https://docs.jiguang.cn/jpush/server/push/rest_api_v3_push/#audience
官网推送目标人群处也有此选项


(小股东) #27

您好 判断长连接的那个 广播 , 是在什么情况下 给发送的? android端


#28

https://docs.jiguang.cn/jpush/client/Android/android_api/#_157
1、监听变化,有变化时就会走
2、主动调 API 获取状态