# 自定义分享常见问题
为了满足不同 App 的分享场景要求,FinClip 小程序 SDK 支持开发者在客户端自行配置shareSDK URL
,并指向分享落地页完成分享操作。
# 1.实现落地页
当客户端 App 中配置了落地页地址之后,客户点击打开落地页时会访问${url}?params=xxxxx
的地址。在此过程中 H5 中可以读取param
参数进行 base64 处理获取到分享的参数。
示例代码如下:
const { params } = query;
const {
screenshotUrl, // 分享页截屏地址
miniAppName, // 小程序名称
miniAppDesc, // 小程序简介
miniAppLogo, // 小程序 logo
miniAppId, // 小程序 appId
miniAppLink, // app 唤起 scheme
wechatAppId, // 微信小程序 id
miniAppPath, // 小程序页面路径
miniAppQuery, // 小程序页面参数
} = Object.fromEntries(new URLSearchParams(window.atob(decodeURIComponent(params))));
# 2. 通过 scheme 跳转的 App 打开小程序
客户端 App 中也可以直接通过window.location.href = miniAppLink
的scheme 来访问小程序内容。在此过程中,App 需要按照以下文档配置好scheme
跳转,且 iOS 与 Android 操作系统中配置的scheme
需要保持一致。
参考链接如下:
# 3. 在微信中打开外部小程序的方式
在微信中打开小程序并完成自定义分享功能分别有以下两种方案,分别为通过判断微信浏览器 UA 或使用微信 JSSDK 的方式进行引导。
# 方案一:判断微信的 UA,添加浮窗在浏览器中打开
本方法较为简单,即直接通过前端页面中浏览器返回的 UA 进行识别,当识别浏览器中反馈的 UA 头包括MicroMessenger
时,在页面中增加引导用户通过“系统默认浏览器”打开当前页面,随后跳转至自有 App 中即可。
# 方案二:使用微信 JSSDK
首先需要在微信公众平台进入“公众号设置”的“功能设置”中,完成JS接口安全域名”的配置。
随后需要对微信 JSSDK 进行初始化操作,主要包括以下内容: A. 相关字段声明
appId: '', // 必填,公众号的唯一标识 timestamp: , // 必填,生成签名的时间戳 nonceStr: '', // 必填,生成签名的随机串 signature: '',// 必填,签名
B. 通过 config 接口注入权限验证配置,具体可参考 这里 (opens new window) C. 在 AppID 中,需填入非个人主体的已认证小程序 D. 使用权限签名算法生成签名,详情可查看 这里 (opens new window)
需要在 App 中引入微信开放平台 SDK,可以参考 这里 (opens new window) 完成相关配置,随后在开放平台 - 获取移动应用的 AppID;
需要使用开发标签打开 App 中链接,操作方法见 这里 (opens new window)