百度智能小程序:打造开源开放生态,实现多方共赢

2024-06-15
来源:网络整理

1. 业务介绍

1.1 小程序开源概况

百度从智能小程序上线第一天起,就在构建真正开放、开放的生态。我们的愿景是定义移动时代的最佳体验,打造智能小程序的行业标准,打破孤岛,构建开放、共赢的小程序行业生态。百度智能小程序生态的参与者有三类:联盟伙伴、开发者、用户。对联盟伙伴来说,满足合作伙伴共建生态、流量共享、商业共赢的诉求,高效补充合作伙伴应用中缺失的场景,提升合作伙伴应用用户的使用时长,共享小程序变现收入。对开发者来说,满足开发者一次开发、多端运营的诉求,让开发者更便捷、高效地获取流量,提升商业收入。对用户来说,满足用户一站式服务,无需跳出框框。 百度搜索作为小程序非常重要的分发入口,通过构建统一的小程序行业生态,完善了百度搜索生态中的用户体验和服务闭环。

百度智能小程序开源架构如何支撑整个联盟生态的运转?

如图所示,小程序开源联盟整个业务架构分为四层,包括:联盟宿主层、外部联盟赋能层、中间服务层、基础设施层。

联盟主机层。百度智能小程序已接入多种联盟主机,包括OPPO浏览器、VIVO浏览器、小米浏览器、爱奇艺、百度快手版等。

在对外联盟赋能层,百度智能小程序开源联盟主要通过开源联盟平台向主播提供入口能力、管理能力、资源输出能力,支撑开源生态成员的入驻、配置、集成、接入检测、小程序信息、素材信息、佣金分成、订单信息、运营等诉求。主播通过资源输出模块获取小程序数据和素材后,可在自身App中探索可行的场景,进行资源分发。

对内中间服务层主要是承接上下层服务,封装基础服务并支持对外联盟赋能层获取基础业务数据。主要包括:小程序开源主机管理、能力资产管理、分发管理、订单与佣金管理、数据管理等。

基础设施层主要包括小程序开源框架的实现、数据服务、小程序/素材服务、套餐服务、安全加固方案等。

1.2 小程序开源及厂商合作介绍

随着百度小程序开源联盟的不断发展,也吸引了头部手机厂商的加入。小程序开源与厂商共同构建了丰富的业务场景,不仅包括厂商浏览器场景,还包括桌面锁屏、负一屏、全局搜索等场景。在如此多样化的场景构建中,我们面临的共同挑战是:如何保证厂商上线分发的质量,如何构建从厂商浏览器到百度搜索再到小程序的全流程分发管控通道,从而精准、实时地管控厂商浏览器的小程序分发。

我们是如何思考并构建它的?让我们仔细看看。

2.整体技术建设思路介绍

2.1 保障小程序开源分发的关键技术点

1. 背景

开源安全的核心围绕着主播和小程序,核心目的是保证小程序在主播上的分发质量。

为什么会出现分发质量问题?主程序入驻开源后,需要集成开源SDK、开发相关能力,这些流程完成后,主程序就获得相应的主程序能力。小程序是基于开发框架开发的,底层运行框架也是依赖开源SDK来运行的,所以小程序开发完成后,小程序本身也会获得或者依赖相关能力。由于不同主程序支持的能力不同,当同一个小程序分发到不同的主程序上时,可能会遇到主程序不支持小程序所使用的某项能力,从而导致小程序无法在该主程序上正常打开或者降级为H5,导致用户体验受损。

因此需要一套开源保护方案,提前检测出宿主机与小程序之间的能力不匹配问题,进而保证系统能够自由控制宿主机上小程序分发的整个过程。

2. 技术要点

要实现主站小程序分发渠道的建设,核心涉及打通末端流程、打通能力及分级流程、打通最终分发流程三大部分,如下图所示:

1)端进程包括Host端进程和小程序端进程。

a.主机端流程:

百度开发软件_百度开发工具程序下载小米版_百度小程序开发工具下载

主机是开源的,入驻成功后需要集成开源SDK并开发,主机开发完成后即可打包发布主机App,同时主机包发布前需要进行主机能力测试,通过下载主机工具进行CTS能力测试,并输出主机能力支持情况。

b.小程序流程:

开发者开发小程序,开发完成后将小程序包版本上线,小程序开源保障模块会订阅小程序发布动作,拉取小程序包信息,进行小程序能力扫描测试,生成小程序能力使用信息。

2)能力和评分流程

当主播和小程序完成接入和能力扫描后,开源保障系统可以对主播和小程序能力扫描结果进行分析,生成并存储最终的主播和小程序能力使用情况。同时,开源保障系统可以根据主播和小程序的能力,对主播和小程序的能力进行分类,计算主播和小程序当前的等级,并为主播和小程序打上等级标签。

3)分发流程

其主要由小程序分发端实现,主要根据用户在开源保障体系中配置的分发策略,并根据策略计算小程序在宿主机上是否满足分发条件。

3. 词汇表

:小程序前端运行框架。

能力:能力是指百度APP或开源SDK在小程序开源体系中封装和支持的各种API、组件、框架等系统能力,具体请参见小程序开发者文档,目前小程序开源支持能力超过1000个。

CTS测试:CTS全称是Test,兼容性测试套件,是为了保证智能小程序在宿主APP中稳定运行,提供了一套兼容性测试,宿主APP上线前必须通过CTS测试。

AST扫描:抽象语法树扫描是针对小程序应用的源代码扫描工具,通过抽象语法树对小程序源代码进行扫描分析,目前支持小程序使用到的能力、能力属性、能力参数、能力返回值、能力涉及的关键路径等多个维度的扫描功能。

L级:根据小程序端对能力的使用情况,区分了一些基础能力、特殊能力、低频能力,同时主播可以根据这些能力标准按需实现。等级划分如下:

2.2 主机能力检测机制

1.使用host工具进行CTS能力测试

主机集成开源SDK并完成开发后会进行打包,可在开源主机平台下载主机工具对打包后进行CTS能力测试。CTS支持主机进行全能力自动化测试和补充测试,补充测试可以批量测试全能力测试未通过的能力,测试完成后上传自动测试报告。部分能力无法通过CTS自动测试,需要进行手动测试,测试完成后主机在手机端上传手动测试报告。

2.主机工具上传测试报告

主机完成自动测试和手动测试后,需要分别将自动测试报告和手动测试报告上传至开源保障系统,同时由于同一个主机版本可能会有多个重复的测试流程,从而产生多份测试报告,因此主机需要分别选取一份最终的自动测试报告和手动测试报告,以便开源保障系统解析最终确认的报告。

3. 报告分析输出主机能力

开源系统收到主机确认报告后,开始解析报告,计算主机能力支持情况,生成并存储最终的主机能力列表;在生成主机能力的同时,还进行主机能力定级,计算主机能力等级并标注;生成的主机能力和主机等级将在日后主机分发小程序时的分发策略中使用。

能力测试服务可用性保证:

当用户完成测试报告确认动作时,开源保障系统一次性实时完成报告解析及能力分析相关操作。若因系统执行异常导致主机能力测试失败,则在开源保障系统中设计了重试任务,确保所有主机均能完成能力测试。

2.3 小程序能力检测机制:

分享