企业微信兼容

打开 App

此功能需要用户主动触发才能打开 APP,所以不由 API 来调用,需要用 open-type 的值设置为 launchApp 的 button 组件的点击来触发。

小程序从 APP 打开的场景打开时(场景值 1069),小程序会获得返回 APP 的能力,此时用户点击按钮可以打开拉起该小程序的 APP。即小程序不能打开任意 APP,只能 跳回 APP。

在一个小程序的生命周期内,只有在特定条件下,才具有打开 APP 的能力,这个能力的规则如下:

当小程序从 1069 场景打开时,可以打开 APP。

当小程序从非 1069 的打开时,会在小程序框架内部会管理的一个状态,为 true 则可以打开 APP,为 false 则不可以打开 APP。这个状态的维护遵循以下规则:

当小程序从非以上场景打开时,不具有打开 APP 的能力,该状态置为 false。

1

使用方法 小程序端

需要将 button 组件 open-type 的值设置为 launchApp。如果需要在打开 APP 时向 APP 传递参数,可以设置 app-parameter 为要传递的参数。通过 binderror 可以监听打开 APP 的错误事件。

示例代码

<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打开APPbutton>

Page({
  launchAppError (e) {
    console.log(e.detail.errMsg)
  }
})

error 事件参数说明

值 说明

invalid scene

调用场景不正确,即此时的小程序不具备打开 APP 的能力。

APP 端

APP 需要接入 OpenSDK。 文档请参考 iOS / Android

Android 第三方 app 需要处理 ShowMessageFromWX.req 的微信回调,iOS 则需要将 appId 添加到第三方 app 工程所属的 plist 文件 URL types 字段。app-parameter 的获取方法,参数解析请参考 Android SDKSample 中 WXEntryActivity 中的 onResp 方法以及 iOS SDKSample 中 WXApiDelegate 中的 onResp 方法。

iOS 示例代码

-(void)onResp:(BaseResp *)resp 
{
     if ([resp isKindOfClass:[WXLaunchMiniProgramResp class]])
     {
          NSString *string = resp.extMsg;
          // 对应小程序组件 

Android 示例代码

WXEntryActivity中

public void onResp(BaseResp resp) {
    if (resp.getType() == ConstantsAPI.COMMAND_LAUNCH_WX_MINIPROGRAM) {
        WXLaunchMiniProgram.Resp launchMiniProResp = (WXLaunchMiniProgram.Resp) resp;
        String extraData =launchMiniProResp.extMsg; //对应小程序组件 

如你的 App 是使用平台推出的多端框架开发的,即可只需要调用下方的 JSAPI 即可轻松实现,无需按照上述指引在 Android 或 iOS 工程中进行接入。

关于我们

郑州翔静科技致力于网站建设和网络营销策划的相关服务,主要业务包括:网站建设,网站设计,网站优化推广,商城网站开发,手机网站开发建设,微网站开发建设,微信公众号二次开发,网络营销,网站维护托管,虚拟主机,域名注册,企业邮箱等相关信息服务。倾注心血于每一个作品,只为创造更具品牌影响力的网站!

联系我们
咨询热线:15903662275(微同)
地址:河南自贸试验区郑州片区(郑东 )金水东路80号绿地新都会2号楼 A座1108-A370
微信扫一扫 专业客服为您解答
复制微信 拨打电话

15903662275

Top

我们所做的,正是你所需要的!

请直接添加技术总监微信联系咨询

15903662275

微信xiaoxiang5693已复制成功
现可前往微信添加好友!

关闭