MAUI+Masa Blazor APP 各大商店新手发布指南(三)vivo篇

news2024/11/19 13:28:18

文章目录

  • 前言
  • 准备材料
  • 审核流程
    • 测试报告
    • 隐私测试报告
    • 隐私行为数据
    • 其他问题
    • 总结


前言

上架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部分不通过截图
1
覆盖Android9-13全部通过截图
1

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

隐私测试报告

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

1

具体不通过的原因和测试场景都会列举,并有相关法律条文的依据。
经验:法律条文可以节约时间,避免与风险、法务、产品部门进行无意义的辩论。

1
1

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

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

1

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

隐私行为数据

这部分内容是隐私测试报告的补充,显示敏感权限调用的时间点和具体的堆栈信息
如果使用了一些第三方的SDK,可能你无法预测SDK的一些行为,例如推送SDK是什么时间读取的设备ID,除了ID之外还读取了什么信息
这时可以参考这份行为数据,进行分析,调整调用时机,或者阻止不必要的调用

1

其他问题

1、如果你的App有自动更新或者发现新版本的功能,那么你必须保证上传到vivo商店的版本为最新,任何更新的提示会直接导致审核终止。
2、不能有“未完成的功能”,例如某个功能点击显示“暂未开通”或“敬请期待”。
3、隐私协议必须明确注明账号注销的相关信息和方法
4、App名称必须和提交的信息保持一致,开发者名称必须和公司名称保持一致
5、如果你应用内部有广告,那么必须有关闭按钮。
6、应用分类不正确往往不会导致审核失败,而是审核之后会自动帮助修正分类
7、应妥善处理首页/登录页的回退按钮/回退手势

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

1

    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官方-应用审核常见问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/955733.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

将AI助手集成到微信公众号中, 无代码实现智能对话能力

1 语聚AI与微信公众号的集成方式展现 集成到微信公众号对话框 搭建一个自动化流程,可以通过流程嵌入的方式将AI助手集成到微信公众号中,后续,在微信公众号对话框, 无代码实现智能对话能力,做您微信公众号的涨粉利器。…

WebGPU助力客户端Crypto/ZK

1. 引言 前序博客: CUDA入门WebGPUZKP:客户端证明WebGPU入门 正如Personae Labs团队2022年11月博客 Efficient ECDSA & the case for client-side proving 中所指出: 仅适用于高端笔记本电脑的5分钟证明生成时长,远不是可行…

医院小程序如何在线搭建?实战解析

在当今数字化时代,移动应用程序成为我们生活中必不可少的一部分。特别是在医疗领域,移动应用程序的需求更为迫切。为了满足这一需求,开发一个医疗小程序成为了许多医疗机构的优先选择。 在本文中,我们将分享一个实战攻略&#xff…

Linux命令awk详细用法

简介 awk 是一种强大的文本处理工具,用于在命令行环境下对文件或数据流进行逐行处理和分析。它是由 Alfred Aho、Peter Weinberger 和 Brian Kernighan 在 1977 年开发的,并以他们三人的姓氏命名。awk 在 Unix/Linux 系统中非常常见,也有 Win…

深入浅出:手把手教你实现顺序表

一、什么是顺序表 顺序表是一种数据结构,或者说,是数据在内存中存储和管理的一种方式。顺序表要求每个数据要从第一个位置开始,依次挨着放。这就很适合使用C语言中的数组来实现。 很多朋友可能会觉得,那有啥可以讲的?我…

Shell - 加固系统配置

文章目录 #! /bin/bash # Function:对账户的密码的一些加固 read -p "设置密码最多可多少天不修改:" A read -p "设置密码修改之间最小的天数:" B read -p "设置密码最短的长度:" C read -p "设置密码失效…

C语言memcpy与memmove

C语言memcpy与memmove memcpy memcpy函数原型 void* memcpy(void* dst,const void* src,size_t size);//const修饰src,表示不应该修改src指向的数据memcpy用于实现数据的拷贝操作,将src往后的size字节数据拷贝到dst指向的空间 memcpy的实现: void*…

头歌MYSQL——课后作业1 数据库和数据表的建立、修改和删除

第1关:建立数据库 任务描述 本关任务:建立数据库 为了完成本关任务,你需要掌握: 如何创建数据库,显示已经建立的数据库 相关知识 创建数据库 创建数据库是在系统磁盘上划分一块区域用于数据的存储和管理。 命令格…

Android片段

如果你希望应用根据不同的环境有不同的外观和行为,这种情况下就需要片段,片段是可以由不同活动重用的模块化代码组件。 片段(Fragment)是活动(Activity)的一种模块化部分,表示活动中的行为或界面…

日本”闲鱼“Mercari煤炉是什么?如何做?

相信做跨境的小伙伴经常听到一个平台:日本煤炉。这是一个跨境电商平台,那么它是什么样的跨境电商平台呢?这个平台好做吗?如何卖货?带着这些问题,接下来小编为大家详细的讲解,帮助大家更好的更了…

开关电源传导发射

开关电源相较于传统的线性电源,具有工作效率高,体积小的优点,因此获得了广泛的应用。但是由于其内部开关管不停的通断,产生了大的du/dt,因此开关电源是产生传导发射的一个主要噪声源,并且由于与电源线直接连…

快速了解状态管理库Pinia及其使用方法

目录 1.pinia是什么 2.为什么要使用pinia 3.pinia的优点 4.pinia在项目中使用 ①创建一个使用pinia的Vue3项目 ②在页面使用store 1.pinia是什么 Pinia 起源于一次探索 Vuex 下一个迭代的实验,如果你学过Vue2,那么你一定使用过Vuex。Vuex在Vue2中主…

《让你的沟通结构化》考试试题及答案截图

中电金信新员工入职培训选修课《让你的沟通结构化》考试答案截图

基于STM32F103C8T6的系统板设计

针对兆易创新旗下型号GD32F103C8T6(兼容STM32F103C8T6)芯片设计的方案验证板,整板由micro USB供电通过1117稳压管稳压输出3.3V供电,中间配备唤醒按键和复位按键,两侧是从芯片引脚引出的IO口用于调试,其中有3.3V、5V电压选择,BOOT0模式选择,SWD调试接口,电源指示灯以及…

二、Mycat2 相关概念及读写分离

第三章 Mycat2 相关概念 3.1 概念描述 1、分库分表 按照一定规则把数据库中的表拆分为多个带有数据库实例,物理库,物理表访问路 径的分表。 解读:分库:一个电商项目,分为用户库、订单库等等。 分表:一张订单表数据数百万&#xff…

时序预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU时间序列预测

时序预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU时间序列预测 目录 时序预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU时间序列预测效果一览基本描述程序设计参考资料 效果一览 基本描述 1.时序预测 | MATLAB实现基于QPSO-BiGRU、PSO-BiGRU、BiGRU时间序列预测&a…

LoRA大模型加速微调和训练算法解读

理论 Lora( Low-Rank Adaotation),低秩自适应模型微调的方法,它冻结预训练模型的权重,并将可训练的秩分解矩阵注入到transformer架构的每一层,从而大大减少下游任务的可训练参数的数量, 怎么微调下游任务:利用LoRA对…

1.Python操作txt文本

文章目录 1.Python读取一个txt文件的内容并将其写入到另一个txt文件2.Python读取一个未知编码的文件并将其设置为指定编码格式3.Python实现txt文件中字符串的替换 1.Python读取一个txt文件的内容并将其写入到另一个txt文件 # -*- encoding:gb2312 -*- import chardetdef read_…

WebSocket 协议及其使用案例

文章目录 前言一、初识 WebSocket 协议1.1 什么是 WebSocket 协议1.2 WebSocket 与 HTTP 的关系1.3 WebSocket 握手的过程1.4 WebSocket 解决了什么问题 二、WebSocket 数据帧格式2.1 WebSocket 数据帧格式图示2.2 各字段的详细说明 三、SpringBoot 项目中引入 WebSocket3.1 创…

Meta语言模型LLaMA解读:模型的下载部署与运行代码

文章目录 llama2体验地址模型下载下载步骤准备工作什么是Git LFS下载huggingface模型 模型运行代码 llama2 Meta最新语言模型LLaMA解读,LLaMA是Facebook AI Research团队于2023年发布的一种语言模型,这是一个基础语言模型的集合。 体验地址 体验地址 …