Android极光推送(一)手动集成【完整版】

几乎每个项目都会用到推送吧!我从2015年起到现在其中极光推送用了N次了,最近项目又要用到极光推送,刚好又要做网易博客迁移所以来复习一下。但距离上次使用是在2年前联想的项目上,翻了翻笔记,如图:
​​Android极光推送(一)手动集成【完整版】_第1张图片
Android极光推送(一)手动集成【完整版】_第2张图片
记得当时的项目推送弄得挺费劲的,先是我自己弄了个官网的但后来经过沟通说,要用我们联想内部的推送功能,它是在官网的基础上套了一层叫“乐推送”,而写后台的人是其他部门的,大公司是很好很规范但中间要走很多的流程,这效率真不敢恭维了!为了方便查阅使用而且下次很快就能搞定这个功能,我决定还是写一篇文章整理整理当初的笔记,一来当做分享二来方便自己查阅修改,比起在电脑中找文件文档笔记还是要方便很多的,这也是我写博客的初衷,好了废话不多说步入正题!

我实践成功源码地址:https://download.csdn.net/download/yudbl/10843855

极光官网:https://www.jiguang.cn/
极光官方文档:http://docs.jiguang.cn/resources/

  • 1、新建项目
  • 2、创建应用,下载极光Demo
  • 3、手动集成极光推送
    • 3.1、集成指南,官方SDK下载
    • 3.2、导入jar包、so文件、res资源文件
    • 3.3、配置AndroidManifest.xml文件
    • 3.4、代码测试极光推送

1、新建项目

新建项目,定义好包名

Android极光推送(一)手动集成【完整版】_第3张图片

2、创建应用,下载极光Demo

进入极光官网,注册登录,看到如下里面是我以前创建的应用,创建新的应用点击“创建应用”

Android极光推送(一)手动集成【完整版】_第4张图片

输入你当前项目的应用名称、应用图标
Android极光推送(一)手动集成【完整版】_第5张图片

创建成功,如下图:(记住保密AppKey、Master Secret,我的是示例等下删除就无所谓了!)
Android极光推送(一)手动集成【完整版】_第6张图片

点击“完成推送设置”,输入“应用包名” 对应 “项目清单文件的主包名”
Android极光推送(一)手动集成【完整版】_第7张图片

Android极光推送(一)手动集成【完整版】_第8张图片
点击下载Demo
Android极光推送(一)手动集成【完整版】_第9张图片
下载完成后,建一个文件夹,把压缩包解压,如下图:
Android极光推送(一)手动集成【完整版】_第10张图片
Android极光推送(一)手动集成【完整版】_第11张图片

3、手动集成极光推送

3.1、集成指南,官方SDK下载

点击“查看集成指南”

Android极光推送(一)手动集成【完整版】_第12张图片
客户端 SDK 下载
点击 Android SDK概述—>Android 客户端 SDK 下载—>Android SDK 下载
Android极光推送(一)手动集成【完整版】_第13张图片
Android极光推送(一)手动集成【完整版】_第14张图片
下载后,解压
在这里插入图片描述
Android极光推送(一)手动集成【完整版】_第15张图片

浏览器后退,找到:Android SDK 集成指南—>手动集成步骤
Android极光推送(一)手动集成【完整版】_第16张图片

3.2、导入jar包、so文件、res资源文件

导入jar包:
打开解压后的“jpush-android-3.1.7-release” 或 “JPushExample(1143290)”,找到libs文件夹
Android极光推送(一)手动集成【完整版】_第17张图片
全选里面的资源文件 复制到 自己的项目工程里面的libs文件夹里面
Android极光推送(一)手动集成【完整版】_第18张图片
导入so文件:
使用 android studio 的开发者,如果使用 jniLibs 文件夹导入 so 文件,则仅需将所有 cpu 类型的文件夹拷进去;如果将 so 文件添加在 module的libs 文件夹下,注意在 module 的 gradle 配置中添加一下配置:sourceSets.main.jniLibs.srcDirs = ['libs']
这时候在项目工程中就可以看到多了一个 “jniLibs” 文件夹
Android极光推送(一)手动集成【完整版】_第19张图片
导入res资源文件:
找到解压后的 jpush-android-3.1.7-release—>example—>res,复制 res/ 中 drawable-hdpi, layout, values 文件夹中的资源文件到你的工程中 res/ 对应同名的目录下。

如果是项目开发中后期集成,难免会跟自己的项目资源文件有更多同名的,自己视情况是否替换、修改、追加。作为一个开发者应该很简单,不要急躁!

【如我项目初期的操作:
drawable-hdpi文件夹: 一般只有 ic_launcher.png 同名,我不复制过去
layout文件夹: 一般不会同名,都复制过去
values文件夹:
jpush_style.xml复制过去,strings.xml、styles.xml 有同名把内容追加在后面,可以用editplus、sublime Text等编辑器打开,更好查看追加!

Android极光推送(一)手动集成【完整版】_第20张图片

Android极光推送(一)手动集成【完整版】_第21张图片

Android极光推送(一)手动集成【完整版】_第22张图片

3.3、配置AndroidManifest.xml文件

配置 AndroidManifest.xml
###官网给出的主要步骤为:
根据 SDK 压缩包里的 AndroidManifest.xml 样例文件,来配置应用程序项目的 AndroidManifest.xml 。
1、复制备注为 “Required” 的部分
2、将标注为“您应用的包名”的部分,替换为当前应用程序的包名
3、将标注为“您应用的 Appkey” 的部分,替换为在 Portal 上创建该应用后应用信息中的 Appkey,例如:9fed5bcb7b9b87413678c407

***###我通过分析,自己的主要步骤为: ***
找到下载解压后的 jpush-android-3.1.7-release—>example—>AndroidManifest.xml,用editplus或sublime文件编辑工具打开,然后开始复制操作:
Android极光推送(一)手动集成【完整版】_第23张图片
1、极光的这些代码 不替换自己程序的: manifest标签



    

2、极光的这些代码 不替换自己程序的: application标签程序入口相关


3、极光的这些代码 不替换自己程序的:activity标签入口activity主程序

      
        
            
                
                
            
        

4、把极光 permission权限 复制进去

 
    
  
    
    
    
    
    
    
    
    
    
    
    

    
    
    
    
     
    
    
    
    
    
    

5、把极光 组件注册代码 复制进去


       
        
       
        
        
            
                
                
            
        

        
        
        

        
        
            
                
                
                
            
        

        
        
        
            
                
                
                
                
            
        
        
        

        
        
        
            
                
                
            

        
        
        
        
        
            
                   
                
            
            
                
                
            
            
            
                
                

                
            
        

        
        

        
        
            
                 
                 
                 
                 
                
                
            
        

        
        
            
                
                
            
        

6、把极光 meta-data标签 复制进去

      
        
         

7、搜索“您应用的包名”替换成当前项目主包名

8、找到下载解压后的 jpush-android-3.1.7-release—>example—>src,在自己的项目新建包名“com.example.jpushdemo”
Android极光推送(一)手动集成【完整版】_第24张图片

把极光解压后demo中src下里面的java文件全部复制到此包里面
Android极光推送(一)手动集成【完整版】_第25张图片
这时候PushSetActivity可能会报错,那是因为引入图片方式还是eclipse时候的方式,极光推送的开发工程师也够懒的没有更新!我们把引入图片“drawable”改成“mipmap”吧!如下:

//        builder.addJPushAction(R.drawable.jpush_ic_richpush_actionbar_back, "first", "my_extra1");
        builder.addJPushAction(R.mipmap.jpush_ic_richpush_actionbar_back, "first", "my_extra1");
    

9、添加替换meta-data标签里面的Appkey的值
Android极光推送(一)手动集成【完整版】_第26张图片

10、配置混淆文件
在 proguard-rules.pro 文件中加入混淆代码

-dontoptimize
-dontpreverify

-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
-keep class * extends cn.jpush.android.helpers.JPushMessageReceiver { *; }

-dontwarn cn.jiguang.**
-keep class cn.jiguang.** { *; }

Android极光推送(一)手动集成【完整版】_第27张图片

3.4、代码测试极光推送

11、代码测试极光推送 在自定义的Application中onCreate中调用极光推送的初始化方法
public class MyApplication extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        JPushInterface.setDebugMode(true); //正式环境时去掉此行代码
        JPushInterface.init(this);
    }
}

然后在 AndroidManifest.xml 文件中关联MyApplication

    

运行项目基本上不会报错了:
唯一报错的就是AndroidStudio图片引入方式要从
@drawable/ic_launcher 改成 @mipmap/ic_launcher,把你从极光样例程序复制进来的xml文件都改改就可以了!

然后可以去官网,推送测试一下了!
Android极光推送(一)手动集成【完整版】_第28张图片

OK,接收成功!
Android极光推送(一)手动集成【完整版】_第29张图片

你可能感兴趣的:(Android极光推送(一)手动集成【完整版】)