Web SDK API
最近更新:2024-04-24
展开全部
Web SDK API
JMLink 初始化
new JMLink(config)
接口说明: 用与绑定后台配置跳转应用参数
参数说明: config 为初始化参数,配置可以传数组。
调用示例:
new JMLink({
jmlink: "短链",
button: document.querySelector('a#btnOpenApp'),
autoLaunchApp : false,
downloadWhenUniversalLinkFailed: true,
inapp : false,
params: {},
appId: "wx4a7ebfe48b832929",
timestamp: 1713773225,
nonceStr: "Wm3WZYTPz0wzccnt",
signature: "ad9ee4f6c1824d8393693127e62677e3fe5c51b8",
});
new JMLink({
jmlink: "短链",
button: document.querySelector('a#btnOpenApp'),
autoLaunchApp : false,
downloadWhenUniversalLinkFailed: true,
inapp : false,
params: {},
appId: "wx4a7ebfe48b832929",
timestamp: 1713773225,
nonceStr: "Wm3WZYTPz0wzccnt",
signature: "ad9ee4f6c1824d8393693127e62677e3fe5c51b8",
});
此代码块在浮窗中显示
初始化参数 config 说明
config.jmlink(必填)
- 类型:String
- 描述:由后台分配,短链地址。短链接格式:
https://xxxxx.jmlk.co/AAaH
config.button(必填)
- 类型:HTMLAnchorElement (即 a 标签)或者 HTMLAnchorElement[] (a标签的数组)
- 描述:打开 APP 的 a 标签, 一般会使用 CSS 定义 a 标签的外观, 使其看起来像一个按钮;
- 注意:config.button 是必要参数并且只能是 a 标签, 不能是 button、input 或其他 HTML 元素, 否则 JMlink 无法初始化成功。为什么 button 是必要参数? 因为很多浏览器禁止通过 JS 直接打开 APP, 必须通过用户手动点击才能打开应用。
config.autoLaunchApp
- 类型:Boolean,默认 false
- 描述:此选项配置为 true 时, 用户打开您集成了 jmlink 的页面时, 在支持自动打开 APP 的浏览器和设备中, 将自动唤起 APP; 但遗憾的是有一些浏览器因为限制通过 JS 自动唤起 APP, 即使此选项设为 true 也不能自动打开应用, 此时需要用户手动点击由 config.button 指定的链接才能打开 APP;
- 注意:配置为true时,在未安装APP的情况下,某些浏览器自动打开APP会导致系统弹框提示“此网址无效”
config.downloadWhenUniversalLinkFailed
- 类型:Boolean,默认 true
- 描述:用于在 Universal Link 打开失败时, 直接跳到下载页面
config.inapp
- 类型:Boolean,默认 false
- 描述:当您的 HTML 页面被嵌入在 APP 中的 Webview 时, 因为 APP 中调用的 Webv View 与常规浏览器的功能有差异, jmlink 所依赖的 Universal Link 在 Webview 中会有缺陷, 但是 jmlink 又无法准确检测当前打开的环境是 Web iew 还是 APP, 所以,如果在 APP 中的 Web View 使用 JMLink 时, 为了确保 jmlink 能在 iOS 9.0 以上系统中的 APP 也能正确唤起指定的 APP 界面, 请将此选项设置为 true, 设为 true 时, jmlink 会优先使用 Custom URI Scheme 来唤起指定页面。
config.params
- 类型:Object
- 描述:传给 APP 的参数(推荐使用),用户可以通过这个参数从 H5 页面传递一些参数到 APP 内进行使用。这些参数不是极光魔链后台的 jmLink 服务配置中设置的参数占位符。
config.plhparams
- 类型:Object
- 描述:传给 APP 的占位符参数, 这些参数必须是您在极光魔链后台的 jmlink 服务配置中设置好的参数占位符, 否则会被过滤掉; 如果 APP 已安装, 那么唤起应用时从打开 APP 的 URI Scheme 或 Universal Link 中就能获得参数, 如果是第一次安装, 这些参数可以通过极光魔链 SDK 的 API 从我们的服务器取回; 关于 SDK 如何实现 jmlink 请参考对应android/iOS SDK 文档
- 示例:
- 1.在后台的 mLink 服务配置中填的 URI Scheme: myapp://path/acticle?articleId=:id
- 2.config.plhparams:{id: '123456' }
- 3.最终的 URI Scheme: myapp://path/acticle?articleId=123456
tips
1. 参数键值对 key - value 中,建议 key 的参数避免有重复的情况,如果 plhparams 和 params 中有相同的key,则以params 中的 key - value 值为准。
2. 参数键值对尽量保持简单化。 避免在参数中直接使用url。
tips
1. 参数键值对 key - value 中,建议 key 的参数避免有重复的情况,如果 plhparams 和 params 中有相同的key,则以params 中的 key - value 值为准。
2. 参数键值对尽量保持简单化。 避免在参数中直接使用url。
此代码块在浮窗中显示
config.invtparams
- 类型:Object
- 描述:邀请参数,使用这个参数追踪来源,现在支持的参数如下(非下面的参数无效) u_id: 来源用户 ID
- 示例:invtparams: {u_id : "uid-123456"}
config.universal
- 类型:String
- 描述:用户自定义universal link
- 注意:
- 在判断支持universal并且inapp不为true的情况下,此配置拥有最高优先级
- url后面参数尽量不要其他的参数重复
- 该链接拉起与还原包含其类型他参数, 而其他类型拉起与还原不包含该配置上的参数
- 用户在进行universal link情况下,未安装app会跳到该配置的域名下。这意味着用户需要自行处理下载和判断逻辑
- 此功能只适用于集成JS-SDK,直接使用短链不包含该功能
- 确保您已配置好universal link配置,具备universal link的基础知识
config.appId
- 类型:String
- 描述:微信服务号的 AppID
- 说明:请在微信公众号后台的「设置与开发」-「公众号开发信息」-「开发者ID(AppID)」处获取。请查阅高级-启用微信开放标签
config.timestamp
- 类型:Number
- 描述:生成签名的时间戳。
- 说明:请查阅高级-启用微信开放标签
config.nonceStr
- 类型:String
- 描述:生成签名的随机串。请查阅高级-启用微信开放标签
- 示例:nonceStr: "Wm3WZYTPz0wzccnt"
config.signature
- 类型:String
- 描述:签名。
- 说明:请在开发者服务端完成签名的生成。请查阅高级-启用微信开放标签
文档内容是否对您有帮助?