MAUI APP 发布指南(二)小米篇

文章目录

  • 前言

  • 审核注意事项

    • 准备材料

    • 测试与审核

    • 总结


前言

先说一下我们上架厂家应用商店的原因:除了方便用户下载之外,需要厂家的离线推送和微信内容分享等都需要上架应用商店(微信分享不上架有调用次数限制)。
如果你的App需要在国内使用离线推送功能,也就是App不启动的场景下接收消息推送,那么你需要集成厂家的SDK,如果你使用了第三方推送,例如 极光、个推。那么你依然需要集成第三方给你集成好的对应的厂家SDK,这么说可能有点绕,总结就是单独集成第三方的推送SDK是不够的,需要再集成厂家SDK(可以是第三方集成好的,这样节省一些配置,也可以是厂家官方的SDK)才能实现离线推送。那么我们为什么还要集成第三方推送呢,因为厂家推送渠道是有限额的,第三方推送可以根据设备是否在线来优先使用他们的推送通道,帮你节约厂家推送的配额。另外小米的推送没有提供测试场景,也就是必须App上架小米应用商店之后,才能启用小米的推送服务。

审核注意事项

准备材料

除了常规的材料,例如apk包,应用截图,应用图标,应用介绍之类的常规内容之外,以下内容需要提前准备
一、企业认证
账号需要企业认证
1、需要提供营业执照复印件(带红色公章),营业执照可以是黑白复印件,但是企业公章必须是红色的
2、需要选择一种认证方式,法人面部识别认证或者走企业对公打款,第一种最快,但是需要法人配合,对公打款需要提供账号开户行等信息,打款金额只有3次输入错误机会,否则就需要走人工审核流程。
二、ICP备案号
除了常规的材料之外,需要与你账号主体一致的ICP备案号,如果你的备案号可以查到,那么不需要上传ICP附件,ICP查询网站

https://beian.miit.gov.cn/#/Integrated/index

0eae2c523ca1e1c689988374636f4896.png

如果无法查询,请上传ICP证截图
b1b0b6695651df98b35428cf952523ae.png

三、软件著作权证书 简称 软著
电子版权证书包含《电子版权认证证书》和 《计算机软件著作权登记证书》(或《软件著作权认证证书》)
你手里的软著证书如果官方申请通道颁发的那么是有"计算机软件著作权登记专用章"的电子签名的。
a586e5a4f1b9139d3e4b5a9c1eab6928.png
那么可以直接上传电子版权证书,如果是纸质的或者是没有电子签名的照片,可以直接上传图片。

四、隐私政策(URL)
隐私政策需要提供外网可访问的URL
隐私政策可以网上参考一些其他App的内容撰写,以下是个推的APP隐私政策模板,覆盖了常用的细分领域。

https://docs.getui.com/templet/

这里有几点需要注意
1、如果你使用了第三方推送服务,你需要在隐私政策中添加"与授权合作伙伴共享"的相关内容,将合作第三方主体明确写出,并把涉及到的权限内容,以及第三方的隐私政策链接加上,以下是个例子

6.与授权合作伙伴共享
为App用户提供消息推送技术服务,我们与深圳市和讯华谷信息技术有限公司(极光消息推送服务提供商)合作为用户提供消息推送服务。第三方主体:深圳市和讯华谷信息技术有限公司 SDK 用途:为 APP 用户提供信息推送服务 处理个人信息类型:设备参数及系统信息(设备类型、设备型号、系统版本、及相关硬件信息):用于识别用户的设备类型、设备型号、系统版本等,确保消息准确下发;设备标识符(IMEI、IDFA、Android ID、GID、 MAC、OAID、VAID、AAID、IMSI、MEID、UAID、硬件序列号信息、ICCID、SIM信息):用于识别唯一用户,保证推送的精准送达及推送信息的准确统计;网络信息(IP 地址、WiFi 信息、基站信息、DNS地址、DHCP地址、SSID、BSSID)与位置信息(经纬度):用于优化SDK与极光服务器的网络连接请求,保证服务的稳定性和连续性,同时实现区域推送功能;应用列表信息(应用崩溃信息、通知开关状态、APP 应用列表及活跃状态、APP 应用页面信息、APP 功能事件相关信息):当一个设备有多个 APP 的推送链路同时活跃时,我们采用合并链路技术,随机合并成一条链路,以达到为用户节省电省流量的目的;推送日志信息:以便开发者查询使用推送服务记录,了解推送信息送达的情况,调整推送策略。数据处理方式:通过去标识化、加密传输及其他安全方式 极光官网链接

(https://www.jiguang.cn/push)

 隐私政策链接

(https://www.jiguang.cn/license/privacy)

2、需要明确写出账号注销的内容,以下是例子

用户信息主体注销账户
您随时可注销此前注册的账户,您可以通过以下方式自行操作:操作方式…
在注销账户之后,我们将停止为您提供产品或服务并依据您的要求,删除或匿名化您的信息,法律法规另有规定的除外。这也将可能导致您失去对您账户中数据的访问权,请您谨慎操作。

3、需要明确指出授权主体

本政策仅适用于{xxxx公司}的{xxxxx产品}产品或服务。最近更新日期:{隐私政策更新时间}

4、需要添加联系方式的相关内容

九、如何联系我们
如果您对本隐私政策有任何疑问、意见或建议,通过以下方式与我们联系:
电子邮件:{公司邮件地址}
电 话:{公司电话}
传 真:{公司传真}
我们设立了用户信息保护专职部门,您可以通过以下方式与相关人员联系:补充用户信息保护相关的联系方式
一般情况下,我们将在三十天内回复。
如果您对我们的回复不满意,特别是我们的用户信息处理行为损害了您的合法权益,您还可以通过以下外部途径寻求解决方案:补充其他获取解决方案的外部途径

5、隐私协议需要在用户首次安装或隐私协议发生变更后,自动弹出,并需要明确提示和引导用户同意隐私协议,而不能简单放个同意和拒绝按钮在那里。另外不能默认勾选同意。

测试与审核

基础信息无误后,会进入先进入自动化测试阶段+人工测试审核阶段,
该阶段会产生两个报告《APP违法违规收集使用个人信息行为认定报告》与《小米移动应用隐私合规检测报告》
报告可以在开发者平台下载,上面会有详细的不通过的原因和内容,可以参照修改,另外还会包含安全性相关的检测,但是这部分只作为优化内容,大多情况不会影响最终的审核结果
审核遇到的常见问题如下:
1、minSdkVersion最大为27,低于27是不能通过检测的,对应安卓版本为8.1,也就是你的app必须支持8.1及以上的安卓版本,目前1.0.0的Masa Blazor可以完美支持8.0以上的机型,当然你要提前测试确保你的app不存在闪退等情况。
2、如果遇到推送SDK自启动关联等问题
1487797248fc2dc2fc0c66776e651b94.png

请更新最新的SDK或者咨询你推送的SDK供应商。
我这里没有更新SDK,而是在manifest添加了如下内容禁用了自启动

<receiver android:name="com.igexin.sdk.PushReceiver" tools:node="remove"></receiver>
<activity android:name="com.igexin.sdk.GActivity" tools:node="remove">

如果你的应用就是需要自启动,那么你需要向用户明确提示需要运行应用自启动或关联启动行为的场景、目的、规则及必要性,且在用户明确同意后才依法产生相关行为
3、APP、SDK 违规处理用户个人信息
这部分内容会在《APP违法违规收集使用个人信息行为认定报告》体现,是出问题最多的地方,主要体现在违规和超范围收集个人信息
由于第三方推送会获取设备的ID、MAC地址等设备信息,所以推送的初始化,必须放到用户同意隐私政策之后
也就是App的推送授权弹窗必须出现在用户点击同意隐私协议之后,用户点击同意之后,App才能初始化相关功能,用户点了拒绝,那么就不能初始化。
另外尽量不要使用高度敏感的权限,例如读取用户通讯录,读取手机号码、拨打电话、发送短信等

4、不能出现不给权限就不让用,直接退出的情况。不能频繁反复索要权限,例如用户拒绝后,下次启动再次弹窗等。

总结

由于我们的App已经通过了App Store的审核,所以小米审核过程并没有遇到很多问题。
所以该文内容可能并不全面,如果遇到了其他问题可以直接通过工单系统与客服人员联系,让他们帮忙确认,例如修改之后的协议内容等信息,这样可以节省审核时间
合规问题可以通过微信与小米“隐私合规指引专员”直接沟通。一般他们会主动加你,也会用电话与你联系。
APP常见隐私安全问题与自查整改指引(https://dev.mi.com/distribute/doc/details?pId=1281)

往期内容

### 开发 Blazor MAUI 跨平台移动应用的指南 Blazor MAUI 是一种结合了 Blazor 和 .NET MAUI 的技术,能够实现跨平台的移动应用开发。通过使用 Blazor 的 Web 技术(如 HTML、CSS 和 C#),开发者可以构建能够在 iOS、Android 等多个平台上运行的应用程序。 #### 1. 开发环境配置 在开始开发之前,需要配置好开发工具和依赖项: - 安装 **Visual Studio 2022** 或更高版本,确保已安装 `.NET Multi-platform App UI development` 工作负载。 - 确保安装了适用于 Android 和 iOS 的 SDK 和模拟器支持。 - 配置好必要的设备连接工具,例如 Android 设备调试桥(ADB)和 Apple 开发者账户以便测试 iOS 应用。 #### 2. 创建 Blazor MAUI 项目 Blazor MAUI 应用本质上是将 Blazor WebAssembly 嵌入到 .NET MAUI 的 WebView 中。具体步骤如下: 1. 使用 Visual Studio 或命令行创建一个新的 .NET MAUI 项目。 2. 添加对 Blazor WebAssembly 的引用,并在项目文件中启用相关功能。 3. 在 `MauiProgram.cs` 文件中注册 Blazor WebAssembly 的服务并加载初始页面。 ```csharp using Microsoft.AspNetCore.Components.WebView.Maui; using BlazorApp.Shared; var builder = MauiApp.CreateBuilder(); builder.UseMauiApp<App>(); builder.Services.AddBlazorWebViewServices(); builder.Services.AddBlazorWebView(); builder.RootViewController.SetContent<MainPage>(); public class MainPage : ContentPage { public MainPage() { var blazorWebView = new BlazorWebView { Source = new Uri("https://localhost:5001") // 指向 Blazor WebAssembly 项目的地址 }; Content = blazorWebView; } } ``` #### 3. 跨平台适配与优化 由于 Blazor MAUI 的核心是基于 WebView 的渲染机制,因此需要特别注意不同平台之间的差异性: - **UI 适配**:利用 CSS 媒体查询或 Blazor 的响应式组件库来调整界面布局,以适应不同屏幕尺寸和分辨率。 - **性能优化**:减少不必要的 JavaScript 调用,压缩静态资源文件,并尽可能利用本地 API 提升交互体验[^4]。 #### 4. 平台特定功能集成 .NET MAUI 允许直接访问本机平台的功能,例如摄像头、传感器、通知等。可以通过条件编译指令或者依赖注入的方式实现特定功能的调用: ```csharp #if ANDROID // Android 特定代码 #elif IOS // iOS 特定代码 #endif ``` 此外,还可以通过定义接口并在各平台中实现具体逻辑,实现更灵活的架构设计[^2]。 #### 5. 数据通信与后端集成 对于需要与后端系统交互的应用程序,建议采用 RESTful API 或 GraphQL 来进行数据通信。后端可以选择 ASP.NET Core 实现,利用 EF Core 进行数据库操作,并通过 JSON 格式返回数据给前端处理[^5]。 #### 6. 测试与发布 在完成开发后,需要进行全面测试,包括: - 功能测试:验证各个模块是否按照预期工作。 - 性能测试:检查应用在低端设备上的表现以及网络请求的速度。 - 用户体验测试:确保界面友好且操作流畅。 发布时需要注意以下几点: - 对于 Android 应用,生成签名 APK 并上传至 Google Play 商店。 - 对于 iOS 应用,需通过 Apple Developer 平台提交审核,并遵循其设计规范和要求[^3]。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值