前言

上架vivo商店,使用厂家的离线推送当然是一个重要原因,与小米不同,vivo的推送服务可以在应用未上架的情况下通过添加测试手机的方式进行测试

准备材料

审核流程基本与小米类似

一、企业认证

1、准备营业执照黑白复印件/扫描件 附加红色公章即可

2、对公打款提供开户行信息,一般5分钟左右就会打款,3次错误机会,全错需要走人工

二、审核资料

1、apk文件

2、应用信息包括:名称、测试账号、图标、简介、截图(截图要求是1080*1920,2MB以内;格式:png、jpg)

截图需要与应用内容保持一致,例如:如果你截图上有5个按钮,那么测试账号登录之后应该也有5个,截图最好与测试账号身份登录后的效果保持一致。

3、ICP备案号:vivo这里需要添加备案号即可,不需要上传备案截图

4、软著电子证书,上传会自动读取pdf文件证书的信息,如果无法读取,可以在软件著作权栏内上传软著截图

5、承诺书:部分行业资质需要,例如网赚类,也比较简单,按照模板填写公司及app信息盖章拍照上传即可。

6、隐私协议:注意点还是不要过度收集信息。如果使用了其他厂家的推送SDK,需要在协议中体现,可以参照如下:

(1)第三方SDK名称:华为推送SDK

使用目的:消息推送

收集的个人信息类型:AAID(应用匿名标识)、Token、Topic订阅关系、消息下发记录、Token申请记录、缓存消息内容。

官网链接:https://developer.huawei.com/consumer/cn/doc/development/HMSCore-Guides/privacy-statement-0000001050042021

(2)第三方SDK名称:魅族推送SDK

使用目的:消息推送

收集的个人信息类型:设备信息、设置信息、位置信息

官网链接:https://www.meizu.com/legal.html

(3)第三方SDK名称:OPPO推送SDK

使用目的:消息推送

收集的个人信息类型:设备信息、使用推送服务的应用信息、推送SDK版本号、网络相关信息、消息发送结果、通知栏状态、锁屏状态。

官网链接:https://open.oppomobile.com/wiki/doc#id=10288

(4)第三方SDK名称:VIVO推送SDK

使用目的:消息推送

收集的个人信息类型:设备标识信息、网络状态信息

官网链接:https://dev.vivo.com.cn/documentCenter/doc/3663

(5)第三方SDK名称:小米推送SDK

使用目的:消息推送

收集的个人信息类型:设备标识信息、设备设置信息、应用使用信息

官网链接:https://dev.mi.com/console/doc/detail?pId=1822

审核流程

vivo对机型的最低版本并没有强制限制,如果你的app只支持Android 9以上,那么vivo的测试机型就不会包含9以下的机型

如果你没有明确指定最低版本,那么测试机型会覆盖Android 8-Android 13的机型

审核失败会收到类似通知

很遗憾,您的应用未通过审核

尊敬的开发者:

您好!您上传的应用“xxxx,包名:xxx.xxx.xxx,版本号:1.1.10”审核未通过。审核未通过原因:

经平台检测该应用隐私测试结果不通过,请您查看测试报告并核实修改apk后再进行上传,避免应用被多次打回。

具体测试报告参见以下链接::

测试报告地址:https://swsdl.vivo.com.cn/appstore/upload2/pdfFile/20230531/xxx.pdf

测试不通过的机型和log文件地址如下(30天有效):

机型列表:

机型:V1809A log日志:https://vivopublic.oss-cn-beijing.aliyuncs.com/xt9nIVI6CeWhyzHX/20230531/xxx.zip

机型:vivo X21A log日志:https://vivopublic.oss-cn-beijing.aliyuncs.com/xt9nIVI6CeWhyzHX/20230531/xxx.zip

隐私测试报告:https://swsdl.vivo.com.cn/appstore/cloudtest/pdf/20230531/xxx.pdf

隐私行为数据:https://swsdl.vivo.com.cn/appstore/cloudtest/xlsx/20230531/xxx.xlsx

测试报告

测试报告会包含测试的机型及是否通过的记录

覆盖Android8.1-13部分不通过截图



覆盖Android9-13全部通过截图

如果有崩溃和异常的情况,可以下周异常机型测试过程的log日志

隐私测试报告

测试报告中会显示检测结论和存在的问题数量

具体不通过的原因和测试场景都会列举,并有相关法律条文的依据。

经验:法律条文可以节约时间,避免与风险、法务、产品部门进行无意义的辩论。



我们这里遇到的问题主要是推送SDK初始化在应用启动就开始了,需要改到在用户同意隐私协议之后才能初始化,如果用户没有同意,那么不能初始化相关SDK。

对敏感权限使用会有分析总览

所有涉及的敏感权限需要得到用户的授权,并需要向用户说明使用目的和作用,按照经验这部分不全部体现到在隐私协议里面也能通过审核。

隐私行为数据

这部分内容是隐私测试报告的补充,显示敏感权限调用的时间点和具体的堆栈信息

如果使用了一些第三方的SDK,可能你无法预测SDK的一些行为,例如推送SDK是什么时间读取的设备ID,除了ID之外还读取了什么信息

这时可以参考这份行为数据,进行分析,调整调用时机,或者阻止不必要的调用

其他问题

1、如果你的App有自动更新或者发现新版本的功能,那么你必须保证上传到vivo商店的版本为最新,任何更新的提示会直接导致审核终止。

2、不能有“未完成的功能”,例如某个功能点击显示“暂未开通”或“敬请期待”。

3、隐私协议必须明确注明账号注销的相关信息和方法

4、App名称必须和提交的信息保持一致,开发者名称必须和公司名称保持一致

5、如果你应用内部有广告,那么必须有关闭按钮。

6、应用分类不正确往往不会导致审核失败,而是审核之后会自动帮助修正分类

7、应妥善处理首页/登录页的回退按钮/回退手势

1、对于回退按钮或手势操作间隔在一点时间内的操作,可以理解为用户需要退出应用,可以使用Microsoft.Maui.Controls.Application.Current.Quit()退出应用

    public override bool OnKeyDown([GeneratedEnum] Keycode keyCode, KeyEvent e)
{
if (keyCode == Keycode.Back)
{
var modelStack = Microsoft.Maui.Controls.Application.Current.MainPage.Navigation.ModalStack;
if (modelStack.Count == 0)
{
if (isExit)
{
//第2次返回键
Microsoft.Maui.Controls.Application.Current.Quit();
}
else
{
//第一次返回键
isExit = true;
new Android.OS.Handler().PostDelayed(() =>
{
isExit = false;
}, 2000);
Toast.MakeText(this, "再按一次退出朗诗德在线", ToastLength.Long).Show();
return true;
}
}
} return base.OnKeyDown(keyCode, e);
}

2、也可以使用 MoveTaskToBack 直接做最小化后台处理

        //审核要求登录页回退应该关闭或者最小化
public override bool DispatchKeyEvent(KeyEvent e) {
if (e.KeyCode == Keycode.Back) {
if (e.Action == KeyEventActions.Down) {
if (NavigationManagerExtension.UrList.Any()) {
var lastUrl = NavigationManagerExtension.UrList.Last();
var lastIndex = NavigationManagerExtension.UrList.Count - 1;
if (lastUrl.Contains("Login") || lastUrl == "https://0.0.0.0/") {
NavigationManagerExtension.UrList.Clear();
MoveTaskToBack(true);
return false;
}
else {
NavigationManagerExtension.UrList.RemoveAt(lastIndex);
}
}
else {
//最小化
MoveTaskToBack(true);
return false;
}
}
else if (e.Action == KeyEventActions.Up) {
return false;
}
} return base.DispatchKeyEvent(e);
}

总结

安卓平台的商店审核规则基本都是一致的,但是审核人员的标准和“仔细”程度不尽相同。

vivo也提供了在线咨询客服的功能,国内商店基本都有在线人工客服,这点比App Store方便很多。

这些审核相关的内容我们如果之前没有App的开发经验,可以提前学习一下,对开发和相关设计都是很有帮助的

例如:权限应该在什么场景下申请,应该怎样向用户说明用途,图标、标题、副标题应该怎样设计。了解不同机型的分辨率和对应的安卓版本等也是很重要的。

vivo官方-应用管理常见问题

vivo官方-开放平台应用审核规范

vivo官方-应用审核常见问题

MAUI+Masa Blazor APP 各大商店新手发布指南(三)vivo篇的更多相关文章

  1. 大数据新手之路三:安装Kafka

    Ubuntu16.04+Kafka1.0.0 1.下载kafka_2.11-1.0.0.tgz http://kafka.apache.org/downloads 2.解压到/usr/local/ka ...

  2. 在MAUI中使用Masa Blazor

    Masa Blazor是什么 在此之前我们已经介绍过什么是Masa Blazor,以及如何使用Masa Balzor,如果还有不了解Masa Blazor的同学可以看我上篇文章[初识Masa Blaz ...

  3. 使用MASA Blazor开发一个标准的查询表格页

    前言 大家好,我是开源项目 MASA Blazor 主要开发者之一,如果你还不了解MASA Blazor,可以访问我们的 官网 和博客 <初识MASA Blazor> 一探究竟.简单来说, ...

  4. MAUI与Blazor共享一套UI,媲美Flutter,实现Windows、macOS、Android、iOS、Web通用UI

    1. 前言 距离上次发<MAUI初体验:爽>一文已经过去2个月了,本计划是下半年或者明年再研究MAUI的,现在计划提前啦,因为我觉得MAUI Blazor挺有意思的:在Android.iO ...

  5. IOS开始对App Store大扫除:你的APP更新了吗?

    成都亿合科技小编从北京商报了解到,对于开发APP应用的要注意啦,IOS要开始对App Store大扫除:你的APP更新了吗? 日前苹果App Store的开发者们发送邮件,表示将实施一个持续评估应用行 ...

  6. 乘风破浪,.Net Core遇见MAUI(.NET Multi-platform App UI),进击现代化跨设备应用框架

    什么是MAUI https://github.com/dotnet/maui .NET Multi-platform App UI (MAUI) 的前身是Xamarin.Forms(适用于Androi ...

  7. 初识MASA Blazor

    MASA Blazor是一个Blazor的UI组件库.就像大家写前端熟知的Bootstrap, Ant Design一样. MASA Blazor官网地址:https://blazor.masasta ...

  8. MASA Blazor入门这一篇就够了

    1.什么是Blazor? 有什么优势? ASP.NET Core Blazor 简介 Blazor 是一个使用 Blazor 生成交互式客户端 Web UI 的框架: 使用 C# 代替 JavaScr ...

  9. Masa Blazor in Blazor Day

    2022年第一场Blazor中文社区的开发者分享活动,我们的团队也全程参与其中,在议程中,也分享了我们团队的Blazor 管理后台模板,针对于Blazor,先科普一波,避免有些朋友不了解,Blazor ...

  10. Masa Blazor自定义组件封装

    前言 实际项目中总能遇到一个"组件"不是基础组件但是又会频繁复用的情况,在开发MASA Auth时也封装了几个组件.既有简单定义CSS样式和界面封装的组件(GroupBox),也有 ...

随机推荐

  1. 【Java】包名规范及整理

    目录 前言 包名规范 总结 前言 最近学习Java的时候,有一个 class 需要在每一个 java文件中写一写,然后我喜欢一次实验的java文件放到一个 Package 中,这就导致了持续不断的报错 ...

  2. 蓝桥杯真题 平面切分(Set自定义去重)

    题目详情 资源限制 内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s 问题描述 平面上有 N 条直线,其中第 i 条直线是 y=Ai⋅ ...

  3. Docker安装MS SQL Server并使用Navicat远程连接

    MS SQL Server简介 Microsoft SQL Server(简称SQL Server)是由微软公司开发的关系数据库管理系统,它是一个功能强大.性能卓越的企业级数据库平台,用于存储和处理大 ...

  4. GitHub 的项目徽章

    GitHub 项目的 README.md 中可以添加徽章(Badge)对项目进行标记和说明,这些好看的小图标不仅简洁美观,而且还包含了清晰易读的信息. GitHub 项目的徽标可以参考 https:/ ...

  5. CKS 考试题整理 (12)-Trivy扫描镜像安全漏洞

    Task 使用Trivy开源容器扫描器检测namespace kamino中 Pod 使用的具有严重漏洞的镜像. 查找具有High或Critical严重性漏洞的镜像,并删除使用这些镜像的Pod. 注意 ...

  6. Intellij IDEA 插件开发

    写在前面 很多idea插件文档更多的是介绍如何创建一个简单的idea插件,本篇文章从开发环境.demo.生态组件.添加依赖包.源码解读.网络请求.渲染数据.页面交互等方面介绍,是一篇能够满足基本的插件 ...

  7. pyinstaller打包程序后提示No module named ‘xxxx‘

    解决方法1 1.检查 先在venv环境中安装xxx 报错的这个包 以我的举例 查看settings>project interpreter  (存在对应的包) 解决方法2 2.在xxx.spec ...

  8. 跨越HTTP无状态边界:Cookie与Session在Django中的实战应用

    本文深入探索了Django中的Cookie和Session,解析了如何应对HTTP协议的无状态性问题,说明其基础概念,分析工作原理,并讨论何时应选择使用Cookie或Session.文章进阶部分,提出 ...

  9. 在mapper.xml中遍历添加多条数据

    <insert id="saveAuditDf" parameterType="java.util.List"> insert into audit ...

  10. #Powerbi 10分钟,理解 Rankx 排名函数

    一:本文思维导图及示例数据图 1.1思维导图 1.2  示例数据图 二:度量值示例 2.1 函数简介 RANKX 首先为的每一行计值表达式,将结果临时存储为一个值列表.然后在当前筛选上下文中计值,将得 ...