- Java锁的逻辑(结合对象头和ObjectMonitor)
- 还在用饼状图?来瞧瞧这些炫酷的百分比可视化新图形(附代码实现)⛵
- 自动注册实体类到EntityFrameworkCore上下文,并适配ABP及ABPVNext
- 基于Sklearn机器学习代码实战
上架vivo商店,使用厂家的离线推送当然是一个重要原因,与小米不同,vivo的推送服务可以在应用未上架的情况下通过添加测试手机的方式进行测试 。
审核流程基本与小米类似 1、企业认证 1、准备营业执照黑白复印件/扫描件 附加红色公章即可 2、对公打款提供开户行信息,一般5分钟左右就会打款,3次错误机会,全错需要走人工 2、审核资料 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+MasaBlazorAPP各大商店新手发布指南(三)vivo篇的文章就讲到这里了,如果你想了解更多关于MAUI+MasaBlazorAPP各大商店新手发布指南(三)vivo篇的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我做了一个app,这个是按时间间隔存储位置信息并发送到服务器的app服务在后台或前台模式下工作。它在普通的 android 手机上运行良好。顺便说一句,应用程序在 oppo 和 vivo 中运行不佳启
我已经在我的 Android 应用程序中实现了 FCM 推送通知。我在数据有效负载中获得了所有通知 JSON。而且我在 api 上“未添加”“通知”标签。所以在所有状态(前景/背景/杀死)中,我只收到
我在我的应用程序中实现了快捷方式,但这在 VIVO 10(Funtouch OS)中不起作用。请帮我。我已经使用了很多方法但没有成功。 方法1:我正在使用此代码但无法正常工作 @SuppressLin
vivo 今年二月在欧洲商标局(EUIPO)中注册了vivo Watch的商标。微博数码博主 @it 科技站 五月曾曝出该智能手表的外观设计。vivo 近日又有两款智能手表产品通过了国家 3C 认证
数码博主 @数码闲聊站 今日爆料称,vivo 智能手表 vivo Watch 或将于两个月以内发布,其中男款 vivo Watch 采用了 46mm 的圆形表盘,配备彩色 OLED 显示屏,支持心率
我在我的应用程序中更改了我的应用程序图标,当我将我的应用程序更新到mi或vivo手机时,即使我重新启动它或更改主题,启动器中的图标也没有更新。 最佳答案 这可能是由蹩脚的主题管理器引起的。只需更改主题
我希望我的应用程序在 vivo 设备中自动启动,但是当我尝试这样做时,我的应用程序没有显示在列表中。谁能告诉我如何解决这个错误 我已经能够重定向到 vivo 的自动启动 Activity if (B
即使应用程序从堆栈中被杀死,我也想在后台运行服务。此功能在某些设备上运行良好。但是在 oppo 和 vivo 手机中,如果应用程序被杀死,它就不会运行。有什么解决办法吗?如果没有,我该如何打开允许权限
我主要在 Vivo 设备上收到 Resources$NotFoundException。这只发生在 Drawable 资源上。我有从 mdpi 到 xxxhdpi 的所有变体。所有这些都是png。我无
即使应用程序被终止,我也想在后台运行该服务。此功能在某些设备上运行良好。但在 oppo、mi 和 vivo 手机中,如果应用程序被杀死,它就不会运行。我如何为这些设备执行此操作 最佳答案 我在 Opp
在摩托罗拉测试应用程序,三星在应用程序被杀死时工作正常。但是当我在体内测试应用程序时,如果应用程序被破坏,OPPO 将无法工作。 public void onMessageReceived(Remo
我正在使用前台服务来跟踪用户的实时位置。它在现有的 android 设备上运行良好,但在 oppo、vivo、Mi 等品牌中,当设备进入 hibernate 模式时,该应用程序被终止。我也尝试使用 F
我有一个带有 IntentService 的 WakefulBroadcastReceiver,每半小时就会发出警报并做一些事情。我已经使用 setExactAndAllowWhileIdle() 方
我是一名优秀的程序员,十分优秀!