tencent cloud

文档反馈

打开小程序

最后更新时间:2024-06-27 11:09:25
    小程序管理 API 提供小程序搜索、小程序打开、小程序关闭相关的接入说明。

    打开小程序

    打开小程序时,会先判断本地是否有缓存的小程序,如果没有,则会自动从远程服务器上下载小程序,然后打开。如果有缓存的小程序,则会先打开本地小程序,同时后台校验服务器端是否有新版本。
    说明:
    如果有新版本,则下载新版小程序,下次打开时,就会使用新版小程序。

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

    打开正式版本(通过审核并已经发布上线)的小程序。参考如下代码:
    说明:
    appId 字段为小程序的 ID,需要通过小程序开发者或者小程序搜索接口获取。
    miniStartOptions 为小程序启动参数配置,参考 API 说明
    TmfMiniSDK.startMiniApp(activity, appId, miniStartOptions);
    打开预览版或开发版小程序,参考如下代码:
    TmfMiniSDK.startMiniApp(activiy, appId, MiniScene.LAUNCH_SCENE_MAIN_ENTRY, appVerType, options)
    注意:
    appVerType 应当和小程序的版本匹配;一般可以通过接口(getRecentList)返回的 MiniApp 对象实例获取 appVerType 的值。
    预览版小程序的 appVerType 参数值应当为 MiniApp.TYPE_PREVIEW。
    开发版小程序的 appVerType 参数值应当为 MiniApp.TYPE_DEVELOP。

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

    小程序 SDK 提供根据平台二维码内容打开小程序的接口;在使用小程序 SDK 提供的扫码能力前,需要提前接入扫一扫的扩展能力,扫码能力的接入可以参考:扫码能力支持。
    接入扫码能力后,可以通过如下的方法启动二维码扫描并打开小程序:
    启动二维码扫描:
    TmfMiniSDK.scan(activity);
    获取二维码扫描结果:
    说明:
    二维码的扫描结果通过 Activity 的 onActivityResult 方法返回;为了识别二维码的内容,需要重写 Activity 的 onActivityResult 方法,并调用TmfMiniSDK.getScanResult 获取二维码内容。
    @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data);
    //获取二维码结果 JSONObject scanResult = TmfMiniSDK.getScanResult(requestCode, data); }
    根据二维码扫描结果打开小程序:
    说明:
    调用 getScanResult 方法获取的是一个 JSON 结构的数据,小程序的启动参数存放在这个 JSON 数据结构的 'result' 字段中,需要提取 result 字段所对应的值,最终将使用这个值用于打开小程序。
    @Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) { super.onActivityResult(requestCode, resultCode, data);
    //获取二维码结果 JSONObject scanResult = TmfMiniSDK.getScanResult(requestCode, data);
    if (scanResult != null) { //提取result字段 String result = scanResult.optString("result"); if (!TextUtils.isEmpty(result)) { MiniStartLinkOptions options = new MiniStartLinkOptions();
    //利用result字段的值打开小程序 TmfMiniSDK.startMiniAppByLink(this, result, options); } } }

    3. 搜索并打开小程序

    调用小程序搜索接口:
    说明:
    SearchOptions 的参数分别对应如下:
    keyword:小程序关键字;
    firstCate:小程序一级分类;
    sencondaryCate:小程序二级分类。
    小程序一级分类和二级分类同时填写,搜索结果将一级分类的结果和二级分类的结果取交集;
    单独填写一级分类或者二级分类,则按照单个分类关键字进行搜索并返回结果。
    SearchOptions searchOptions = new SearchOptions(keyword, firstCate, sencondaryCate);
    TmfMiniSDK.searchMiniApp(searchOptions, new MiniCallback<List<MiniApp>>() { @Override public void value(int code, String msg, List<MiniApp> data) { if (code == MiniCode.CODE_OK && data != null) { //搜索成功,小程序列表不为空 } else {
    //搜索失败或者小程序列表为空 } } });
    打开搜索结果中的小程序:
    说明:
    小程序的搜索结果通过 MiniCallback 接口的 value 方法进行返回。
    参数 int code 表示错误码。
    参数 String msg 表示搜索返回信息。
    参数 List<MiniApp> data 表示搜索到的小程序信息列表。
    SearchOptions searchOptions = new SearchOptions(keyword, firstCate, sencondaryCate);
    TmfMiniSDK.searchMiniApp(searchOptions, new MiniCallback<List<MiniApp>>() { @Override public void value(int code, String msg, List<MiniApp> data) { if (code == MiniCode.CODE_OK && data != null) { //搜索成功,小程序列表不为空
    MiniApp miniApp = data.get(0);
    //打开搜索结果中的第一个小程序 TmfMiniSDK.startMiniApp(this,miniApp.appId,MiniScene.LAUNCH_SCENE_SEARCH,MiniApp.TYPE_ONLINE,new MiniStartOptions()); } else {
    //搜索失败或者小程序列表为空 } } });

    4. 小程序启动监听

    为了方便开发者排查问题,小程序 SDK 提供小程序启动错误的监听,可以通过 MiniStartOptions 的 resultReceiver 进行设置,
    设置方法如下:
    private ResultReceiver mResultReceiver = new ResultReceiver(new Handler()) {
    @Override
    protected void onReceiveResult(int resultCode, Bundle resultData) {
    if (resultCode != MiniCode.CODE_OK) {
    String errMsg = resultData.getString("errMsg");
    Toast.makeText(mActivity, errMsg + resultCode, Toast.LENGTH_SHORT).show();
    }
    }
    };
    miniStartOptions.resultReceiver 可用于接收小程序启动错误情况,所以返回的错误码参考 API 说明,里面都有对应的说明。
    
    联系我们

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

    技术支持

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

    7x24 电话支持