出于业务需求,小程序可能需要引导用户与小程序外部环境互动。这类需求包括但不限于:
- 需要在小程序内展示一个 h5 页面;
- 从小程序跳转到一个外部 h5 页面;
- 从外部 app 跳转到小程序内;
- 从一个小程序跳到另一个小程序;
1、选择合适的技术方案实现
1.1、先确认使用场景,再在相应的场景下选择合适的方案。
从业务场景进行可以分为以下 5 个场景:
1.2、如果多个场景都适用,那么就从所有合适的方案中选择 使用前提 最宽松的方案。
各方案的使用前提如下:
技术实现方案 | 是否有行业限制 | 是否需要配置校验文件 | 是否需要审批 | 是否需要后台配置 |
---|---|---|---|---|
my.navigatetominiprogram | 否 | 否 | 否 | 否 |
web-view 内嵌 h5 | 否 | 是 | 否 | 是 |
scheme | 否 | 否 | 否 | 否 |
短链接 | 否 | 否 | 否 | 否 |
my.openalipayapp | 否 | 否 | 否 | 否 |
my.ap.openurl | 是 | 否 | 是 | 是 |
life-follow | 否 | 否 | 否 | 否 |
2、通过跳转辅助工具实现
已有跳转链接的情况下,如果无法自行选择具体方案,推荐使用 进行检测并生成代码。
工具会有效检测出以下三个场景中的最优方案:
- 小程序之间相互跳转
- 小程序跳转到支付宝官方应用
- 小程序跳转到三方 h5 页面
3、跳转支付宝应用或页面指南
在小程序中跳转支付宝业务或打开链接,按下表分情况处理:
跳转目标 | 跳转方法 | |
支付宝业务 | 后文 appcode 列表 所列举的业务 | 使用 my.ap.openalipayapp |
已知 appid 的官方小程序 | 使用 my.navigatetominiprogram | |
其他情况 | 不支持跳转 | |
支付宝 url https://*.alipay.com/* |
||
域名为 ur.alipay.com 或 m.alipay.com 的短链接 | 使用 检测并生成代码 | |
其他情况 | 开放范围 内的小程序,使用 my.ap.openurl(需在小程序控制台申请添加白名单);其他类目的小程序,暂不支持跳转 | |
支付宝 scheme alipays://* |
scheme 中的 appid 为 16 位 | 转换成 my.navigatetominiprogram 调用,参考其常见问题 拿到目标小程序的 scheme (以 alipays:// 开头),应该如何跳转 |
scheme 中的 appid 为 20000067 | 使用 检测并生成代码 | |
其他情况 | 开放范围 内的小程序,使用 my.ap.openurl(需在小程序控制台申请添加白名单);其他类目的小程序,暂不支持跳转 | |
非支付宝 url | 开发者自有页面 | 使用 web-view 组件 需要在小程序后台添加域名并上传校验文件 |
第三方页面 | 开放范围 内的小程序,使用 my.ap.openurl(需在小程序控制台申请添加白名单);其他类目的小程序,暂不支持跳转 |
注:上表中链接类目标的跳转逻辑,均已集成到 ,推荐使用它来做检测并生成代码。
1、小程序互相跳转
支付宝推荐小程序开发者优先使用小程序互相跳转,可实现成本最低,开发周期最短。详情可查看 my.navigatetominiprogram 。
1.1、适用场景
要展示的内容、执行的操作,在另一个小程序中实现了,需要引导用户到对应小程序页面。
1.2、使用前提
无
1.3、特色
- 可携带参数丰富:可以指定目标小程序的页面路径、启动参数,以及传给目标小程序的额外数据。
2、小程序内嵌 h5 页面
内嵌 h5 页面,详情可查看 支付宝小程序内嵌 h5 。
2.1、适用场景
- 开发者想要在小程序内部展示 h5 页面内容。
- 该 h5 页面为商家自有,或与商家有凯发k8官方网娱乐官方的合作伙伴关系的三方所有(易于完成 h5 域名配置)。
2.2、特色
- 页面产生的流量归属于小程序本身。
- 可以在 h5 页面上调用部分小程序的接口产品。
2.3、使用前提
已完成 h5 域名配置。
2.4、常见问题
q:如果需要在小程序中展示一个非支付宝官方的 h5 页面,该如何选择 ?
a:有以下两个选择:
两种方式的对比:
-
一般来说,当业务场景满足如下条件时,适合使用 内嵌 h5 页面 。
- 需要展示的 h5 页面是商家 自有页面,易于完成 h5 域名配置。
- 需要展示的 h5 页面非商家自有,但是对方 愿意配合,完成 h5 域名配置。
- 如果内嵌的 h5 页面可能打开 其它 h5 页面,则 所有 可能跳转到的页面都需要被配置 web-view 白名单。
- 对小程序的流量归属有需求。
-
相对的,当业务场景符合如下条件时,适合使用 外跳 h5 页面。
- 需要展示的页面非商家自有,对方也无法配合完成 h5 域名配置。
- 小程序对应的 行业类目 在 openurl 接口开放的行业类目中,具有申请此能力的资格。
- 内嵌的 h5 页面可能进一步跳转到其它 h5 页面,不是每一个页面都能被配置 web-view 白名单,或者无从得知所有可能跳转到的页面 url。
- 对小程序的流量归属没有强需求。
-
优势和劣势
方式 | 优势 | 劣势 |
---|---|---|
内嵌 h5 页面 web-view 内嵌 h5 |
|
|
外跳 h5 页面 my.ap.openurl 外跳 h5 |
|
|
3、小程序跳转外部
当开发者需要将用户从小程序导向小程序外部时,依据用户的去向,大致可以分为以下几类:
- 支付宝官方应用
- 支付宝官方运营页
- 外部 h5 页面
- app
- 生活号
3.1、my.ap.openalipayapp
跳转支付宝官方应用,详情可查看 my.ap.openalipayapp。
3.1.1、适用场景
跳转到支付宝 app 内的官方应用
- 支付宝扫一扫
- 蚂蚁森林
- 股票详情页面
- ...
3.1.2、特色
使用限制较少:无需后台配置,无需审批流程。
3.1.3、使用前提
无
3.2、my.ap.openurl
使用 openurl 外跳 h5 页面,详情可查看 my.ap.openurl。
3.2.1、适用场景
- 跳转到小程序外部的一个 h5 页面(非支付宝官方页面), 多用于 小程序内嵌 h5 页面 不适用的情况,该场景需要配置白名单。
- 跳转到支付宝官方 h5 页面 ,多用于 小程序内嵌 h5 页面 不适用的情况,该场景需要配置白名单。
内嵌/外跳两种方式的对比可查看 常见问题。
3.2.2、特色
不需要进行 h5 域名配置。
3.2.3、使用前提
以下限制仅针对跳转到非支付宝官方页面:
- 目前仅针对部分行业开放
- 需要完成平台侧审批流程(官方 h5 运营页面无此限制)
3.3、跳转生活号凯发k8官方网娱乐官方首页/生活号特定页面
3.3.1、关注生活号/跳转生活号凯发k8官方网娱乐官方首页
详情可查看 关注/跳转生活号。
适用场景
- 用户在小程序页面内关注生活号。
- 用户在小程序页面内关注生活号并引导跳转生活号。
特色
- 可以选择简单便捷的实现方式,一行代码完成。
- 也可以选择功能丰富的实现方式,强运营属性。
使用前提
如果强调运营属性,需要在后台配置营销组件。
3.3.2、scheme 跳转指定生活号
详情可查看 scheme 跳转指定生活号。
适用场景
在支付宝客户端中打开的 h5 页面里,跳转到指定的商家生活号。
特色
使用简单,只需替换生活号 publicid 参数。
使用前提
该链接只能在支付宝客户端中使用,在客户端外使用无效。
4、外部跳转到小程序
当开发者需要将用户从小程序外部导向小程序中时,依据用户的来源,大致可以分为以下几类:
- h5 页面
- app
- 短信
- 生活号
- 其它小程序的内嵌 h5 页面
4.1、可选择的方案
4.1.1、scheme
推荐使用 scheme 实现从小程序外部跳转到小程序中,详情可查看 scheme 实现方式。
适用场景
- h5 页面跳转到小程序
- app 跳转到小程序
- 短信跳转到小程序
- 生活号跳转到小程序
特色
- 使用前提较少:无需后台配置,无需审批流程。
- 可携带参数:可以指定目标小程序的页面路径以及启动参数。
使用限制
如果在 scheme 中携带了 query 参数,则必须进行 urlencode。
4.1.2、短链接
已上线的小程序,点击小程序右上角的胶囊按钮中的三个点,选择 分享 > 复制链接 即可得到小程序的短链接,以 https://ur.alipay.com/*** 开头,可以用作推广链接。
适用场景
- 短信跳转到小程序。
- 线上聊天场景中,以推广链接形式跳转到小程序。
特色
- 使用前提较少:无需后台配置,无需审批流程。
- 可携带参数:可以指定目标小程序的页面路径以及启动参数。
使用前提
无
4.1.3、扫描小程序二维码
扫码跳转到小程序,详情可查看 小程序码产品介绍。
适用场景
线下投放渠道,用户通过扫码进入小程序。
特色
可以在不创建新的支付宝二维码的情况下,兼容既有的普通二维码(不能兼容微信二维码)。
使用前提
- 需要完成配置小程序码。
- 如果需兼容既有的普通二维码,需要完成 关联普通二维码。
4.1.4、其它小程序的内嵌 h5 跳转到小程序
该场景下,需要实现 h5 页面向宿主小程序发送消息。由宿主小程序接收到 h5 页面的跳转提示后,调用 my.navigatetominiprogram 跳转到目标小程序页面。
为了实现 h5 页面向宿主小程序发送消息,详情可查看 web-view h5 页面承载。
适用场景
- 跳转的起点不是一个在线的 h5 页面,而是一个内嵌在某个小程序的 web-view 中的 h5 页面。
- 不支持使用标准的 scheme 方式跳转时。
5、跳转到调试中未上架的小程序版本
详情可查看小程序 联调设置。
5.1、适用场景
- 小程序无上架版本,跳转到研发中的小程序版本。
- 小程序已有上架版本,跳转到研发中的小程序版本。
5.2、特色
- 无缝模拟从其它各入口跳转小程序 - 页面入口、扫码、小程序跳转。
- 作用范围限于调试的开发者,对线上无影响。
5.3、使用前提
在手机端小程序内开启 联调设置 的开关。
appcode | 跳转目标 |
---|---|
alipayscan | 支付宝扫一扫。 |
redpacket | 收到的红包页面。 |
collectoil | 爱攒油页面。 |
tinyappshh | 小程序快报生活号。 |
antforest | 蚂蚁庄园。 |
stockdetail | 股票详情页。 |
paycode | 支付宝付款码。 注意:个人小程序不支持跳转付款码。 |