个推clientId老是获取不到几点解决办法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/smileiam/article/details/75120879

用第三方推送,好的一点是省事,不用自己研究推送原理,只要把自己的apk放到第三方平台注册下就好了;不好的一点是有时会发生丢包,毕竟是免费产品,有时出了问题,不知道原因,网上搜有时也搜不到。可能因各种环境不一样吧,第三方虽然提供了demo,但是有时即使把demo代码直接copy进来,发现在自己工程中就不好使了,不知道大家没有遇到这样的问题。反正我是遇到了,比如今天想吐槽的个推clientId获取不到问题。下面总结下自己遇到的问题及解决办法:

前提:集成的版本2.9.5.0以上

这里给大家几点解问题办法:
1、 一定要按照官方文档进行集成,我是AndroidStudio标准集成:http://docs.getui.com/mobile/android/androidstudio/
如果是用jar包+so包,不要忘记导入,当然也可以使用maven支持。
接下来写相应的服务,在mainfest里进行相应的服务注册之类的,这一步完完全全按照demo或是官方的技术文档来。在首页里进行初始化,获取clientId,注册服务等。
这里要记得比如appId, appKey等在builde.gradle里要配置,mainfest也要配置,服务别忘记注册,权限问题等。

2、网络原因,之前我用公司wifi时,死活取不到clientid,也不知道是因为代理原因还是网络慢的原因,但是改成4G或是家里wifi就好了;

3、修改buildToolsVersion版本试试,这个也不知道真假,反正我现在是GetuiSDK2.9.5.0.jar使用的是buildToolsVersion ‘23.0.2’, GetuiSDK2.10.2.0.jar使用的是buildToolsVersion “25.0.2”;

4、 可能跟权限有关系,我发现有些手机上如果没有Manifest.permission.READ_PHONE_STATE权限,也获取不到clientId;

5、 一般工程首次进入获取不到clientId,但是过一段时间就能获取到了,这时可以用个handler发送一个延时message去处理,再获取;
6.、注册代码PushManager.getInstance().registerPushIntentService(this.getApplicationContext(), DemoIntentService.class);的位置一定要放到获取clientId的后面。
7、 如果你还遇到其他问题,可以留在这,然后再看一遍demo。

猜你喜欢

转载自blog.csdn.net/smileiam/article/details/75120879