APP

2024年App从备案到上架(国内各大应用市场)全过程

Android应用上架国内应用市场踩坑

前言

大家可能心里明白新政下来之后上架会很难,但是到底有多难?心里有底吗?反正我知道。

我们之前一直是做海外市场的,今年下半年才开始做国内的应用,我也是很久没有接触国内应用市场了。不上不知道,现在国内上架都这样了!

目前各大应用市场陆续推出声明,各种备案截止日期到12月就要到最后期限责令整改不让更新,明年再不整改就面临下架风险。

image.png

那么如何进行 App 的各种备案大家有头绪吗?如果是一个新的 App 如何从新开始上架需要经历那些步骤,会踩到哪些坑?

从域名备案,IPC备案,App网安备案,隐私协议检测,到上架各大应用市场的隐私检测,证件查验,功能确认提出整改。

2021_0409_e8a30ff0g00qrapch00pbc0006o005yg.gif

虽然本次上架的是 Flutter App 但是 Android App 完全可以参考使用。

下面就从隐私协议,网安备案,应用市场审核三座大山一并讲来,到底有哪需要注意的点和容易踩的坑。

一、隐私协议

说一下需要注意的点和踩坑的点。

1. 应用启动的协议弹窗

大家应该使用 App 都遇到过这样的应用启动弹窗:

image.png

大家了解最多的就是这个,我们需要在应用启动的时候弹出权限声明弹窗,附上隐私协议与用户协议。

大致包括一些敏感信息的收集,数据安全的声明,敏感权限的使用声明,第三方库的收集信息声明,自启动相关声明,个性化推荐相关声明等等。

2. 延迟初始化,ContentProvider自动初始化?

我们现在就不能在 Application 应用启动的时候就初始化第三方插件了,需要在用户同意协议之后才能初始化,所以才有延迟初始化这么个说法。

那前两年很流行的 ContentProvider 自动初始化技术怎么办?那我走?

Flutter 应用可以在 main.dart 中创建

uniapp ios真机调试【亲测有效】

uniapp ios真机调试【亲测有效】

最近在用uniapp开发一款APP,安卓开发测试以及上架都没有问题,但是在做IOS调试的时候,往往会遇到无法检测到手机的问题。那这种情况是什么原因造成的呢?

HbuilderX做IOS开发无法检测到手机的问题:

在HbuilderX上做IOS调试,使用iphone手机用数据线连接到手机,点击【运行】选择【运行到手机或模拟器】很多时候会遇到 “无法检测到手机或模拟器”。

出现这样的情况主要原因:

1、数据线的问题。可能是数据线损坏,导致检测不到。

2、手机的问题。另外可能就是手机的问题,建议更换手机做测试。例如:最开始我用的是iphone6来调试,这款手机比较久,怎么调试都不行,后来换了一款iphone6 plus,就可以了。

具体的开发测试流程:

步骤一:windows安装【iTunes】

安装好【iTunes】,桌面会出现这个图标。

步骤二:手机数据线连接手机

手机数据线连接手机后,打开【iTunes】确保【iTunes】能够正常连接到手机,能够看到这个画面:

步骤三:HbuilderX运行到手机上做真机调试

在HbuilderX上做调试,点击【运行】【运行到手机或模拟器】就会看到可以运行到iphone手机上。

 

        

uni-app 打包 ios 测试包,通过 testFlight 分发测试

uni-app开发,ios 申请证书打 ios 包

1、申请 ios 证书 (私钥证书)和描述文件(证书profile)
申请方式通过uni-app介绍进行申请,地址:https://ask.dcloud.net.cn/article/152

2、申请证书时,请牢记相关的账号密码,以及相关的id 和 key 值。

通过苹果电脑登录相关账号,通过testFlight 分发到测试包

uni-app打包完成后进行分发 (xcode 在苹果电脑操作)

1、下载最新的 IOS SDK,并且需要与HBuilderX的版本保持一致。

2、下载完成后,依次打开:SDK / HBuilder-Hello,在文件HBuilder-Hello 中有一个 HBuilder- Hello.xcodeproj 文件,在 xcode 中运行这个文件。

3、在 xcode 中,依次打开 HBuilder-Hello / HBuilder-Hello / Supporting

        

uniapp开发app,手机状态栏问题挡住问题,uni app 刘海屏适配

问题:在使用uniapp开发手机App时,因为HBuildX创建的应用默认是沉浸式样式,如果去除自带的导航栏之后,页面会直通手机顶部状态栏,解决办法如下:

方法1:使用uniapp官方文档提供的解决方案 https://uniapp.dcloud.io/collocation/pages?id=customnav

 

方法二:配置mainfest.json来关闭沉浸式。打开应用的manifest.json文件,打开源码视图,app-plus 下添加 statusbar >immersed节点并设置值为false

"app-plus" : {
    "statusbar": {  
        "immersed": false  
    },
}

方法二,测试成功!

设置 uni app webview的标题显示

webview的update-title设为false
<template>
	<view>
		<web-view :webview-styles="webviewStyles" update-title="false" src="https://uniapp.dcloud.io/static/web-view.html"></web-view>
	</view>
</template>

pages.json的“globalStyle”中添加一行:"navigationStyle":"custom",

还可以在onReady中加

setTimeout(()=>{
uni.setNavigationBarTitle({
title:‘app中要设置的标题’
})
},2000)