uniapp 如何通过微信扫码打开app

如何在uniapp中实现通过微信扫码直接打开App的功能?

2 回复

在uniapp中,可以通过微信开放平台的App Link或Universal Link功能实现微信扫码打开App。需要配置微信开放平台的应用签名和包名,生成带参数的二维码,扫码后即可跳转至App。


在 UniApp 中,通过微信扫码打开 App 主要依赖微信开放平台的 App 跳转功能(Universal Links 或 App Links)和 URL Scheme。以下是实现步骤和注意事项:

实现原理

微信扫码后,识别二维码中的链接,通过配置的通用链接或 URL Scheme 触发手机打开对应的 App。


步骤 1:配置微信开放平台

  1. 注册并登录微信开放平台,创建移动应用,获取 AppID
  2. 在应用配置中设置 iOS 通用链接(Universal Links)Android App Links(或 URL Scheme):
    • iOS:需配置一个 HTTPS 域名(如 https://example.com/apple-app-site-association),并在 App 的 manifest.json 中声明。
    • Android:推荐使用 App Links(HTTPS 域名),或备用 URL Scheme(如 yourapp://path)。

步骤 2:生成二维码内容

  • 二维码内容应为配置的通用链接或 URL Scheme,例如:
    • Universal Links(iOS):https://example.com/openapp?param=123
    • URL Scheme(Android 备用):yourapp://path?param=123
  • 建议优先使用通用链接,兼容性更好。

步骤 3:UniApp 中处理跳转

在 App 的入口文件(如 App.vue)或页面中监听打开事件,解析参数:

// App.vue 的 onLaunch 或 onShow 中
onLaunch: function(options) {
  // 检查启动参数(适用于 URL Scheme 或 Universal Links)
  if (options.query && options.query.param) {
    const param = options.query.param;
    console.log('扫码参数:', param);
    // 跳转到指定页面或处理业务
    uni.navigateTo({
      url: `/pages/target?param=${param}`
    });
  }
}

步骤 4:生成二维码

使用第三方工具(如草料二维码)将配置的链接生成二维码。测试时确保:

  • iOS:设备已安装 App,且 Universal Links 域名已验证。
  • Android:App Links 需关联域名并签名,或使用 URL Scheme(可能需用户确认)。

注意事项

  1. 微信限制:微信中默认禁止直接打开外部 App,需用户手动点击“在浏览器打开”后触发跳转。可通过微信开放平台的“App 跳转功能”申请权限。
  2. 兼容性:Universal Links 需 iOS 9+,App Links 需 Android 6+;低版本系统回退到 URL Scheme。
  3. 安全域名:确保通用链接的域名支持 HTTPS,且正确部署 apple-app-site-association(iOS)和 assetlinks.json(Android)文件。

简化方案(仅开发测试)

如果仅用于测试,可直接使用 URL Scheme 生成二维码(如 yourapp://scan?data=test),但实际部署需按上述步骤配置。

通过以上流程,即可实现微信扫码打开 UniApp 应用并传递参数。如有问题,可参考微信开放平台文档或 UniApp 官方指南。

回到顶部