VIVO应用商店分阶段发布能力使用指南

VIVO应用商店分阶段发布能力使用指南

一、功能介绍

在更新应用版本的时候,您可以采用分阶段发布的方式进行应用升级,先向一定比例的用户发布更新的版本,然后再逐步提升用户比例,最终实现全网发布。

通过小范围的版本更新,您可以快速获取用户对新版本的反馈意见,降低全网发布后版本出现问题的风险。

二、操作说明

1. 使用分阶段发布

登录开放平台,点击【管理中心】-【应用】-进入应用详情页,点击【版本升级】进入信息填写页面。

2. 创建分阶段发布版本

1) 在版本信息填写页面,发布类型选择【分阶段发布】

2) 填写分阶段发布时间、分阶段发布比例

3) 完善版本升级其他信息后,点击【提交】,该版本的审核状态将更新为“测试中”

3. 管理分阶段发布版本

1) 分阶段发布包为“测试中”、“审核中”状态时,在应用详情页可以进行“查看详情、催审、撤销测试/撤销审核”

2) 分阶段发布包为“待发布”状态时,在应用详情页可以进行“查看详情、更新设置、终止”

① 点击【更新设置】,可调整分阶段发布比例、分阶段发布时间,也可以手动转全网发布

② 点击【终止】后,该分阶段发布包立即下架且停止下发

3) 分阶段发布包为“已发布”状态时,在应用详情页可以进行“版本升级、修改资料、更新设置、暂停”

① 点击【更新设置】,可调整分阶段发布比例(只能上调)、分阶段发布结束时间,也可以手动转全网发布

② 点击【暂停】,该分阶段包临时下架,停止下发。已下载的用户可继续使用。被圈选且未下载的用户将看不到该分阶段包

4) 分阶段发布包为“已暂停”状态时,在应用详情页可以进行“重新提交、恢复(暂停发布才可操作)、终止”

① 点击【恢复】,可调整分阶段发布比例(只能上调)、分阶段发布结束时间,也可以直接转全网发布

② 点击【终止】后,该分阶段发布包立即下架且停止下发

5) 分阶段发布包为“审核未通过”状态时,在应用详情页可以进行“重新提交”。

4. 分阶段发布版本转全网版本

1) 分阶段发布的生效周期结束后,将自动转全网发布版本。

2) 分阶段发布处于“待发布、已发布”期间,可以点击【更新设置】-【全网发布】-确认转全网发布版本。

5. 分阶段发布规则&FAQ

1)提交分阶段发布到分阶段发布终止之间,不可进行素材AB测试;分阶段发布终止后,恢复素材ab测试的提交和审核

2)主包下架,分阶段包也会受影响下架;主包和分阶段包提交更新,原有分阶段包会终止

3)评论管理、数据服务可正常查看分阶段包数据

4)分阶段发布能力面向的开放对象?    

答:全网在架版本的应用

5)分阶段发布能力的最长周期是多久?

答:30天

6)设置的分阶段比例代表什么含义?

答:以设置20%为例,代表该分阶段包会在软件商店下发给到20%的活跃用户,进行提前体验

7)如果使用分阶段发布的新包有问题,怎么处理?

答:①点击应用详情页,可操作暂停,中止发布;②上传新包进行覆盖,只要保证新包版本大于分阶段发布包

VIVO开放平台微信公众号消息通知能力

vivo开放平台全面升级移动端通知能力,覆盖多种通知场景,为开发者提供更加便利、快捷的消息通知服务,让您不再错过任何一条重要消息。

扫码关注vivo开放平台公众号,绑定账号后,可在公众号及时接收应用审核、上架、资料修改审核、评论预警等通知,且支持灵活订阅接收的应用和消息类型,避免不必要的消息干扰。

一、操作步骤

1)     登录vivo开放平台账号

2)     微信扫一扫,评论管理、工单系统、应用信息完善或活动报名页面的二维码:

3)     关注公众号后,手机端设置绑定应用、通知类型,设置触发评论预警的条件。

注:评论预警条件相互独立,即用户评论满足任意一条预警条件都将在次日10点通知开发者。

4)     成功扫码关注公众号后,后续可通过微信公众号菜单栏-【v-服务】-【通知设置】,调整接收的通知消息以及操作解绑。

5)     PC端:登录vivo开放平台账号后,点击【消息中心】-【微信通知管理】,便可管理绑定的微信号以及查看绑定详情。

二、当前支持场景

消息类型包体类型消息名称
包体状态变动应用/游戏/小游戏/快应用审核不通过、审核通过已发布
应用/游戏审核通过待发布、邀请重新入驻
应用/游戏/小游戏/快应用应用下架
应用应用待更新提醒、上架更新为上架仅收录
应用/游戏/小游戏/快应用应用被冻结(永久冻结、非永久冻结)、取消冻结
应用分阶段包审核通过/不通过、分阶段包应用已终止、暂停分阶段版本通知、分阶段状态变更-分阶段生效、分阶段版本转全网发布版本通知
工单通知应用/游戏/小游戏工单申请结果通知
业务申请应用资料修改审核通过/不通过、灰度发布审核通过/不通过、氛围详情图审核通过/不通过、AB-test素材审核通过/不通过、应用认领审核通过/不通过
游戏测试完成(obb通过/不通过)、游戏转移申请-审核通过/不通过、单机游戏资质测评审核通过/不通过
快应用获取手机号审核通过/不通过、服务消息审核通过/不通过、内容搜索审核通过/不通过、服务消息停用
小游戏小游戏转移申请-审核通过/不通过
运营活动应用极光奖包名审核通过/不通过、极光奖素材审核通过/不通过
应用APP研究所包名审核通过/不通过、APP研究所素材审核通过/不通过
应用大福利中心包名审核通过/不通过
应用/游戏视频专区审核通过/不通过
评论预警应用/游戏评论预警通知

如有疑问,请与开放平台客服取得联系。

VIVO开放平台催审、撤销审核功能

VIVO开放平台催审、撤销审核功能

开发者提交应用审核后如需加急审核,到相应催审时间后,可在后台一键催审;进行应用版本更新、资料修改、定时发布操作出现错误时,可撤销审核或撤销定时发布。

一、催审及撤销规则

分类审核状态支持能力催审条件
新应用/游戏/小游戏/快应用测试中催审、撤销测试提交36小时后可催审
审核中催审、撤销审核
定时发布撤销发布
更新版本应用/游戏/小游戏/快应用测试中催审、撤销测试提交6小时后可催审
审核中催审、撤销审核
更新版本应用/游戏/小游戏定时发布撤销发布
应用/游戏/小游戏/快应用更新资料审核中催审、撤销审核提交2小时后可催审

注意:每天一共可撤销审核3次,当天3次机会全部用完,再次提交审核后,当天不再支持 “撤销审核” ,第二天方可支持。

二、操作流程

1、提交【应用/游戏/小游戏/快应用】审核并满足催审或撤审条件后,在【管理中心】-【应用分发】,选择【应用/游戏/小游戏/快应用】点击相应的应用,进入应用详情页面即可进行操作。

2、设置定时发布后,在应用发布前可撤销发布。

如有疑问,请联系开放平台客服。

VIVO开放平台评论回复使用指南

VIVO开放平台评论回复使用指南

为提升开发者自运营能力,进一步优化用户体验,评论管理新增“评论回复”和“评论预警”功能,开发者可针对用户在vivo应用商店的评论进行回复及监控,及时解决用户问题、响应舆情,并维护良好的评论环境,从而提升应用评分。

一、功能入口

登录vivo开放平台-【产品】-【运营-评论管理】入口

二、功能介绍

评论管理功能是针对用户在vivo应用商店的评论进行管理,核心功能包括评论回复、评论导出、评论预警等。评论管理功能包括以下四大特征:

1. 便于管理用户评论:支持查看、回复、导出用户的评论内容

开发者可在开放平台后台一目了然查看到用户在应用商店的最新评论,并针对评论进行回复,回复后的内容审核通过后将在应用商店客户端展示;如审核不通过,开发者可更新回复内容重新提交。并可导出用户评论进一步进行分析。

2. 进行用户分层管理:支持按星级、机型、应用版本、评论时间等展示或导出 

3. 即时定位用户问题:支持关键词搜索评论内容

4. 新增评论预警功能:支持移动端发送用户的差评提醒

扫描评论管理页面右侧二维码绑定“vivo开放平台”公众号,进入手机端设置评论预警条件,当用户在vivo应用商店中的评论达到所设置的任意一条预警条件时,次日10点将通过微信公众号通知开发者,帮助开发者进行舆情监控和回复开发者也可随时前往公众号-通知设置菜单栏调整条件。

三、评论回复注意事项

1. 评论显示

开发者回复用户的评论时,昵称自动取应用名称,并标有开发者标识。审核通过的回复内容会直接显示在vivo应用商店客户端,所有用户可见。

2. 评论原则

-评论回复禁止包含广告等引导用户到非vivo渠道的内容;

-评论回复内容不能包含网址、QQ号码、电话号码等信息,不超过500个字符;

-单条评论只可回复1次,且回复后不可修改、撤销;

-若用户评论被用户自行删除后,开发者的回复评论将自动删除。

3. 注意事项

开发者回复评论时应当遵守法律规定和平台规则,若多次发表不当言论,或回复内容多次被用户举报,开发者账号将被列入禁用名单,无法进行回复或发表评论。若对平台处理结果存疑,需联系客服人员,申请解除禁用清单限制。

4. 应用商店客户端需为8.56.2或以上版本才可在应用商店查看到回复内容,请及时升级版本。

vivo帐号第三方授权接入指南

一、vivo帐号授权业务介绍

1、简介

支持您的用户使用vivo帐号快速便捷的登录您的应用,在用户授权的情况下可以获取其昵称、头像、性别、所在地、手机号(手机号只能快应用类型获取)等。

2、服务优势

① 一键授权登录

用户不必输入帐号、密码和繁琐验证,就可以通过“vivo帐号”快速登录,即刻使用您的应用,帮助您提升登录转化率。

② 用户信息授权

根据您的不同业务场景需求,可以申请获取用户的基本信息(头像、昵称、性别、所在地)及手机号信息,让您更了解用户。

③ 多设备支持

支持在手机、平板、电脑上接入vivo帐号服务。

二、开发准备

1、应用信息准备

① 接入vivo授权前请先在#vivo开放平台 (opens new window)上进行相关信息的填写与申请

② 如未申请开发者帐号,请先申请开发者帐号,并创建应用

③ 通过开放平台获取到appid(client_id)、对应的clientsecret等信息,具体参照位置如下:

④ vivo开放平台-【管理中心】-【应用】,点击某个应用进入到应用详情页,【运营维护】-点击【帐号服务】,进入到账号服务页面,点击【vivo应用账号接入流程】了解接入授权流程

新版本授权sdk去除了联系人权限,不需要再去申请联系人权限

添加混淆的应用需要添加以下方法防混淆sdk。

-keep class com.bbk.account.** { *;}
-keep public class com.vivo.ic.**{*; }
-dontwarn com.vivo.ic.**

注意:非vivo生态应用接入vivo授权sdk需要另外接入一个commonsdk,具体可通过vivo开放平台-管理中心-应用分发-应用列表页-应用详情页-帐号服务进行获取

2、必要说明

① 授权码模式/标准授权模式:功能最完整、流程最严密的授权模式。它的特点是通过客户端的后台服务器,与服务提供商认证的服务器进行互动。cp客户端通过授权sdk获取到code,cp服务器通过code获取accesstoken,cp服务器通过accesstoken获取用户信息。

② v2新增scope用于代表不同类型的权限,每种权限又分完全权限和不完全权限。完全权限:对应信息在授权页面默认勾选、不可取消,用户同意授权后开发者获得授权码可换取对应信息;不完全权限:对应信息在授权页面默认勾选、可取消,如取消勾选但用户同意授权,开发者不能换取对应信息;仅能和具有完全权限的信息一同发起请求。

3、vivo帐号登录图标使用规范

具体使用图片,见附录

三、版本更新说明

1、2.0.1.3

升级内容(相较于上一版本)

新增功能

1.增加isLogin接口判断帐号是否登录

2.去除imei采集

2、v2.0.1.0

重要

1.接入时需要在开平重新申请appid

2.cp服务器必须进行升级以获取增量信息,否则只能获取基础信息

升级内容(相较于上一版本)

新增功能

1.增量授权,cp可通过配置scope获取增量信息

2.小窗授权改版,在不完全权限下用户可勾选需要授权信息

3.H5授权优化

安全优化

1.限制简化授权使用,简化授权不可获取增量信息

3、2.0.0.4

版本功能

新增功能

1.联系人权限去除

2.提供第三方应用登录注册vivo帐号功能

3.提供第三方应用获取vivo帐号信息功能

四、交互流程说明

1、应用间的交互流程图

① APP

② H5/PC

2、术语解释

缩略语/术语全称说明
clientid第三方服务IDclient_id是vivo标识对第三方的唯一性标识,就是在接入前申请的appid做为clientid
clientsecret第三方服务器密钥第三方访问vivo的密钥,用于签名,不能在公网中传输,在接入前申请的appkey做为clientsecret
accesstoken访问令牌在用户授权许可下,授权服务器下发给客户端的一个授权凭证,可以用access token获取用户授权的信息
refreshtoken刷新令牌刷新令牌的作用在于更新访问令牌,访问令牌的有效期一般较短,这样在访问令牌失效时,可以利用刷新令牌去授权服务器换取新的访问令牌,是否需要该令牌是由第三方自行选择
redirecturi回调地址一般回调地址都是根据H5自身的业务配置,如果某个业务仅仅有apk,而没有PC端的授权业务,可以简单配置为该公司的相关主域名|关于回调地址●  填写的地址必须符合 URI 规范,填写后可以修改;●  HTTP 和   HTTPS 视为不同域,比如 http://vivo.com.cn 和 https://vivo.com.cn;●  请求传递的参数 redirectUri,其域名部分可以是注册时填写的回调地址的同级或子域名,路径部分可以是同级或子路径,但是 SCHEME 和端口号必须相同;●  授权码模式下,请求code步骤,回调地址是必填项

五、授权功能接入

1、APP

① 业务简介

提供安卓应用通过vivo授权sdk接入vivo帐号体系

② 使用入门

授权sdk授权时序图

③ 接口说明

添加混淆的应用需要添加以下方法防混淆sdk。

-keep class com.bbk.account.** { *;}
-keep public class com.vivo.ic.**{*; }
-dontwarn com.vivo.ic.**

注意:非vivo生态应用接入vivo授权sdk需要另外接入一个commonsdk,具体可通过vivo开放平台-管理中心-应用分发-应用列表页-应用详情页-帐号服务进行获取

必要说明:

a) 授权码模式/标准授权模式:功能最完整、流程最严密的授权模式。它的特点是通过客户端的后台服务器,与服务提供商认证的服务器进行互动。cp客户端通过授权sdk获取到code,cp服务器通过code获取accesstoken,cp服务器通过accesstoken获取用户信息。

b) v2新增scope用于代表不同类型的权限,每种权限又分完全权限和不完全权限。

•  完全权限: 对应信息在授权页面默认勾选、不可取消,用户同意授权后开发者获得授权码可换取对应信息

•  不完全权限: 对应信息在授权页面默认勾选、可取消,如取消勾选但用户同意授权,开发者不能换取对应信息;仅能和具有完全权限的信息一同发起请求

④ 各场景接入帐号细分开发

a) 初始化(app)

首先需要创建一个oauth对象,创建方法如下:

mOauth=newOauth.Builder(MainActivity.this)
.setAppID(appid)
.setRedirectUrl(reditUrl)
.setKeepCookie(keepCookies)
.build();

特别注意:

appid需要通过开平申请,reditUrl需要在申请appid的时候进行填写;

v2版本去掉了大小窗的设置,vivo生态应用(快应用、小游戏)默认小窗,非vivo生态应用大窗H5授权;

b) 授权码授权(app)

标准授权方式,授权SDK给应用返回授权Code,应用需要将Code传给应用自己的业务服务器,业务服务器再访问帐号服务器获以获取AccessToken和RefreshToken

c) 应用客户端获取code

调用授权SDK

接口:reqestCode 获取授权码

 /**
     * 新版本授权只提供code模式授权
     * @param callback 授权回调
     * @param scope 授权信息scope
     */
    public void requestCode(OauthCallback callback, String scope) {
        ReportParams params = AccountReportManager.getInstance(mContext).getReportParams();
        params.requestType = Constant.AUTH_STANDARD;
        requestCodeOrAccesstoken(callback, Constant.OauthType.TYPE_CODE, scope);
    }

d) SDK目前提供的scope如下

scope说明
BASE_USERINFO基础用户信息(昵称、头像、openid)
PHONE_USERINFO手机号信息
BASE_PHONE_USERINFO基础用户信息&手机号信息

注意:

i.目前只提供基础信息和手机号信息

ii.如果app申请的是不完全权限,则需要使用BASE_PHONE_USERINFO来申请手机号信息,不可单独入参手机号信息

iii.如果未登录,则会优先拉起vivo帐号登录页面,登录完成后跳转授权页面

iv.如果已登录,则直接拉起授权页面

v.当业务方获取到帐号信息后,下次调用requestCode接口,不再跳转授权页面,静默授权直接获取到code

•  代码示例

i.获取基础用户信息

mOauth.unRegisterOauthCallback();
mOauth.requestCode(mOauthCallback, Constant.Scope.BASE_USERINFO);

ii.获取手机号信息

mOauth.unRegisterOauthCallback();
mOauth.requestCode(mOauthCallback, Constant.Scope.PHONE_USERINFO);

iii.获取基础信息&手机号信息

mOauth.unRegisterOauthCallback();
mOauth.requestCode(mOauthCallback, Constant.Scope.BASE_PHONE_USERINFO);

iv.oauthCallback回调如下

 OauthCallback mOauthCallback = new OauthCallback() {
        @Override
        public void onStartLoading() {
            showToast("onStartLoading() enter");
        }

        @Override
        public void onResult(OauthResult result) {
            showToast("onResult() enter , result=" + result);
        }

        @Override
        public void onEndLoading() {
            showToast("onEndLoading() enter");
        }
};

2、H5

① 业务简介

提供非采用授权sdk的应用方,可通过跳转帐号H5授权页面的方式完成授权获取帐号信息,页面示例如下:

② 使用入门

基本接入流程:

a) 申请APPID和APPKEY。

b) 需要进行vivo账户授权时访问URL:  https://passport.vivo.com.cn/oauth/2.0/authorize  跳转授权H5页面。

c) 用户在授权页同意授权,vivo会生成一个授权认证码code参数放在第三方服务申请的重定向URL之后并重定向第三方服务,第三方服务器用授权认证码code获取AccessToken。

d) 第三方服务器根据AccessToken获取用户授权的信息,信息包括头像、昵称、用户的唯一标识openid。

③ 接口说明

1.1 应用服务器根据code获取accessToken和refreshToken【服务器之间对接】 

用户在点击确认授权后,授权sdk会返回授权认证码code,应用需要将code传递给应用自己的服务器,由服务器获取accesstoken和refreshToken。

备注:以下接口由应用自己的服务器和vivo帐号服务器进行对接,都是post请求,要设置成表单形式提交,参数放在url后面即可。

接口说明

url:https://passport.vivo.com.cn/oauth/v2/access_token

消息方向:应用服务器-》vivo帐号服务器

请求参数

参数参数名称类型必填参数说明
基本参数
timestamp时间戳long请求的当前时间戳,时间戳和服务器时间戳进行校正过,时间戳是自 1970 年 1 月 1 日(00:00:00   GMT)以来的毫秒数
nonce随机字符串String随机字符串
sign签名String签名【附录有关于签名的算法的详细说明】
业务参数
client_id第三方服务唯一标识Stringvivo账户系统用来识别第三服务,由vivo分配给第三方服务
code授权认证码String授权认证码
grant_type授权类型String固定值:authorization_code

示例:

入参

响应示例:

{
    "code": 0,
    "msg": "成功",
    "data": {
        "access_token":"d3d8c085-372c-4141-8d0c-7fd5d",
        "refresh_token":"2edfd55f-2c28-4d09-99a6-c47ee8",
        "session_key":"96d3e29b-5203-4380-e97be064e0b5",
        "expire_in": 86400
    }
}

返回值含义如下

1.2 根据accessToken获取用户授权信息【服务器对接】

根据accessToken获取用户授权信息,帐号服务器会验证accessToken的合法性,当accessToken合法时,vivo服务器会返回对应的scope权限所包含的用户信息。

接口说明 

调用方式:post

url:https://passport.vivo.com.cn/oauth/v2/resource

消息方向:应用服务器-》vivo帐号服务器

请求参数

参数参数名称类型必填参数说明
基本参数
timestamp时间戳long请求的当前时间戳,时间戳和服务器时间戳进行校正过,时间戳是自 1970 年 1 月 1 日(00:00:00   GMT)以来的毫秒数
nonce随机字符串String随机字符串
sign签名String签名【附录有关于签名的算法的详细说明】
业务参数
client_id第三方服务唯一标识Stringvivo账户系统用来识别第三服务,由vivo分配给第三方服务
access_token授权令牌String授权令牌

示例:

入参

响应示例:

{
    "code": 0,
    "msg": "成功",
    "data": {
        "openid": "vivo用户唯一标识",
        "nickname": "昵称 ",
        "avatar": "头像地址",
        "gender": "性别",
        "location": "所在地",
        "watermark": "敏感数据",
        "iv": "用于解密的iv"
    }
}

敏感信息的解密见附录

1.3 根据refreshToken获取新accessToken【服务器对接】

accessToken有效期是24小时,当accessToken过期后可用refreshToken获取新的accessToken和refreshToken,原来的accessToken和refreshToken失效。

接口说明

url:https://passport.vivo.com.cn/oauth/v2/refresh_token

消息方向:应用服务器-》vivo帐号服务器

请求参数

参数参数名称类型必填参数说明
基本参数
timestamp时间戳long请求的当前时间戳,时间戳和服务器时间戳进行校正过,时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的毫秒数
nonce随机字符串String随机字符串
sign签名String签名【附录有关于签名的算法的详细说明】
业务参数
client_id第三方服务唯一标识Stringvivo账户系统用来识别第三服务,由vivo分配给第三方服务
refresh_tokenRefresh授权令牌StringRefresh授权令牌
grant_type类型String固定值:refresh_token

示例:

响应示例:

{
    "code": 0,
    "msg": "成功",
    "data": {
        "access_token":"329ca5a6e7f7f978",
        "refresh_token":"329ca5a6e7f7f978",
        "session_key":"329ca5a6e7f7f978",
        "expire_in": 86400
    }
}

1.4 取消授权

接入方可以选择给用户提供解除授权的能力

接口说明

url:https://passport.vivo.com.cn/oauth/v2/cancel

消息方向:应用服务器-》vivo帐号服务器

请求参数

参数参数名称类型必填参数说明
基本参数
timestamp时间戳long请求的当前时间戳,时间戳和服务器时间戳进行校正过,时间戳是自 1970 年 1 月 1 日(00:00:00   GMT)以来的毫秒数
nonce随机字符串String随机字符串
sign签名String签名【附录有关于签名的算法的详细说明】
业务参数
client_id第三方服务唯一标识Stringvivo账户系统用来识别第三服务,由vivo分配给第三方服务
vivo_openid用户的唯一标识String

示例:

响应示例:

{
    "code": 0,
    "msg": "成功"
}

返回码

2002002超出权限范围
2002003请求有风险,暂不提供信息
2002004不能同时请求多条敏感权限
2002005非法的clientId
2002007敏感信息的权限等级较低,不允许单独请求
2002009非法请求
2002010timestamp 不能为空
2002011sign 不能为空
2002012client_id 不能为空
2002013sign error
2002014请求超时
2002015无效的code
2002016无效的access_token
2002017无效的refresh_token

④ 开发后自检

a) 回调地址时需要注意以下事项:

•  填写的地址必须符合 URI 规范,填写后可以修改

•  HTTP 和 HTTPS 视为不同域,比如 http://vivo.com.cn 和 https://vivo.com.cn 

•  请求传递的参数 redirect_uri,其域名部分可以是注册时填写的回调地址的同级或子域名,路径部分可以是同级或子路径,但是 SCHEME 和端口号必须相同

回调地址示例:

假设您申请时填写的回调地址是:https://vivo.com.cn/oauth2,那么 redirect_uri 的参数可以是:

https://vivo.com.cn/oauth2?aa=1&bb=2
https://vivo.com.cn/oauth2/path?aa=1&bb=2

错误示例:

http://vivo.com.cn/oauth?aa=1&bb=2//SCHEME不匹配

六、返回码解释

1、APP

oauthResult返回码说明

statusCode说明
200授权码获取成功
12用户取消授权
13授权失败-网络无法链接
14授权失败-其他错误
15aidl service断开
16用户退出登录
19帐号被冻结
20黑名单帐号
21外销帐号
22超出授权权限
23高风险帐号
24禁止一次申请多个权限

提示

当应用每次调用接口时,接收回调之前都需要先解注册

2、H5/PC

2002002超出权限范围
2002003请求有风险,暂不提供信息
2002004不能同时请求多条敏感权限
2002005非法的clientId
2002007敏感信息的权限等级较低,不允许单独请求
2002009非法请求
2002010timestamp   不能为空
2002011sign 不能为空
2002012client_id   不能为空
2002013sign   error
2002014请求超时
2002015无效的code
2002016无效的access_token
2002017无效的refresh_token

七、附录

1、MD5签名

1.生成待签名的字符串

在请求参数中,除去签名参数(即sign),把其它的参数按照字段的顺序排序,排序完成后再把所有的参数用&符号连接起来,这样就完成了待签名的字符串

2.签名

• 目前暂只支持MD5签名。MD5 是一种摘要生成算法,通过在签名原始串后加上第三方的CientSecret(接入前申请的APPKEY)密钥的内容,进行MD5运算,形成的摘要字符串即为签名结果。

• 可以使用提供的工具类把所有请求所求参数放到Map中生成paraMap,用第三方服务申请的client_id(接入前申请的APPID)对应的client_secret(接入前申请的APPKEY)作为签名密钥,调用PartnerSignUtil的sign方法生成生成签名作为参数放在url后即可

public class PartnerSignUtil {
    
    /**
     * 签名字段名称
     */
    public final static String SIGNATURE = "sign";
    
    /**
     * 签名方法字段名称
     */
    public final static String SIGN_METHOD = "sign_type";
    
    
    /**
     * 签名字符串
     * @param paraMap 需要签名的参数Map
     * @return 签名结果
     */
    public static String sign(Map<String,String> paraMap, String key) {
        String saltValue = key;
        return MD5SignUtil.sign(paraMap, saltValue, SIGNATURE, SIGN_METHOD);
    }
    
    /**
     * 验证签名
     * @param paraMap 参数Map
     * @return 验签结果
     */
    public static boolean verify(Map<String, String> paraMap, String key) {
        String saltValue = key;
        String sign = paraMap.get("sign");
        return MD5SignUtil.verify(paraMap, sign, saltValue, SIGNATURE, SIGN_METHOD); 
    }
    
}

注意

如需MD5SignUtil,可在vivo开放平台-管理中心-应用分发-应用列表页-应用详情页-帐号服务获取

2、敏感数据解密

•  用户手机号,邮箱等属于用户敏感数据,接入方拿到数据后需解密后才能拿到明文数据

•  密文数据为获取用户接口返回的watermark字段,采用aes算法进行的加密

•  解密方法调用:OAuthAESUtil.decrypt方法。decrypt(String sSrc, String key, String ivs)。第一个参数为密文字段,第二个参数为获取token时返回的session_key,第三个字段为获取用户信息时返回的字段iv

import javax.crypto.IllegalBlockSizeException;
import javax.crypto.NoSuchPaddingException;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;

public class OAuthAESUtil {

    public static String decrypt(String sSrc, String key, String ivs) {
        try {
            byte[] raw = key.getBytes("ASCII");
            SecretKeySpec skeySpec = new SecretKeySpec(raw, "AES");
            Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
            IvParameterSpec iv = new IvParameterSpec(ivs.getBytes());
            cipher.init(Cipher.DECRYPT_MODE, skeySpec, iv);
            byte[] encrypted1 = Base64.getDecoder().decode(sSrc);// 先用base64解密
            byte[] original = cipher.doFinal(encrypted1);
            String originalString = new String(original, "utf-8");
            return originalString;
        } catch (Exception ex) {
            return null;
        }
    }
}

3、vivo图标合集

PNG、Sketch资源下载

4、SDK接入

授权sdk(oauth文件下载

帐号工具类sdk(account文件下载

服务器参数签名包(三个JAVA文件下载

vivo开放平台素材A/B测试操作手册

vivo开放平台素材A/B测试操作手册

一、产品介绍

为帮助广告主提升运营推广能力,现开放素材A/B能力,支持对于icon、副标题、应用截图、详情页氛围图进行效果测试,选择最优方案,提升应用转化效果。

二、操作指引

1、创建测试

1.1 【管理中心】-【应用】,点击某个应用进入到应用详情页,【运营维护】-【素材AB测试】,进入到素材AB测试创建页面。

1.2 创建素材AB测试时,仅上架状态且无新版本审核中的应用可创建测试任务

1.3 填写测试任务名、选择您需要测试的素材以及测试时长。若您未勾选某素材,则方案配置时,不支持该素材上传,所有方案默认使用当前线上素材

2、方案配置

2.1 可根据实际需求,添加或删除方案,最少2个方案,最多5个方案。

①方案A为线上最新版素材,支持修改

②需按照素材规范,提交素材,如氛围头图要求JPG,PNG格式,尺寸1080*1400,不能超过200k

2.2 上传氛围图后,将自动为您生成配色,同时支持进行微调。支持对方案进行保存草稿以及预览效果以及提交审核,当有上一个任务在进行中时,需等待上一个任务结束后再提交审核

3、测试完成

3.1 测试页,可查看历史所有方案,审核中测试,支持撤销审核;生效中测试,支持终止实验及查看数据;已结束测试,支持查看数据

3.2 实验完成,支持查看所有方案数据,同时支持对转化率最佳素材,设置为主素材,一键替换线上素材;点击查看详细数据时,支持查看分日的转化率数据

三、注意事项

1、测试期间,应用发生下架、包体以及资料更新等情况,则A/B测试将结束。

2、素材提交后并非实验立即生效,而是需所有素材审核通过后,第二天的早上0点开始生效。

3、仅支持同时生效一个测试任务,若当前已有测试任务在审核/生效中,则需等待上一个任务结束后,再提交测试任务审核。

开放平台地址:https://dev.vivo.com.cn/home

代缴公积金社保类APP上架应用商店要求资质

代缴公积金社保类APP上架应用商店要求资质

1.《人力资源服务许可证》(服务范围需相应有代发工资/代缴社保/代缴公积金)三个条件需同时满足
2.工信部ICP备案
3.vivo承诺函
代缴公积金社保类APP上架应用商店要求资质

招聘APP上架应用商店要求资质

招聘APP上架应用商店要求资质

1.经营范围含“人才中介服务”等相关内容的《营业执照》四个条件需同时满足
2.《人才中介许可证》或《人力资源服务资格证》或《劳务派遣许可证》(三选一)
3.工信部ICP备案
4.vivo承诺函
招聘APP上架应用商店要求资质