Android 极光推送集成,能收到推送,api调用也没问题,但是就是没有Login success,担心会有问题

android
标签: #<Tag:0x00007fb83201c9c0>

(大炮) #1

11-08 15:22:14.729 14660-14660/? I/JIGUANG-JPush: [PluginPlatformsInterface] whichPlatform - 0
11-08 15:22:14.815 14660-14660/? I/CrashReport: backup java handler: cn.jiguang.a.a.c.e@6c5d432
11-08 15:22:14.729 14660-14660/? I/JIGUANG-JPush: [PluginPlatformsInterface] whichPlatform - 0


#2

能取到registrationID就代表集成成功,看不看得到login success与你是不是看的完整的日志有关


(大炮) #3

setDebugMode我设置的是true,准确来说registrationID我在控制台也找不到,但是我这边配置什么的对了几遍了都没问题,我也测试推送了,除了自启动功能什么的都没问题,担心放在线上有问题,咨询一下


#4

调用API获取registrationID可以取到就可以,建议将registrationID上传到你们的服务器进行保存

我说的是你没看到完全的日志信息,可能是分离进程的日志等


(大炮) #5

你好,我突然感觉自己写的可能有问题。

这里我配置了其它其它进程,可是我在application中初始化是这样的
if (getApplicationInfo().packageName.equals(getProcessName(android.os.Process.myPid()))) {
initJPush();

这是不是有问题啊,我判断只在主进程中初始化


#6

在主进程初始化没问题,而且只需要初始化一次即可

你就调用API获取一下registrationID 撒

第一次能 收到ID的广播,后面 能调用API取到ID,集成就是没有问题的


(大炮) #7

我在init之后调用获取到了,正常是不是应该实在MyReceiver的onReceive中收到广播后执行

@Override
    public void onReceive(Context context, Intent intent) {
        try {
            Bundle bundle = intent.getExtras();
            IdbLog.d(TAG, "[MyReceiver] onReceive - " + intent.getAction() + ", extras: " + printBundle(bundle));

            if (JPushInterface.ACTION_REGISTRATION_ID.equals(intent.getAction())) {
                String regId = bundle.getString(JPushInterface.EXTRA_REGISTRATION_ID);
                IdbLog.d(TAG, "[MyReceiver] 接收Registration Id : " + regId);
                //send the Registration Id to your server...

            }

是不是这里?


#8

第一次安装,第一次集成 ,是需要在接收到广播时才会ID,已经安装过的就不需要了


(大炮) #9

第一次安装和集成?如果集成了,卸载重装,换手机都是不会有的吗?接收广播的是那个接收者?是我刚才发的那个收到广播后执行的吗?


#10

同一个App,在同一个手机上安装过,此后,卸载重装什么的,都可以直接取到ID,Android一般ID是不变的。

手机上第一次安装,就看上面的那个广播,监听到广播出ID的信息,表示集成已成功,后续调用API去取就都没有问题了

关于registrationID


(大炮) #11

明白了,感谢解惑:slight_smile: