• 下载
  • 社区

兼容

现阶段,小程序组件和 API 能力正在逐步完善和丰富,但是老版本支付宝客户端并不支持这些新增能力,因此建议开发者做对应的兼容性处理。

我们提供接口 my.canIUse(String) 实现兼容性判断,详见 接口说明

以下为兼容示例。

新增 API 兼容性处理

对于新增 API,可以参照下面的代码来判断当前基础库是否支持该 API:

if (my.getLocation) {
	my.getLocation();
} else {
    // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样提示
    my.alert({
       title: '提示',
       content: '当前支付宝版本过低,无法使用此功能,请升级最新版本支付宝'
    });
}

API 新增参数兼容性处理

if (my.canIUse('getLocation.object.type')) {
    // ...
} else {
	console.log('当前版本不支持该参数')
}

API 新增返回值兼容性处理

if (my.canIUse('getSystemInfo.return.storage')) {
	// ...
} else {
	console.log('当前版本不支持该返回值')
}

组件新增属性兼容性处理

组件新增属性在旧版本支付宝客户端上无法实现,也不会报错。若要对属性做降级处理可参照以下代码:

Page({
  data: {
    canIUse: my.canIUse('button.open-type.share')
  }
})
<button a:if="{{canIUse}}" open-type="share">分享小程序</button>
<button a:else onTap="shareApp">分享小程序</button>

设置最低基础库版本

为解决低版本基础库无法兼容小程序新功能的问题,开发者可设置小程序最低基础库版本要求。

开发中心 > 小程序应用 > 我的小程序,进入小程序详情页,点击左侧栏 设置,在 基础设置 栏,可设置小程序的最低基础库版本。若小程序用户使用的基础库版本低于设置的最低版本要求,则无法正常使用小程序,并将提示用户更新支付宝版本;设置版本号后,小程序需重新发版才会生效。

设置基础库版本.png

点击 最低基础库版本, 对应的 设置 按钮,可看到不同的最低基础库版本对应的受影响用户 UV 占比,即近 30 天内访问小程序的用户的基础库版本小于所选版本的占比。开发者可据此设置小程序的最低基础库版本。

最低基础库版本.png

选中需设置为最低基础库版本的版本号,点击 确定 按钮,即设置成功。

选中基础库版本.png

此时,最低基础库版本 设置项对应的 状态 变为 已设置

已设置最低基础库版本.png

常见问题

小程序 API 如果不兼容该怎么处理?
可以使用 my.canIUse(String) 做兼容判断,如果需要可以使用 my.ap.updateAlipayClient 对支付宝端进行提示升级。