FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 小程序管理

小程序管理主要介绍操作小程序的API,包括:打开小程序,关闭小程序,搜索小程序等。

# 1. 打开小程序

不同的场景,所使用的打开小程序的api也不同。所以,我们提供了多种不同的打开小程序的api。

  1. 打开线上小程序,这里一般只需要小程序id和服务器地址即可,该api只能打开正式版和审核版的小程序。
  2. 二维码打开小程序,这个场景是扫描小程序平台上的二维码,得到二维码里的内容,然后使用该内容打开小程序。正式版、体验版、审核版、开发版、预览版本的小程序二维码都可以使用该Api打开。
  3. URL Scheme 打开小程序,这个场景是在H5网页里嵌入 URL Scheme 的URI,触发打开App里的小程序,只支持打开上架的正式版本小程序。

# 1.1 普通打开小程序

打开小程序时,会先判断本地是否有缓存的小程序,如果没有,则会自动从远程服务器上下载小程序,然后打开;如果有缓存的小程序,则会先打开本地小程序,然后再校验服务器端是否有新版本。

如果有新版本,则下载新版小程序,下次打开时,就会使用新版小程序;如果没有新版本,则什么也不做。

# 1.1.1 普通打开小程序

# API
/**
 * 通过参数封装对象来启动小程序
 * @param request 参数封装,包括RemoteFinAppletRequest, QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
 * 建议使用IFinAppletRequest.fromAppId, IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal, IFinAppletRequest.fromDecrypt等方法生成对应的request对象。
 */
fun startApplet(context: Context, request: IFinAppletRequest, callback: FinCallback<String>? = null)
# 调用示例

    # 1.1.2 普通打开小程序时携带启动参数

    # API
    /**
     * 通过参数封装对象来启动小程序
     * @param request 参数封装,包括RemoteFinAppletRequest, QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
     * 建议使用IFinAppletRequest.fromAppId, IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal, IFinAppletRequest.fromDecrypt等方法生成对应的request对象。
     */
    fun startApplet(context: Context, request: IFinAppletRequest, callback: FinCallback<String>? = null)
    

    通过传入RemoteFinAppletRequest对象,并通过setStartParams方法来设置启动参数。

    # 调用示例

      # 1.2 二维码打开小程序

      扫描平台中的小程序二维码,将解析出来的小程序二维码内容传给接口打开小程序。

      # API
      /**
       * 通过参数封装对象来启动小程序
       * @param request 参数封装,包括RemoteFinAppletRequest, QrCodeFinAppletRequest, LocalFinAppletRequest, DecryptFinAppletRequest,
       * 建议使用IFinAppletRequest.fromAppId, IFinAppletRequest.fromQrCode, IFinAppletRequest.fromLocal, IFinAppletRequest.fromDecrypt等方法生成对应的request对象。
       */
      fun startApplet(context: Context, request: IFinAppletRequest, callback: FinCallback<String>? = null)
      

      通过传入QrCodeFinAppletRequest对象,执行二维码打开小程序的操作。

      # 调用示例

        # 1.3 使用 URL Scheme 打开小程序

        小程序支持通过URL Schema的方式打开,在浏览器或者其他应用中打开如"finapplet://applet/appid/xxxx"形式的链接可以打开小程序

        其中 finapplet为默认的schema,在App中添加字符串资源

        <string name="fin_applet_router_url_scheme">your schema</string>
        

        可以替换默认的schema

        url的全部内容为 schema://applet/appid/{appId}?path=xxx&query=xxx

        其中{appId}为要打开的小程序id

        ?后面的部分为打开小程序的参数,参数是可选的,path为要打开的小程序路径,query为打开的参数,格式为a=1&b=2,因为path和query包含特殊字符,需要进行urlencode

        # 2 关闭小程序

        由于SDK使用多进程的方式加载小程序,该API并不会真正结束小程序,而是将小程序移至系统后台。

        # 2.1 关闭指定小程序

        # API
        /**
         * 关闭小程序
         *
         * @param appId 小程序id
         */
        fun closeApplet(appId: String)
        
        # 调用示例

          # 2.2 关闭所有小程序

          # API
          /**
           * 关闭所有小程序
           */
          fun closeApplets()
          
          # 调用示例

            # 3 结束小程序

            # 3.1 结束指定小程序

            # API
            /**
             * 结束正在运行的小程序
             *
             * @param appId 小程序id
             */
            fun finishRunningApplet(appId: String)
            
            # 调用示例

              # 3.2 结束所有小程序

              # API
              /**
               * 结束所有正在运行的小程序
               */
              fun finishAllRunningApplets()
              
              # 调用示例

                # 4 删除小程序

                由于会将小程序包和小程序信息缓存在本地,以后打开时速度会非常快。

                所以,如果想要将小程序的所有信息都删除,那么可以调用以下api删除某个小程序或者删除所有小程序,删除的内容包括小程序本体、数据库、文件等。

                # 4.1 删除指定小程序

                # API
                /**
                 * 移除使用过的小程序
                 *
                 * @param appId 小程序id
                 */
                fun removeUsedApplet(appId: String)
                
                # 调用示例

                  # 4.2 删除所有小程序

                  # API
                  /**
                   * 清除所有小程序相关数据(数据库、文件等)
                   */
                  fun clearApplets()
                  
                  # 调用示例
                    © 2022 FinClip with ❤

                    👋🏻 嘿,你好!

                    「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

                    >> 点我免费注册体验

                    查看产品文档
                    了解与 FinClip 相关的一切信息

                    产品博客 👈  了解产品更新与核心功能介绍
                    资源下载 👈  获取小程序 SDK 与开发工具
                    文档中心 👈  查询 FinClip 小程序开发指南与答疑

                    商务咨询热线
                    预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

                    400-066-00210755-86967467

                    获取产品帮助
                    联系 FinClip 技术顾问,获取产品资料或加入开发者社群

                    联系线上
                    人工客服

                    或 👉  点击这里,提交咨询工单

                    填写 FinClip 问卷抽缤纷夏日盲盒
                    Hi,这里是我们为 FinClip 用户准备的一封调研问卷,期待您的参与,您的反馈和建议,将指引 FinClip 未来前进的方向。