The SDK for the mini-app provides several methods for interacting with the mini-program. Before getting started, please apply for access to the mini-program functionality on the mini-program open platform and register your mini-app. Here are some common usage examples:
Set Theme Style
miniAppService.updateTheme(userInterfaceStyle: .dark)Set Language
miniAppService.updateLanguage(languageCode: "zh")Launch Params
WebAppLaunchWithParentParameters.Builder()
.parentVC(self)
.url("https://game.bt.qiku.net/games/fruittri?code=LuLT2PdXscbH3TOmTpX+LVnPClMHSZFa66v7ygw40CExOCQXfkUaBZzEeM+hoOtW&channel=telegram&lan=zh-hans")
.isLaunchUrl(false)
.isLocalSource(false)
.autoExpand(true)
.startParams("Your webapp startParam")
.useCache(true)
.useModalStyle(false)
.useCustomNavigation(false)
.getInputContainerNode(inputNode)
.didDismiss({
})
.completion({
})
.build()Here is an explanation of the parameters used in the WebAppLaunchWithParentParameters.Builder():
parentVC(self): Specifies the parent view controller for launching the web app.url(url): Sets the URL of the web app to be launched.isLaunchUrl(false): Indicates whether the URL should be launched.isLocalSource(false): Specifies if the web app source is local or not.autoExpand(true): Determines if the web app should automatically expand.startParams("Your webapp startParam"): Sets the start parameters for the web app.useCache(true): Specifies whether caching should be used.useModalStyle(false):Page style setting, default is full-screen mode.useCustomNavigation(false):Toolbar style setting, default style and custom style.getInputContainerNode(inputNode): Retrieves the input container node for the web app.didDismiss({}): Sets a callback for when the web app is dismissed.completion({}): Sets a callback for when the web app launch is completed.
Preload Mini App with botName and miniAppName
val config = WebAppPreloadParameters.Builder()
.botName("MatrixBot102")
.miniAppName("cybercat")
.build()
miniAppService?.preload(config)Preload Mini App with URL
val config = WebAppPreloadParameters.Builder()
.url("https://mini-app-me-host/botName/miniAppName")
.build()
miniAppService?.preload(config)Launch Mini App with botName and miniAppName
val config = WebAppLaunchWithDialogParameters.Builder()
.parentVC(viewController)
.botName("MatrixBot102")
.miniAppName("cybercat")
.didDismiss(didDismiss)
.build()
miniAppService?.launch(config)Launch Mini App with URL
val config = WebAppLaunchWithDialogParameters.Builder()
.parentVC(viewController)
.url("https://mini-app-me-host/botName/miniAppName")
.didDismiss(didDismiss)
.build()
miniAppService?.launch(config)Embed Mini App with botName and miniAppName into a Container
val config = WebAppLaunchWithParentParameters.Builder()
.parentVC(viewController)
.botName("MatrixBot102")
.miniAppName("cybercat")
.didDismiss(didDismiss)
.getInputContainerNode(inputContainerNode)
.build()
miniAppService?.launch(config)Embed Mini App with URL into a Container
val config = WebAppLaunchWithParentParameters.Builder()
.parentVC(viewController)
.url("https://mini-app-me-host/botName/miniAppName")
.didDismiss(didDismiss)
.getInputContainerNode(inputContainerNode)
.build()
miniAppService?.launch(config)