博客
关于我
vivo推送Android端集成
阅读量:332 次
发布时间:2019-03-04

本文共 2908 字,大约阅读时间需要 9 分钟。

注意事项

1.vivo
推送服务SDK支持的最低android版本为Android 6.0。

一、集成SDK

1.导入推送aar包

将解压后的libs文件夹中vivo_pushsdk-VERSION.aar(vivo_pushsdk-VERSION.aar为集成的jar包名字,VERSION为版本名称)拷贝到您的工程的libs文件夹中。

2.引用aar包到工程

在android项目app目录下的build.gradle中添加aar依赖。

dependencies {         implementation fileTree(include: ['*.jar'],   dir: 'libs')         implementation   'androidx.appcompat:appcompat:1.0.2'         implementation     'androidx.constraintlayout:constraintlayout:1.1.3'         // 添加aar依赖到工程         implementation   files("libs/vivo_pushsdk-2.5.3.1.aar")}

二、配置信息

1.添加权限

vivo Push集成只需要配置网络权限,请在当前工程AndroidManifest.xml中的manifest节点下添加以下代码:

<!—Vivo Push需要的权限--> <uses-permission android:name="android.permission.INTERNET"/> 

2.配置appid 、api key等信息

vivo Push集成需要配置对应的activity、appid 、app key信息,其中appid 和app key是在开发者平台中申请的,详见 vivo push 操作手册。

请在当前工程AndroidManifest.xml中的Application节点下添加以下代码:

<!--Vivo Push需要配置的service、activity--> <service     android:name="com.vivo.push.sdk.service.CommandClientService"         android:exported="true"/><!--Vivo Push开放平台中应用的appid 和api key--> <meta-data     android:name="com.vivo.push.api_key"         android:value="xxxxxxxx"/> <meta-data     android:name="com.vivo.push.app_id"         android:value="xxxx"/>   

三、启动推送

1.添加启动推送代码

在工程的Application中,添加以下代码,用来启动打开push开关,成功后即可在通知消息到达时收到通知。

// 在当前工程入口函数,建议在Application的onCreate函数中,添加以下代码 PushClient.getInstance(getApplicationContext()).initialize (); // 打开push开关, 关闭为turnOffPush,详见api接入文档PushClient.getInstance(getApplicationContext()).turnOnPush(new IPushActionListener() {         @Override        public void onStateChanged(int state) {           // TODO: 开关状态处理, 0代表成功			if (state != 0) {                Log.i("打开push异常[" + state + "]");            } else {                Log.i("打开push成功");                Log.i("获取当前设备的当前应用的唯一标识:" + PushClient.getInstance(context).getRegId());            }        }   }); 

2.自定义通知回调类

在当前工程中新建一个类 PushMessageReceiverImpl继承OpenClientPushMessageReceiver 并重载实现相关方法。并在当前工程的AndroidManifest.xml文件中,添加自定义Receiver信息,代码如下:

<!-- push应用定义消息receiver声明 --> <receiver android:name="xxx.xxx.xxx.PushMessageReceiverImpl" >    <intent-filter>      <!-- 接收push消息 -->          <action   android:name="com.vivo.pushclient.action.RECEIVE"   />    </intent-filter> </receiver>

四、处理推送消息

1.通知点击消息

当设备接收到通知消息后,查看手机的通知栏,可以看到通知栏内的该新通知展示。当点击通知时,回调PushMessageReceiverImpl#onNotificationMessageClicked方法。

示例代码:

public class PushMessageReceiverImpl     extends OpenClientPushMessageReceiver {        @Override        public void onNotificationMessageClicked(Context context,  UPSNotificationMessage msg) {        }        @Override        public void onReceiveRegId(Context context, String regId) {        }  }

五、混淆说明

若需要混淆app,请在混淆文件中添加以下说明,防止SDK内容被二次混淆,自定义回调类切勿混淆。

-dontwarn com.vivo.push.** -keep class com.vivo.push.**{*;   } -keep class com.vivo.vms.**{*; }-keep class xxx.xxx.xxx.PushMessageReceiverImpl{*;}   

踩坑

坑一:

每天测试一个regId只能推送五条通知。因此,手机上会拿不到通知的。

转载地址:http://klde.baihongyu.com/

你可能感兴趣的文章
base64编码字符串和图片的互转
查看>>
汉字转为拼音
查看>>
Target runtime Apache Tomcat v7.0 is not defined.错误解决方法
查看>>
Python+Opencv识别视频统计人数
查看>>
python 记录下Python开发环境的安装配置
查看>>
大佬龟叔写的一个无聊程序
查看>>
linux 下安装kolla报错 提示Cannot uninstall requests
查看>>
Linux MySQL的socket文件存在位置更改
查看>>
Linux RPM和yum命令的使用技巧
查看>>
Python 使jupyter notebook 从指定浏览器启动 以及编程中途更换浏览器
查看>>
写博客常用的字体颜色(待续)
查看>>
C++ throw、try、catch、noexcept
查看>>
vim之vim滚屏与跳转
查看>>
C指针之函数指针与typedef
查看>>
CentOS8 字体大小调整
查看>>
设计模式之组合模式
查看>>
设计模式之外观模式
查看>>
Linux 验证、数字证书、RPM包中文件的提取
查看>>
《Redis开发与运维》阅读笔记:键管理之单个键管理
查看>>
(CMake):指定标准进行编译、CMake官方文档查看
查看>>