美文网首页
Android集成vivo推送

Android集成vivo推送

作者: 超人TIGA | 来源:发表于2020-01-16 13:59 被阅读0次

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

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

    ②分别在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>
    

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

    相关文章

      网友评论

          本文标题:Android集成vivo推送

          本文链接:https://www.haomeiwen.com/subject/rsjhoctx.html