Android集成vivo推送

本文档详细介绍了如何在Android应用中集成Vivo推送SDK,包括下载SDK、配置gradle和AndroidManifest、初始化推送服务以及编写和注册接收器。通过这些步骤,开发者可以实现Vivo推送功能,接收到远程通知并处理点击事件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

官方文档地址: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>

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


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值