背景:开心的写bug中,突然接到极光工作人员通知,总结表达意思是:以后免费版的极光开发用户 在极光平台上的应用 可能会收到其他应用的推送广告。
问了一下升级vip的费用,回复3.6w/年,脑海里想了一下如果和老板说花钱升级,老板听到这个消息后的表情,果断放弃。直接更换其他三方,因为之前有其他项目用的是友盟推送,所以直接更换为友盟推送。
二话不说 ,登录账号,开发者中心,开始动手。集成大概分为几个步骤:
1.个人中心创建应用 -目的是为了获取key和secret
2.接入Push SDK 具体接入步骤参考官网接入文档:开发者中心
3.添加测试设备测试
4.创建测试消息测试
测试结果,收不到。排查原因后台错误日志:
java.lang.IllegalArgumentException: ResClass未初始化,请确保你已经添加了必要的资源。同时确保你在混淆文件中添加了com.dati.zhiduoduo.world.R* 。 field=umeng_push_notification_default_large_icon at com.umeng.message.common.c.a(Res.java:223) at com.umeng.message.common.c.d(Res.java:152) at com.umeng.message.UmengMessageHandler.getLargeIcon(UmengMessageHandler.java:502) at com.umeng.message.UmengMessageHandler.a(UmengMessageHandler.java:437) at com.umeng.message.UmengMessageHandler.dealWithNotificationMessage(UmengMessageHandler.java:161) at com.umeng.message.UmengMessageHandler.handleMessage(UmengMessageHandler.java:71) at com.umeng.message.UmengMessageCallbackHandlerService.a(UmengMessageCallbackHandlerService.java:162) at com.umeng.message.service.JobIntentServicea.a(JobIntentService.java:235) at com.umeng.message.service.JobIntentServicea.doInBackground(JobIntentService.java:227) at android.os.AsyncTask2.call(AsyncTask.java:334) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.processTask(ThreadPoolExecutor.java:1187) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1152) at java.util.concurrent.ThreadPoolExecutor
想起来 ,集成过程中有一步没有做。
奇怪的是去官网下载demo,里面也没有这两个文件,联系客服给到解决方案:
将集成文档中的这行代码
PushAgent mPushAgent = PushAgent.getInstance(this);
替换为:
String resRpkg = "com.jky.xxx"; // R.layout.upush_bar_image_notification 中 R 的包名路径
PushAgent mPushAgent = PushAgent.getInstance(this);
mPushAgent.setResourcePackageName(resRpkg);
com.xxx.xxx为包名路径或者applicationid
代码是这样的:
重新测试,可以收到推送了
希望对大家有所帮助。