概述
友盟集成小米华为(快速集成和厂商通道集成) 内含很多本人遇到的坑 (上)
- 快速集成
如果您已经弄好了快速集成,想看厂商通道集成,请直接看下篇
快速集成
首先,毋庸置疑,实在友盟官方平台注册账号 链接: 友盟.
由于本人只是做一个小测试,所以在官方文档下载了示例工程,在android studio中打开
首先,要学会更改包名,包名是什么呢,可以理解为你整个项目的一个标志吧,最好起一个复杂的唯一的 例: com.xxx.xxx
更改包名的教程:链接: 如何更改包名.
(我的Shift + F6不好使,也可以直接在该包名上右键refactor+rename)
包名更改完之后,在官网上申请应用,具体详细操作路径:U-Push官网->应用->新建应用->创建新应用
这个包名也就是你项目的包名,build.gradle文件一共有两个,这里说的是app目录下的, 获取应用对应的Appkey和Umeng Message Secret,这两个值请务必留意,在后续SDK初始化中需要用到。
首先在友盟的官网找到下载push sdk的界面, 链接: 友盟sdk下载.
里面包含三个文件夹
将common和thirdparties中的jar文件都放进你app的libs文件夹中
这时就该在您的Android Studio工程的App模块的build.gradle配置脚本中添加maven远程依赖,
具体做法就是点击右上角的product structure,
选择jar depencies,再选择你刚刚放进去的两个jar文件和libs,这样把你刚刚放进libs里的两个jar包的依赖写在build gradle文件中了
哦,再加上一句,implementation “com.umeng.umsdk:push:6.0.1”,其中你的版本号在你刚刚三个文件夹下的push文件夹中有显示,再将push 文件夹放在根目录下
(至于原来就有push文件夹的问题,因为我不知道版本不同会不会有问题,因此我努力把它删掉了,换上了我下载下来的push,实在删不掉可以考虑改个文件夹的名字之类的)
由于我弄得时候真的很小白,看官网给了一些implementation,都加上了,后来爆了一堆错误,类似于Duplicate 。。这其实就是告诉你重复了,我就删掉了那些官网给的,用了自己的依赖
哦对了 还有版本号,在根目录下的build.gradle文件中
这里我为什么用了3.4.1我忘记了,好像是那个Duplicate提示告诉我的吧,具体你可以在研究研究,gradle3之后依赖的关键字从compile变成implementation了,嗯
sdk依赖都弄好了以后,在工程自定义的application类(MyApplication)类中
也就是在红框中的s处填入你的appkey,在s2处填入你的umeng secret
Push注册在UMConfigure.init方法之后注册,注册成功后可获取deviceToken,进行消息下发。调用代码如下所示:
UMConfigure.init(this, "替换为Appkey,服务后台位置:应用管理 -> 应用信息 -> Appkey", "Umeng", UMConfigure.DEVICE_TYPE_PHONE, "替换为秘钥信息,服务后台位置:应用管理 -> 应用信息 -> Umeng Message Secret");
//获取消息推送代理示例
PushAgent mPushAgent = PushAgent.getInstance(this);
//注册推送服务,每次调用register方法都会回调该接口
mPushAgent.register(new IUmengRegisterCallback() {
@Override
public void onSuccess(String deviceToken) {
//注册成功会返回deviceToken deviceToken是推送消息的唯一标志
Log.i(TAG,"注册成功:deviceToken:--------> " + deviceToken);
}
@Override
public void onFailure(String s, String s1) {
Log.e(TAG,"注册失败:--------> " + "s:" + s + ",s1:" + s1);
}
});
deviceToken是【友盟+】消息推送生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上不同应用对应的deviceToken不一样。获取deviceToken的值后,可进行消息推送测试!(等我们运行了程序,会在log台打印device token,现在先不急)
在所有的Activity 的onCreate 方法或在应用的BaseActivity的onCreate方法中添加:
PushAgent.getInstance(context).onAppStart();
注:该方法是【友盟+】Push后台进行日活统计及多维度推送的必调用方法,请务必调用!
下面准备工作都做好了,我们要连一部真机(当然你也可以在androidstudio上用虚拟设备,这里我用的真机),因为打算集成小米和华为,因此我用了一部小米手机,找一根好使的数据线连在电脑上,然后打开开发者模式,具体不同的设备有不同的打开方式(自己去搜),在开发者选项中将USB调试和USB调试安全设置打开
在android studio中找到Tools中的connection assistant,Next->Next->
显示了绿色字体,恭喜你设备连上了,然后选择app运行就好了
运行的时候会在你的手机上询问你是否安装之类的,安装完之后进入app发现是一个只有一个button的界面,此时安装完毕。
回到android studio中查看logcat
将它调成这样,然后在搜索中输入 注册,下面出现的一长串的码就是你这台设备的device token,(如果失效了你可以在logcat慢慢找,反正就是这样一长串的码)
到友盟的后台的测试模式友盟测试模式,在测试设备中新建设备,填入你获取到的device token,完成后就可以在测试消息中创建任务了!
大功告成!
最后
以上就是大胆小鸭子为你收集整理的友盟集成小米华为(快速集成和厂商通道集成)的全部内容,希望文章能够帮你解决友盟集成小米华为(快速集成和厂商通道集成)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复