友盟集成小米华为(快速集成和厂商通道集成) 内含很多本人遇到的坑 (上)

  • 快速集成

如果您已经弄好了快速集成,想看厂商通道集成,请直接看下篇

快速集成

首先,毋庸置疑,实在友盟官方平台注册账号 链接: 友盟.
由于本人只是做一个小测试,所以在官方文档下载了示例工程,在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() {@Overridepublic void onSuccess(String deviceToken) {//注册成功会返回deviceToken deviceToken是推送消息的唯一标志Log.i(TAG,"注册成功:deviceToken:-------->  " + deviceToken);}@Overridepublic 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,完成后就可以在测试消息中创建任务了!

大功告成!

友盟集成小米华为(快速集成和厂商通道集成)相关推荐

  1. 应用集成小米华为推送问题总结

    应用集成小米华为推送问题总结 前言 华为角标 华为小米点击通知栏指定intent问题 华为小米清除离线通知栏问题 前言 最近在做推送相关的事情,总体来讲就是希望一个IM类的应用达到离线可以收到推送的效 ...

  2. Android 极光推送华为厂商通道集成问题记录

    本人根据极光推送文档华为厂商通道集成指南集成华为厂商通道后,一直并未打印上面的成功集成华为厂商通道的标志,最后发现只在华为开发者平台创建项目及应用,但是没有开通项目推送服务权限,也是被自己蠢哭了,在华 ...

  3. 极光厂商通道集成指南

    极光厂商通道集成指南 小米集成指南 1.使用JCenter自动化集成步骤 确认AndroidStudio的Project根目录的主gradle中配置了jcenter支持.(新建project默认配置就 ...

  4. 极光推送厂商通道集成

    记录极光推送厂商通道集成过程 1.按极光文档添加相应依赖和配置过程省略. 2.华为极光后台添加跳转activity,否则点击通知无反应,代码处理intent.getData().toString(): ...

  5. 友盟推送集成小米华为魅族系统通道

    前言 大家做过安卓推送服务的都知道,如果安卓设备想要收到推送,就要与服务器建立一个长连接通道(莫非你想轮询??).一旦app被杀掉,维持长连接通道的pushservice服务也会被干掉,所以设备就处于 ...

  6. 友盟推送集成小米华为通道

    在集成友盟推送的时候,小米和华为对后台进程做了诸多限制.若使用一键清理,应用的channel进程被清除,将接收不到推送.为了增加推送的送达率,可选择接入小米托管弹窗功能.通知将由小米系统托管弹出,点击 ...

  7. Android集成小米华为推送以及收不到离线消息的坑

    华为推送 1.应用被杀后,无法收到透传消息? 应用被杀死后,无法收到透传消息,再手动打开app,也收不到之前发送的消息,像有的第三SDK,应用被杀后,再打开app,还可以收到之前的离线消息,华为推送不 ...

  8. android极光推送 小米,极光推送- 小米厂商通道集成指南 - 极光文档

    JPush SDK 小米通道集成指南 概述 在国内 Android 生态中,推送通道都是由终端与云端之间的长链接来维持,严重依赖于应用进程的存活状态.如今一些手机厂家会在自家 rom 中做系统级别的推 ...

  9. 环信即时通讯SDK集成——实战:快速实现iOS应用中集成即时通讯IM和UI

    准备 熟练objective-c语言 有一台mac电脑,并安装了xcode 和 cocoapods 目标 手把手教大家在iOS应用中集成即时通讯IM 功能 内容篇幅较长,需要内心平和耐心看下去,务必戒 ...

最新文章

  1. 使用可进化的AutoML发现神经网络架构
  2. 编程十年 (2):前传2——哪有这么牛逼的游戏机?
  3. 中科燕园GIS外包案例之五---地下管线GIS管理信息系统
  4. java中的双与_java 双冒号是什么操作符?
  5. hadoop示例源码位置
  6. Java面试之锁-读写锁
  7. Win10文件管理器那些你不知道的秘密
  8. 用位运算实现内存对齐
  9. MobileNetV3——论文翻译
  10. 【数据处理】 python 极速极简画图——频数(率)分布直方图
  11. 在c语言中 char型数据在内存中的存储形式是,在c语言中char型数据在内存中的存储形式是什么?...
  12. webotAI网页版上线啦!
  13. mysql_backups
  14. 数据库系统原理(一)引言
  15. 【蓝桥杯选拔赛真题40】Scratch跳格子 少儿编程scratch蓝桥杯选拔赛真题讲解
  16. 淘淘商城第24讲——实现商品类目的选择
  17. 负荷需求响应模型matlab 通过分时电价方式下的负荷需求响应模型得到负荷响应前后变化情况,可以看到明显呈现削峰填谷的作用
  18. 分享优质JAVA学习网站
  19. zynq linux环境移植,ZYNQ 7030 Linux 系统移植
  20. 【网络组网】:H3C的vSYS参考

热门文章

  1. 玩客云刷home assistant(2023-01-19亲测)
  2. java情书_java情书《面向对象》
  3. JDK的安装与配置(配图)
  4. 综合训练3 计算1~20的阶乘的倒数之和
  5. POS机钱箱的安装与驱动
  6. STM32学习之ADC(模拟数字转换器)
  7. excel学习打卡(二)
  8. 按计算机的用途分类可将电子计算机分为,第一章 计算机基础知识
  9. 矿山计算机管理,矿山现代化管理
  10. 苹果手机怎样信任软件_网络资讯:苹果手机怎样放大时钟