0
点赞
收藏
分享

微信扫一扫

Android集成vivo推送

前端王祖蓝 2021-09-28 阅读 71
Android

官方文档地址:https://dev.vivo.com.cn/documentCenter/doc/233

①下载SDK,放到libs文件夹中。


②分别在gradle和AndroidManifest中配置好。

implementation files('libs/pushsdk_v2.3.4.jar')
        <!--注册vivo推送-->
<!--vivo推送配置项-->
<meta-data
android:name="com.vivo.push.api_key"
android:value="xxxxxxxxxxxxx" />

<meta-data
android:name="com.vivo.push.app_id"
android:value="xxxxxxx" />

<!--推送服务需要配置的 service、activity-->
<service
android:name="com.vivo.push.sdk.service.CommandClientService"
android:exported="true" />

<activity
android:name="com.vivo.push.sdk.LinkProxyClientActivity"
android:exported="false"
android:screenOrientation="portrait"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<!--注册vivo推送结束-->

③在application中初始化

    /**
* 初始化vivo推送
*/

public static void initVivoPush(Context context) {
//初始化vivo推送
PushClient.getInstance(context).initialize();
//并且打开推送服务
PushClient.getInstance(context).turnOnPush(new IPushActionListener() {
@Override
public void onStateChanged(int i) {
if (i == 0) {
Log.e("NPL", "打开推送服务成功");
} else {
Log.e("NPL", "打开推送服务失败");
}
}
});
}

④编写receiver并在AndroidMenifest中注册

public class VivoPushMessageReceiver extends OpenClientPushMessageReceiver {

private int nativeRedirect=0;
private String url="";
private int pageType=0;
private int newsType=0;
private long newsId=0;
private String thumb="";
private String title = "";
private String content = "";

@Override
public void onNotificationMessageClicked(Context context, UPSNotificationMessage upsNotificationMessage) {
title = upsNotificationMessage.getTitle();
content = upsNotificationMessage.getContent();
Map<String,String> map = upsNotificationMessage.getParams();
if (map.get(MessageEntity.NativeRedirect)!=null&&!map.get(MessageEntity.NativeRedirect).equals("")){
nativeRedirect = Integer.valueOf(map.get(MessageEntity.NativeRedirect));
}
url = map.get(MessageEntity.Link);
if (map.get(MessageEntity.PageType)!=null&&!map.get(MessageEntity.PageType).equals("")){
pageType = Integer.valueOf(map.get(MessageEntity.PageType));
}
if (map.get(MessageEntity.NewsType)!=null&&!map.get(MessageEntity.NewsType).equals("")){
newsType = Integer.valueOf(map.get(MessageEntity.NewsType));
}
if (map.get(MessageEntity.NewsId)!=null&&!map.get(MessageEntity.NewsId).equals("")){
newsId = Long.valueOf(map.get(MessageEntity.NewsId));
}
thumb = map.get(MessageEntity.Thumb);
}

@Override
public void onReceiveRegId(Context context, String s) {
SpUtil.saveNoClearString(context, SpKey.VIVO_PUSH_REGISTRATION_ID, s);
}
}
<receiver android:name=".mctpush.vivoPush.VivoPushMessageReceiver">
<intent-filter>
<!-- 接收push消息 -->
<action android:name="com.vivo.pushclient.action.RECEIVE" />
</intent-filter>
</receiver>

到这里已经全部配置完成。

举报

相关推荐

0 条评论