tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

打开小程序

PDF
聚焦模式
字号
最后更新时间: 2025-12-19 22:53:30

打开小程序

打开小程序时,会先判断本地是否有缓存的小程序,如果没有,则会自动从远程服务器上下载小程序,然后打开。如果有缓存的小程序,则会先打开本地小程序,同时后台校验服务器端是否有新版本。
说明:
如果有新版本,则下载新版小程序,下次打开时,就会使用新版小程序。
// 通过小程序id打开小程序
// Open the mini program through the mini program id
// @param appID 小程序ID - Mini program ID
// @param verType 指定打开的小程序类型 - The version type of mini program to open
// @param scene 场景值 - scene value
// @param firstPage 打开页面 - open the page
// @param paramsStr 带入参数 - brings in parameters
// @param parentVC 从哪个vc呼起 - Which vc to call from
// @param completion 错误回调 - error callback
- (void)startUpMiniAppWithAppID:(NSString *)appID
verType:(TMAVersionType)verType
scene:(TMAEntryScene)scene
firstPage:(NSString * _Nullable)firstPage
paramsStr:(NSString * _Nullable)paramsStr
parentVC:(UIViewController *)parentVC
completion:(void (^)(NSError * _Nullable))completion;
options 支持的参数列表:
名称
是否必填
类型
作用
appID
YES
NSString
打开指定小程序的小程序 id
verType
YES
TMAVersionType
打开小程序的类型
scene
YES
TMAEntryScene
打开小程序使用的场景值
firstPage
NO
NSString
打开页面
paramsStr
NO
NSString
打开传递参数
parentVC
YES
UIViewController
从哪个 VC 呼起
completion
YES
block
错误回调
说明:
paramsStr 传递给小程序后,小程序可以通过 App.onLaunch 或生命周期函数 wx.getLaunchOptionsSync 方法的响应回调中 extendData 字段获取。

根据小程序ID(appId)打开小程序

打开正式版本(通过审核并已经发布上线)的小程序。参考如下代码:
[[TMFMiniAppSDKManager sharedInstance] startUpMiniAppWithAppID:appId parentVC:self completion:^(NSError * _Nullable error) {
NSLog(@"open applet error:%@",error);
}];
说明:
appId 字段为小程序的 ID,需要通过小程序开发者或者小程序搜索接口获取。
打开预览版或开发版小程序,示例代码:
[[TMFMiniAppSDKManager sharedInstance] startUpMiniAppWithAppID:appId verType:verType scene:TMAEntrySceneAIOEntry firstPage:nil paramsStr:nil parentVC:self completion:^(NSError * _Nullable error) {
NSLog(@"open applet error:%@",error);
}];
注意:
appVerType 应当和小程序的版本匹配;一般可以通过接口(getRecentList)返回的 TMFAppletSearchInfo 对象实例获取 appVerType 的值。
预览版小程序的 appVerType 参数值应当为 TMAVersionPreview。
开发版小程序的 appVerType 参数值应当为 TMAVersionDevelop。

调用扫码打开小程序

小程序 SDK 提供根据扫码打开小程序的接口;在使用小程序 SDK 提供的扫码能力前,需要提前接入扩展库 TCMPPExtScanCode。
// 通过扫码拉起小程序 - Quickly open the mini program through QRCode
// @param parentVC 从哪个vc呼起 - Which vc to call from
// @param completion 错误回调 - error callback
- (void)startUpMiniAppWithQRCodeWithParentVC:(UIViewController *)parentVC
completion:(void (^)(NSError * _Nullable))completion;

根据二维码内容打开小程序

小程序 SDK 提供根据平台二维码内容打开小程序的接口;在使用小程序 SDK 提供的扫码能力前,需要提前接入扫一扫的扩展能力,扫码能力的接入可以参考:扫码能力支持。
接入扫码能力后,可以通过如下的方法启动二维码扫描并打开小程序:
/// 通过二维码呼起小程序
/// @param qrData 二维码内容
/// @param parentVC 从哪个vc呼起
/// @param completion 错误回调
- (void)startUpMiniAppWithQrData:(NSString *)qrData
parentVC:(UIViewController *)parentVC
completion:(void (^)(NSError * _Nullable error))completion;

根据二维码内容打开正式版小程序

从2.0.9版本开始,正式版小程序二维码可通过控制台生成和修改,superapp 成功配置 scheme 后即可通过系统相机扫描二维码打开小程序。
在控制台-应用管理-小程序审核-已上架菜单下,点击下载二维码,弹出如下弹窗:

这里的默认协议为 tcmpp+appid 后几位,appid 可在应用管理-应用列表中获取:


客户端需要通过 getAppScheme 代理接口返回 scheme 协议名,示例代码:

- (NSString *)getAppScheme{
return @"tcmpp";
}
在主工程 info.plist 文件的 URL Types 中配置相同的 scheme:



在 openUrl 方法中实现 handleOpenUrl 方法,示例代码:

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options {
if ([[TMFMiniAppSDKManager sharedInstance] handleOpenUrl:url]){
return YES;
}
return YES;
}
完成以上操作后,即可通过系统相机扫描控制台二维码来打开正式版小程序。


通过指定启动属性打开小程序

注意:
v2.2.10以上版本支持。
支持通过启动属性来打开小程序。
// 通过启动选项启动小程序
// Start up the Mini App with the specified options
// @param appID The ID of the Mini App to launch.
// @param options The options for starting the Mini App.
// @param parentVC The parent view controller.
// @param completion The completion block.
- (void)startUpMiniAppWithAppID:(NSString *)appID
options:(TMAStartUpOptions *)options
parentVC:(UIViewController *)parentVC
completion:(void (^)(NSError * _Nullable))completion;
TMAStartUpOptions 支持的选项列表:
名称
类型
默认值
作用
verType
TMAVersionType
TMAVersionOnline
打开小程序的类型
scene
TMAEntryScene
TMAEntrySceneAIOEntry
打开小程序使用的场景值
firstPage
NSString
nil
打开页面
paramsStr
NSString
nil
打开传递参数
forceUpdate
BOOL
NO
是否强制检查使用最新版本
说明:
paramsStr 传递给小程序后,小程序可以通过 App.onLaunch 或生命周期函数 wx.getLaunchOptionsSync 方法的响应回调中 extendData 字段获取。


帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈