Jpush注册不上Register Failed with server error - code:1008

error
标签: #<Tag:0x00007fb83d0185b8>

(Vito Kong) #1

在其他设备ok,目前发现在联发科MT8735 A53 64位机子上会必现报这个问题
JIGUANG-JCore: [ConnectingHelper] Register Failed with server error - code:1008


#2

请提供完整的客户端日志信息


(Vito Kong) #3

logJpush.txt (159.0 KB)

Jpush日志已上传,查看报错1008code是key非法,但是其他设备也是使用的这个key,刚查验了该key在极光开发者服务中也存在该应用和key。
麻烦请协查一下,谢谢


(Vito Kong) #4

另外因为这个问题时线上报出的,影响比较大比较急,开发这边查不出原因。还请老哥帮忙看看


#5

稍等一下,我们这边正在分析原因。


#6

可否提供一下 debug 包,和用debug 包在该手机上安装后的debug 日志呢?

开启debug: JPushInterface.setDebugMode(true);

我们这边正在分析,需要更多的信息。


(Vito Kong) #7
public class AntApplication extends LitePalApplication {
    private final String TAG = getClass().getSimpleName();

    @Override
    public void onCreate() {
        super.onCreate();
        JPushInterface.setDebugMode(BuildConfig.DEBUG); 	// 设置开启日志,发布时请关闭日志
        JPushInterface.init(this);     		// 初始化 JPush

以上日志已经开启了debug模式打印。
由于应用是设置了使用限制之类的,且只有在该芯片上会出现问题。我这边也无法复现,我们是让线下商家帮忙复现的。


#8

你们给线下商家复测的包是debug 的还是release的呀,可以再多复测下,用 debug 包,我们看看有没有更多的信息。


(Vito Kong) #9

复测的包是debug的,release的版本是关闭了Jpush日志的。
那稍等下,让线下再抓几份日志。


(Vito Kong) #10

刚发现一个情况,这批型号的设备获取到的Build.SERIAL值里含有空格,请问Jpush是否也有去获取这个值并判断呢? 因为现在系统底层讲Build.SERIAL获取的到值空格去掉,就恢复正常了


#11

我们刚查注册的,确实是发现提供的serial过长,后面好长一截为空的,但不确定是否与问题有关。

serial这个值是注册得到registrationID时需要的一个信息

得到设备唯一标识registrationID,用到的信息一共包括:设备的 IMEI 、 serial_number 、mac地址、deviceID

你现在这般正常了是吗,我反馈下。


(Vito Kong) #12

你们有获取Build.SERIAL这个值吗? 部分设备这个值的位数的确是很长的。可以确定下是否有关联?
我们也同步再多验几次,因为如果这个Build.SERIAL的值不是我们可控的。


#13

是的,我们会去取这个信息,用于生成registrationID的。


(Vito Kong) #14

稍等下,我让现场再确认一下。如果确认是这个原因的话极光这边是否可以调整后台的生成规则以规避这个情况呢?


(Vito Kong) #15

现场反馈,修改SN长度和空格处理以后就可以正常获取了


#16

好的,目前确认注册失败确实是由于 serial_number 过长、空格,导致返回失败

这个值在集成注册时是必须要取的,我这边正在问是否有一些优化措施针对取到的这种不正常的值。


(Vito Kong) #17

好的,这个你们后台可能也要处理记录一下的。
我们这边也可以同步让厂商出厂时注意该值。