快速开始

前置条件

您已经接入工程到 mPaaS。更多信息,请参见以下内容:

添加 SDK

根据您采用的接入方式,请选择相应的添加方式。

  • 使用 mPaaS Xcode Extension。此方式适用于采用了 基于 mPaaS 框架接入基于已有工程且使用 mPaaS 插件接入 的接入方式。

    1. 单击 Xcode 菜单项 Editor > mPaaS > 编辑工程,打开编辑工程页面。

    2. 选择 Ariver 小程序,保存后单击 开始编辑,即可完成添加。

  • 使用 cocoapods-mPaaS 插件。 此方式适用于采用了 基于已有工程且使用 CocoaPods 接入 的接入方式。

    1. 在 Podfile 文件中,指定基线号为 cp_change_15200851,并使用 mPaaS_pod "mPaaS_Ariver" 添加 Ariver 小程序组件依赖。

      image.png

    2. 执行 pod mpaas update cp_change_15200851 命令更新基线。

    3. 在命令行中执行 pod install 即可完成接入。

下面将结合 小程序官方 Demo 来介绍小程序的使用,整个过程主要分为以下三步:

  1. 初始化配置

  2. 发布小程序

  3. 启动小程序

初始化配置

初始化 mPaaS 框架

如果 App 的生命周期并没有交给 mPaaS 框架托管,而是指定为您自己定义的 delegate(如下图所示),那么还需手动初始化 mPaaS 框架。

说明

mPaaS 框架托管是指 App 的 delegate 设置为 DFClientDelegate,此时无需手动初始化 mPaaS 框架。

image.png

  1. 在应用的 windownavigationController 创建完成后,调用以下方法初始化 mPaaS 框架。

    image.png

  2. DTFrameworkInterfacecategory 中重写 shouldInheritDFNavigationController 方法并返回 NO,支持导航栏控制器可不继承 DFNavigationController

    image.png

  3. 若 App 有多个导航栏,且需要在不同导航栏中打开不同小程序,在切换导航栏后需重新设置容器的导航栏。

    image.png

初始化容器

为了正确启动小程序,需要在 App 启动完成后调用 SDK 接口,对容器进行初始化。必须在 DTFrameworkInterface- (void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中进行初始化。

- (void)application:(UIApplication *)application beforeDidFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    // 初始化容器
    [MPNebulaAdapterInterface initNebula];
}

注意事项

cp_change_15200851 基线中如果使用 mPaaS 框架的托管模式和隐私弹框的情况下,设置了开关配置代理 [MPNebulaAdapterInterface shareInstance].configDelegate = self;,则需要同时在以下两个方法中进行设置开关代理;如果没有使用到开关代理,请忽略。

3855882e87a5f785ca7b46eebafa7f8f

4337ffda08003159717672dc7ef29db3

发布小程序

启动小程序之前,您需要先通过 mPaaS 控制台发布该小程序,步骤如下:

  1. 进入小程序后台。登录 mPaaS 控制台,进入目标应用后,从左侧导航栏进入 小程序 > 小程序发布 页面。

  2. 配置虚拟域名。如果是第一次配置虚拟域名,请先在 小程序 > 小程序发布 > 配置管理 中配置虚拟域名。虚拟域名请务必挂在企业域名下,防止被第三方劫持,如 example.com

  3. 创建小程序。进入 mPaaS 控制台,完成以下操作:

    1. 单击左侧导航栏的 小程序 > 小程序发布

    2. 在打开的小程序包列表页,单击 新建

    3. 新建小程序 窗口,填写小程序的 ID 和小程序名称,单击 确定。其中,小程序 ID 为任意 16 位数字,例如 2018080616290001

    4. 在小程序 App 列表下,找到新增的小程序,单击 添加

    5. 在基本信息栏,完成以下配置:

      • 版本:填写小程序包的版本号,例如 1.0.0.0

      • 客户端范围:选择小程序 App 对应的 iOS 客户端最低版本和最高版本。在这个范围内的客户端 App 可以启动对应的小程序,否则无法启动。这里最低版本可以填写 0.0.0,最高版本可以不填,代表客户端所有版本都可以启动这个小程序。

        说明

        这里的版本号指当前客户端 App 的版本号,请参考工程 Info.plist 中的 Product Version 字段。

        image.png

      • 图标:单击 选择文件上传小程序包的图标。第一次创建小程序时必须上传图标。示例图标如下:

        image.png

      • 上传小程序包资源文件,文件格式为 .zip。我们准备了一个 mPaaS 示例小程序(点此下载),可以直接上传。

        说明

        在上传前,需将此示例小程序的 .zip 文件名以及压缩包内的文件夹名均修改为小程序的 16 位数字 ID。

    6. 在配置信息栏,完成以下配置:

      • 主入口 URL:必填,小程序的首页。主入口 URL 格式为:/index.html#xxx/xxx/xxx/xxx,其中 # 后方的 xxx/xxx/xxx/xxx 是小程序的 app.json 中的 pages 中的第一个值。如下图所示,mPaaS 示例小程序的主入口为:/index.html#page/tabBar/component/index

        image.png

      • 其他配置保持默认即可。

    7. 勾选 已确认以上信息准确,提交后不再修改

    8. 单击 提交

  4. 发布小程序。进入 mPaaS 控制台,完成以下步骤:

    1. 单击左侧导航栏的 小程序 > 小程序发布 > 小程序正式包管理

    2. 在打开的小程序包列表页中,选择您要发布的小程序包与版本,单击 创建发布

    3. 在创建发布任务栏,完成以下配置:

      • 发布类型:选择 正式 发布类型。

      • 发布描述:选填。

    4. 单击 确定 完成发布创建。

启动小程序

完成上述步骤之后,在 iOS 工程中,通过如下代码,启动示例小程序:

[MPNebulaAdapterInterface startTinyAppWithId:@"2018080616290001" params:nil];
说明

上方代码中的 2018080616290001 为小程序 ID,此处仅为本文示例,操作中请填写您的小程序 ID。