FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 插件SDK初始化

在使用小程序的API之前,需要先初始化插件SDK。只有SDK初始化成功之后,才能使用SDK提供的API,否则 API调用都会失败。

# 1 插件SDK初始化

示例

MopSdk.initialize({
    finStoreConfigs:[{
      'sdkKey': '22LyZEib0gLTQdU3MUauAa2CctUv+NxTLFWyPxC28y2gA4x+JWh7hhNS5aO52BFs',
      'sdkSecret': '65146ffa924ecfdc',
      'apiServer': 'https://api.finclip.com'
    }]
  },
  (ret) => {
    console.log('App Launch Success', ret)
   },
   (ret) =>{
    console.log('App Launch Fail', ret)
   });

参数

配置名称 类型 配置描述
options Object 插件SDK初始化信息
onSuccess Function 插件SDK初始化成功回调
onFail Function 插件SDK初始化失败回调

options配置项

配置名称 类型 配置描述
finStoreConfigs Array[FinStoreConfig] 小程序服务器配置信息集合
userId String 当前用户唯一标识,小程序缓存信息会存储在以userId命名的不同目录下,如需在后续逻辑中修改userId,则可以直接使用MopSdk.setUserId("newUserId")
phone String 手机号,也可以是一个Token,非必传,小程序插件中实现getPhoneNumber会用到。
channel String 渠道标识,如果不填,默认为项目的 AppliationId,小程序插件中实现getPhoneNumber和login会用到。
encryptUserId Boolean (后台接口)是否对userId进行加密传输,需要确保后台服务升级至1.4.1以上,否则加密会导致接口请求失败,默认为false
productIdentification String 产品的标识,配置会将文件夹、UserAgent里的FinClip 等标识改为配置后的值
isDebugMode boolean 应用当前是否是Debug模式。
isEnableLog boolean 是否开启日志
isEnableXLogConsole boolean 是否开启XLog的控制台日志,若为false,则仅持久化日志,不在控制台显示
apmExtendInfo Array[{key:'aa',value:'aaa'}] apm统计的扩展信息。
disableRequestPermissions boolean 是否禁止SDK触发权限申请,默认为false,如果设置为true,则SDK内使用权限的api,不会主动申请权限。
needToRemoveCookiesDomains boolean 初始化SDK时需要移除cookies的域名列表
appletIntervalUpdateLimit int 后台自动检查更新的小程序个数,取值范围:0~50。0代表不检查更新;不设置默认是3。
appletText String 小程序文案,默认为“小程序”,你可以设置为"快应用","轻应用"
customWebViewUserAgent String 需要添加至UserAgent中的内容 (仅安卓)
enableApmDataCompression boolean apm数据上报时,是否压缩数据,默认为false
disableGetSuperviseInfo boolean 是否禁用SDK的监管接口API,默认为false,如果设置为true,则SDK禁用监管接口API(getSuperviseInfo)
appletAutoAuthorize boolean 是否允许SDK自动授予小程序权限。默认为false.如果设置为true,则小程序里首次触发权限时不会展示权限弹框
appletDebugMode boolean 是否开启小程序的vconsole调试,默认为false
pageCountLimit int 小程序中页面栈个数的最大限制。默认值为0,表示不限制。
header Array[{key:'aa',value:'aaa'}] 小程序中网络(request/uploadFile/downloadFile)请求的header
headerPriority String header配置优先级,默认GLOBAL,可选值(SPECIFIED、APPLET_FILE、GLOBAL)
ignoreWebviewCertAuth boolean 是否忽略SSL证书校验。默认为false,设置为true时,小程序的request、uploadFile、downloadFile、web-view组件可加载不受信任的https链接以及http链接
schemes Array[String] 自定义的scheme数组。 SDK内部默认支持微信、支付宝、 FinClip App 、tel这些scheme
locale String sdk 公共UI的语言类型,目前仅支持中文和英文,默认为简体中文,可选值为zh、en
uiConfig UIConfig 小程序UI配置信息
startCrashProtection boolean 是否开启Crash防崩溃,默认为false。UnrecognizedSelector、KVO、Notification、Timer、Container(数组越界,字典插入nil等)、String (越界、nil等)(仅IOS)
enableWebViewDownloadFile boolean 是否允许 web-view 组件下载文件,默认为 true (仅安卓)
enableHoleRender boolean 开启webView打洞同层渲染,仅仅支持组件(live-player、live-pusher)优先级高于X5同层渲染(注意事项参看初始化集成 (opens new window)第3.6) (仅安卓)
needToRemoveCookiesDomains Array[String] 初始化SDK时需要移除cookies的域名列表 (仅安卓)
maxRunningApplet int 可同时运行的小程序个数 ,默认为5 (仅安卓)
webViewMixedContentMode int WebView mixed content mode。可选值0,1,2,其中0为始终不允许非安全加载,0为始终允许加载所有,2为混合加载,允许https加载http(仅安卓)
bindAppletWithMainProcess boolean 小程序进程是否与app主进程绑定,如果设置为true,则主进程被杀死时,小程序进程同步关闭(仅安卓)
killAppletProcessNotice String app主进程被杀后关闭小程序的提示文案(仅安卓)
minAndroidSdkVersion int 最低支持的Android SDK版本 (仅安卓)
enablePreNewProcess boolean 是否提前创建进程,默认为true (仅安卓)
disableTbs boolean 是否禁用tbs sdk(仅安卓)
useLocalTbsCore boolean 是否从本地加载 TBS X5 内核,需要设置为 true(仅安卓)
tbsCoreUrl String 下载 TBS X5 内核文件的服务器地址 (仅安卓)

FinStoreConfig配置项

配置名称 类型 是否必填 说明
sdkKey String 创建应用时生成的sdkKey
sdkSecret String 创建应用时生成的sdkKey
apiServer String 服务器地址,客户部署的后台地址
apmServer String apm事件上报的服务器地址,不设置时使用apiServer
cryptType String 网络接口加密类型。默认为"MD5",也可以设置为"SM"(国密)
fingerprint String SDK指纹,在证联环境时必须传,否则接口访问不通
encryptServerData Boolean 默认为false。目前只能设置为false,设置为true会导致接口访问失败
enablePreloadFramework Boolean 默认为true。是否预下载基础库,如果设置为false,则在初始化SDK时关闭预下载基础库

UIConfig配置项

配置名称 类型 配置描述
navigationBarTitleLightColor String 导航栏标题文字浅色颜色,用于深色主题
navigationBarTitleDarkColor String 导航栏标题文字深色颜色,用于浅色主题
navigationBarBackBtnLightColor String 导航栏返回按钮的浅色颜色,用于深色主题
navigationBarBackBtnDarkColor String 导航栏返回按钮的深色颜色,用于浅色主题
isHideFeedbackAndComplaints boolean 是否隐藏"更多"菜单中的"反馈与投诉"按钮
isHideBackHome boolean 是否隐藏导航栏上的"返回首页"按钮
isHideForwardMenu boolean 是否隐藏"更多"菜单中的"转发"按钮
isHideSettingMenu boolean 是否隐藏“更多”菜单中的“设置”按钮
isHideRefreshMenu boolean 是否隐藏“更多”菜单中的“重新进入小程序”按钮
isHideShareAppletMenu boolean 是否隐藏“更多”菜单中的“分享”按钮,默认为true
isHideAddToDesktopMenu boolean 是否隐藏“更多”菜单中的“添加到桌面”按钮,默认为true
isHideFavoriteMenu boolean 是否隐藏“更多”菜单中的“收藏”按钮,默认为true
hideDebugMenu boolean 是否隐藏更多菜单中的调试按钮
hideTransitionCloseButton boolean 是否隐藏小程序loading页的关闭按钮
hideCapsuleCloseButton boolean 是否隐藏所有小程序右上角胶囊里的关闭按钮
disableSlideCloseAppletGesture boolean 是否禁用侧滑关闭小程序手势
moreMenuStyle int 更多菜单的样式
autoAdaptDarkMode boolean 是否自适应系统深色模式
hideWebViewProgressBar boolean 是否隐藏web-view组件加载H5链接时的进度条
webViewProgressBarColor String web-view组件加载H5链接时的进度条的颜色
forwadMenuTitle String "更多"菜单中"转发"按钮标题
navHomeConfig NavHomeConfig 导航栏返回首页按钮的配置
capsuleConfig CapsuleConfig 胶囊的配置
authViewConfig AuthViewConfig 授权弹框配置
navigationBarHeight Number 导航栏高度,默认值为44(仅IOS)
useNativeLiveComponent boolean 是否使用内置的live组件。默认为false,当设置为true时。
navigationBarTitleTextLayoutGravity String 导航栏标题相对父控件的Gravity(仅安卓) 可选值:Left、Center
isAlwaysShowBackInDefaultNavigationBar boolean 是否始终显示返回按钮(仅安卓)
isClearNavigationBarNavButtonBackground boolean 是否清除导航栏按钮的背景(仅安卓)

NavHomeConfig配置项

配置名称 类型 配置描述
width float 返回首页按钮宽度,默认44
height float 返回首页按钮高度,默认32
leftMargin float 返回首页按钮的左边距,默认8
cornerRadius float 返回首页按钮边框圆角半径,默认5
borderWidth float 返回首页按钮边框宽度,默认0.75
borderLightColor String 返回首页按钮浅色边框颜色,默认0X80FFFFFF
borderDarkColor String 返回首页按钮深色边框颜色,默认0X26000000
bgLightColor String 返回首页按钮浅色背景,默认0x33000000
bgDarkColor String 返回首页按钮深色背景,默认0x80ffffff

CapsuleConfig配置项

配置名称 类型 配置描述
capsuleWidth float 右上角胶囊视图的宽度,默认值为88
capsuleHeight float 右上角胶囊视图的高度,默认值为32
capsuleRightMargin float 右上角胶囊视图的右边距
capsuleCornerRadius float 右上角胶囊视图的圆角半径,默认值为5
capsuleBorderWidth float 右上角胶囊视图的边框宽度,默认值为0.75
moreBtnWidth float 胶囊里的更多按钮的宽度,高度与宽度相等,默认为32
moreBtnLeftMargin float 胶囊里的更多按钮的左边距,默认为6
closeBtnWidth float 胶囊里的关闭按钮的宽度,注意:高度与宽度相同,默认值32
closeBtnLeftMargin float 胶囊里的关闭按钮的左边距,默认为6
capsuleBgLightColor String 胶囊背景颜色浅色,默认为0x33000000
capsuleBgDarkColor String 胶囊背景颜色浅色,默认为0x80ffffff
capsuleBorderLightColor String 右上角胶囊视图的边框浅色颜色,默认为0x80ffffff
capsuleBorderDarkColor String 右上角胶囊视图的边框深色颜色,默认为0x26000000

AuthViewConfig配置项

配置名称 类型 配置描述
appletNameTextSize float 小程序名称字体大小,默认16
appletNameLightColor String 小程序名称的浅色颜色,默认#222222
appletNameDarkColor String 小程序名称的深色颜色,默认#d0d0d0
authorizeTitleTextSize float 权限标题字体大小,默认17
authorizeTitleLightColor String 权限标题的浅色颜色,默认#222222
authorizeTitleDarkColor String 权限标题的深色颜色,默认#d0d0d0
authorizeDescriptionTextSize float 权限描述字体大小,默认14
authorizeDescriptionLightColor String 权限描述的深色颜色,默认#5c5c5c
authorizeDescriptionDarkColor String 权限描述的深色颜色,默认#5c5c5c
agreementTitleTextSize float 协议标题字体大小,默认16
agreementTitleLightColor String 协议标题的浅色颜色,默认#222222
agreementTitleDarkColor String 协议标题的深色颜色,默认#d0d0d0
agreementDescriptionTextSize float 协议描述字体大小,默认14
agreementDescriptionLightColor String 协议描述的浅色颜色,默认#222222
agreementDescriptionDarkColor String 协议协议描述的深色颜色,默认#d0d0d0
linkLightColor String 链接的浅色颜色,默认#4285f4
linkDarkColor String 链接的深色颜色,默认#4285f4
allowButtonLightConfig AuthButtonConfig 同意按钮浅色配置,具体见AuthButtonConfig
allowButtonDarkConfig AuthButtonConfig 同意按钮深色配置,具体见AuthButtonConfig
rejectButtonLightConfig AuthButtonConfig 拒绝按钮浅色配置,具体见AuthButtonConfig
rejectButtonDarkConfig AuthButtonConfig 拒绝按钮深色配置,具体见AuthButtonConfig

AuthButtonConfig配置项

配置名称 类型 配置描述
cornerRadius float 按钮的圆角半径
normalBackgroundColor String 按钮默认背景颜色
pressedBackgroundColor String 按钮按下背景颜色
normalBorderColor String 按钮默认边框颜色
pressedBorderColor String 按钮按下边框颜色
normalTextColor String 按钮默认文字颜色
pressedTextColor String 按钮按下文字颜色

# 2 使用TBS X5 WebView (仅安卓)

SDK 默认使用系统 WebView 加载小程序,同时也支持使用 TBS X5 WebView 加载小程序。使用 TBS X5 内核可以实现部分原生组件的同层渲染,目前支持通过 TBS X5 内核进行同层渲染的原生组件有:

video
live-player
live-pusher
map
input
textarea

启用 TBS X5 WebView 的方法: Alt text

依赖 TBS SDK 之后,SDK 内部使用的 WebView 将自动切换为 X5 WebView。SDK 初始化过程中会对 TBS SDK 进行初始化,待 X5 内核加载成功之后,即可使用 X5 内核提供的各种能力。 由于腾讯下发 X5 内核文件有概率受网络状况影响,可能导致 X5 内核下载缓慢或失败,所以 SDK 也支持从自己的服务器下载 X5 内核文件,实现方式如下:

下载 TBS X5 内核文件: armeabi 架构 X5 内核文件 (opens new window) arm64-v8a 架构 X5 内核文件 (opens new window)

将下载好的 X5 内核文件上传到自己的服务器,并对上传到服务器后的内核文件重命名: armeabi 架构 X5 内核文件重命名为:armeabi_release.tbs arm64-v8a 架构 X5 内核文件重命名为:arm64-v8a_release.tbs 重命名是为了便于 SDK 内部拼接完整的内核文件下载地址。

设置 SDK 初始化配置参数: Alt text

经过以上步骤,SDK 初始化的时候就能够从自己的服务器下载 X5 内核文件了。

© FinClip with ❤ , Since 2017