自定义loader使用说明,以APICloud平台为例

简介: 一直以来,官方发布的AppLoader,只包含了官方模块。而其他开发者的自定义模块、付费模块、第三方SDK模块等都并未加入到loader中,这给开发者在开发调试过程中带来一些不便。

一、应用自定义loader的作用

一直以来,官方发布的AppLoader,只包含了官方模块。而其他开发者的自定义模块、付费模块、第三方SDK模块等都并未加入到loader中,这给开发者在开发调试过程中带来一些不便。其中原因很多,如:模块全编译进来Loader的Size会太大、多个同类的第三方模块一起编译会存在冲突等。针对此类问题,APICloud也一直在想办法解决,今天我们为开发者推出了为应用自定义Loader的功能。今后,开发者可以为自己的应用自定义AppLoader,通过自定义Loader,开发者可以自由选择本APP所需要的模块进行loader的编译。同时,自定义loader将与当前APP所有的配置最大限度的保持一致,保持开发调试的APP环境与正式上线的环境一致,保证如微信、微博、百度地图等第三方SDK模块,在loader中调试通过后,编译正式版本也不会出现问题。

二、自定义loader执行原理

1、 每个APP项目对应一个自定义loader,开发过程中需要为每个APP项目单独编译自定义loader;如果APP项目对应的自定义loader不存在,则默认使用官方loader

2、 自定义loader完全使用当前APP的所有配置,包括APP名字、ICON图标、启动界面、包名、证书、开放平台SDK模块的各种KEY等

3、 自定义loader在运行之初,会根据所选择要“真机同步”APP项目的ID从设备的SD卡(Android平台)或者Document下(iOS平台)的固定目录中找到对应ID的项目的代码,并加载运行

4、 官方loader的更新,不影响自定义loader,二者相互独立,可同时存在于设备上

三、自定义loader与官方loader的区别

1、 官方loader会随APICloud每周的版本发布而更新,自定义loader不会,自定义loader由开发者主动编译后更新

2、 官方loader中的微信、微博等第三方开放SDK模块的KEY等,是跟官方loader包名对应,属于官方loader的;而自定义loader的,则属于你当前APP的,等同于你的APP正式版

3、 官方loader可同时展示多个APP项目,并从中选择某APP项目运行;自定义loader只加载当前APP项目

4、 自定义loader可随自己的需求随时编译;官方loader需APICloud每周发版本

5、 官方loader只有一个;而每个APP项目对应一个自定义loader,如果你有10个APP项目,将对应10个自定义loader

6、 官方loader使用官方固定的包名、证书、ICON等;自定义loader使用当前APP项目的包名、证书、ICON、启动界面、APP名字等

7、 【重要】iOS平台的自定义loader,所有app项目的自定义loader统一包名为“com.api.customloader20220616”(包名会随官方证书更换。建议开发者上传自己的iOS证书。),并且名称统一为“自定义Loader”,多个项目自定义loader进行真机同步时,将是覆盖安装的。如果您的某个APP项目已经上传了自己的iOS证书,则iOS自定义loader对应的包名将是你的证书对应的包名,自定义loader同步到iOS设备上时,均可在桌面看到。

四、自定义loader使用流程

1、 在APICloud Studio中选中某APP项目,并且在该项目上右键鼠标

2、 在弹出的右键菜单中,选择“编译自定义loader”

3、 之后APICloud Studio会打开编译界面,选择编译Android 或 iOS 自定义loader。

4、 编译成功后,用手机扫描二维码将自定义loader安装在手机上。

5、 点击APICloud Studio 中wifi同步快捷键,在弹出窗口点击【通过wifi连接新的设备】,弹出包含ip和端口信息的二维码。

网络异常,图片无法展示
|
网络异常,图片无法展示
|

6、 手机上启动自定义loader,点击灰色圆球,输入ip 和端口(也可使用扫一扫),连接开发工具后,可以使用开发工具的wifi同步功能(项目根目录上右键-WIFI同步【全量】)。

7、 自定义loader的更新时机,请参考第五点:何时编译新的自定义loader

五、何时编译新的自定义loader

1、 更换了APP的Android或者iOS证书时,需要重新编译自定义loader,同时如果项目中使用了微信、微博、百度地图等KEY值跟APP证书挂钩的第三方SDK模块,需要重新去这些开放平台申请新的KEY

2、 更换了APP的包名时,需要重新编译自定义loader,同时如果项目中使用了微信、微博、百度地图等KEY值跟APP包名挂钩的第三方SDK模块,需要重新去这些开放平台申请新的KEY

3、 勾选了新的模块或者config文件的feature、meta-data字段有更新时,需要重新编译loader,编译之前,需要将该项目的config文件同步至云端,云端编译自定义loader时将使用最新的config配置

4、 你的APP项目用到的模块中,某个或多个模块有更新时,需要重新编译自定义loader

5、 官方每周发布新的版本时,如果有涉及到解决了与您项目有关的BUG或者做了新的适配工作时,需要重新编译自定义Loader

六、自定义loader使用注意事项

1、 自定义loader有效期为7天,7天过后需要重新编译

2、 自定义loader不可用于商业用途

3、 切勿随意改动APP项目config文件中的ID值,否则会引起无法编译自定义loader,或者“真机同步时”因ID错误找不到widget而导致加载失败

4、 开发调试过程中,尽量将你的APP项目config中的<preference name="debug" value="true"/>字段置为true,当JS报错时,将会弹出提示到屏幕;发布正式上线版本时可关闭debug

5、 新建完APP项目后,最好登录网站,为该APP项目创建Android或者iOS证书,以保证证书是对应你的项目的。因为如果没有为该APP项目创建证书的情况下,使用的是官方的默认证书,那么自定义loader也将使用该证书,如果项目中用到了微信等与证书相关的模块,将带来调试的麻烦

6、 自定义loader只从设备SD卡或者document下加载APP项目,如果该项目被删除或者目录被篡改,将报找不到项目代码的错误

7、 使用iOS自定义loader时,如果已经上传了自己的iOS证书,并且是个人版证书(企业版证书则不受影响),那么,真机同步时,只能在越狱的手机上同步,或者需要在苹果的网站上将非越狱手机加成开发机,否则真机同步时将报类似“打开写文件服务失败”的错误而同步失败

七、自定义Loader对快速生成测试包是否有影响?

自定义Loader与快速生成测试包没有任何关系。 APICloud Studio“快速生成测试包”时,仍然使用的是官方的loader,而不是自定义loader。因为,快速生成测试包的apk或者ipa安装包,其包名及签名证书等,使用的是APICloud的默认配置,将与你的APP配置的不一致,包括模块可能也并未包含,可能引起在自定义loader中调试通过的某些功能失效,如微信微博分享,百度地图等。使用时请格外注意! “快速生成测试包”生成的apk或者ipa包仅仅用于简单的安装包输出,无法用于商业用途!


目录
相关文章
|
存储 自然语言处理 C++
Unicode编码
Unicode编码
748 4
|
缓存 网络协议 数据安全/隐私保护
[运维笔记] - (命令).Windows server常用网络相关命令总结
[运维笔记] - (命令).Windows server常用网络相关命令总结
755 0
|
编解码 Linux 开发者
初探FFplay:多媒体播放器的快速入门指南
【10月更文挑战第15天】FFplay是一个由FFmpeg项目提供的轻量级多媒体播放器,它使用FFmpeg库来解码和播放音频/视频流。FFplay非常适合那些想要深入了解多媒体编解码技术和音视频播放流程的开发者或爱好者。本文将介绍FFplay的基本功能、安装配置步骤以及如何使用命令行参数来播放多媒体文件。
1675 0
|
7月前
|
自然语言处理 API 数据安全/隐私保护
手把手教你搭建 cssbuy 淘宝代购系统
随着全球电商的兴起,淘宝成为海外用户青睐的购物平台,但语言、支付和物流等问题限制了其直接使用。CSSBuy 等淘宝代购系统应运而生,为海外用户提供便捷的购物体验。本文详细解析如何搭建类似系统,涵盖需求分析与功能模块设计。目标用户包括海外华人、留学生及外国消费者,核心功能涉及商品搜索、代购下单、支付集成、物流管理、客服售后及多语言支持等。系统模块包括用户管理、商品管理、购物车、订单管理、支付管理、物流管理、客服售后和多语言模块,全面满足海外用户的购物需求。
|
9月前
|
搜索推荐
企业CRM新选择——轻巧强大的阿里云上的Salesforce CN 企业版正式发布!
企业CRM新选择——轻巧强大的阿里云上的Salesforce CN 企业版正式发布!
|
9月前
|
人工智能 自然语言处理 API
解锁 DeepSeek API 接口:构建智能应用的技术密钥
在数字化时代,智能应用蓬勃发展,DeepSeek API 作为关键技术之一,提供了强大的自然语言处理能力。本文详细介绍 DeepSeek API,并通过 Python 请求示例帮助开发者快速上手。DeepSeek API 支持文本生成、问答系统、情感分析和文本分类等功能,具备高度灵活性和可扩展性,适用于多种场景。示例展示了如何使用 Python 调用 API 生成关于“人工智能在医疗领域的应用”的短文。供稿者:Taobaoapi2014。
|
11月前
|
NoSQL 测试技术 PHP
新手从事直播软件源码开发搭建经验与技巧
新手技术从事直播软件源码开发,从需求调研、技术架构、功能逻辑、技术语言、压力测试等全面剖析。
|
前端开发 JavaScript API
前端开发的秘密花园:这些技巧让你轻松应对各种浏览器兼容性问题!
【10月更文挑战第31天】前端开发是一个充满创意与挑战的领域,追求极致用户体验的同时,浏览器兼容性问题却时常阻碍我们前进。本文将介绍几种解决浏览器兼容性的最佳实践:使用CSS前缀、Autoprefixer工具、现代JavaScript特性与Babel转译、Polyfill与Feature Detection、响应式设计以及跨域问题处理。掌握这些技巧,助你轻松应对各种兼容性难题,创建更稳定、用户友好的网页应用。
263 3
|
人工智能 算法 安全
深度讲解-互联网算法备案指南和教程
随着人工智能和大数据技术的发展,互联网算法在内容推荐、用户画像等领域日益重要,但也带来了安全风险和合规挑战。国家互联网信息办公室为此发布了《互联网算法备案管理规定》,要求具有舆论属性或社会动员能力的互联网信息服务提供者进行算法备案,以确保算法透明性和合规性,维护网络健康秩序。唯安创远AI合规专家将解析备案的必要性、流程及其对企业的影响,帮助企业顺利完成备案。
1086 3
|
存储 缓存 监控
快速掌握Redis优化要点,告别性能瓶颈!
# Redis优化指南 了解如何提升Redis性能,从读写方式(整体与部分)、KV size、Key数量、读写峰值、命中率、过期策略、平均穿透加载时间、可运维性、安全性等方面着手。选择合适的读写策略,如只整体读写或部分读写变更,优化KV size避免过大或差异过大,合理管理Key数量,应对不同读写峰值,监控命中率并持续优化,设置智能过期策略,减少平均穿透加载时间,确保高可运维性并强化安全性。一起探索Redis的性能潜力!
2852 5