Sparkling SDK - Android API 参考

用于承载 Sparkling 内容的 Android 原生 SDK。 使用指南和概念说明请参阅容器。 关于 hybrid://... URL 格式,请参阅 Scheme

依赖

dependencies {
  implementation("com.tiktok.sparkling:sparkling:2.0.0")
}

初始化(Application.onCreate)

HybridKit.init(this)

val baseInfoConfig = BaseInfoConfig(isDebug = BuildConfig.DEBUG)
val lynxConfig = SparklingLynxConfig.build(this) {
  // 可选:添加全局 Lynx 行为/模块、模板提供者等
}
val hybridConfig = SparklingHybridConfig.build(baseInfoConfig) {
  setLynxConfig(lynxConfig)
}

HybridKit.setHybridConfig(hybridConfig, this)
HybridKit.initLynxKit()

Sparkling

创建容器的入口。使用指南请参阅容器

方法说明
Sparkling.build(context, sparklingContext)通过 Android ContextSparklingContext 创建 Sparkling 实例。
navigate()启动 SparklingActivity(全页容器)。成功返回 true
createView(withoutPrepare)创建 SparklingView(嵌入式容器)。失败返回 null

SparklingView

嵌入式容器 — 承载 Lynx 内容的 FrameLayout。使用指南请参阅容器 — 嵌入式容器

方法 / 属性说明
prepare(sparklingContext)使用 scheme 参数初始化视图,创建 kit view 并设置加载/错误 UI。createView() 会自动调用,除非 withoutPrepare = true
loadUrl()触发内容加载。在 prepare() 之后、添加到布局之后调用。
onShowEvent()转发显示事件到 Lynx 运行时。宿主 Activity/Fragment 必须调用。
onHideEvent()转发隐藏事件到 Lynx 运行时。宿主 Activity/Fragment 必须调用。
release()销毁 Lynx 运行时并清理资源。在视图永久移除时调用。
sendEventByJSON(eventName, params)向 Lynx 页面发送自定义事件。
updateGlobalPropsByIncrement(data)运行时更新 globalProps。
refreshData(context, hybridContext)使用更新的 scheme 参数刷新内容,无需重建视图。
loadStatus()返回当前加载状态(INITLOADINGSUCCESS)。
isLoadSuccess()内容加载成功时返回 true

SparklingContext

传递给两种容器类型的配置对象。

属性说明
scheme要加载的 hybrid://... URL。
sparklingUIProvider实现 SparklingUIProvider 以自定义加载/错误/工具栏视图。
hybridSchemeParam解析后的 scheme 参数(从 scheme 自动填充)。
containerId唯一的容器标识符(自动生成)。

SparklingUIProvider

自定义容器 UI 的接口。适用于全页和嵌入式容器。

方法说明
getLoadingView(context)返回自定义加载视图,返回 null 使用默认。
getErrorView(context)返回自定义错误视图,返回 null 使用默认。
getToolBar(context)返回 SparklingActivity 使用的自定义 Toolbar(仅全页容器)。