tencent cloud

文档反馈

打开小程序

最后更新时间:2024-10-18 11:19:31

    打开小程序

    打开小程序时,会先判断本地是否有缓存的小程序,如果没有,则会自动从远程服务器上下载小程序,然后打开。如果有缓存的小程序,则会先打开本地小程序,同时后台校验服务器端是否有新版本。
    说明:
    如果有新版本,则下载新版小程序,下次打开时,就会使用新版小程序。
    // 通过小程序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
    错误回调

    根据小程序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版本开始,正式版小程序二维码可通过控制台生成和修改,App成功配置scheme后即可通过系统相机扫描二维码打开小程序。
    在控制台-应用管理-小程序审核-已上架菜单下,点击下载二维码,弹出如下弹窗:
    
    
    
    这里的默认协议为tcmpp+appid后几位,appid可在应用管理-应用列表中获取:
    
    
    
    例如appid为app-ylk2jebx9q,则配置的scheme则为tcmppylk2jebx9q,点击“修改”即可修改scheme:
    
    
    
    客户端需要通过 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;
    }
    完成以上操作后,即可通过系统相机扫描控制台二维码来打开正式版小程序。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持