将 MobileFirst Foundation SDK 添加到 Ionic 应用程序
improve this page | report issue
概述
在此教程中,了解如何将 MobileFirst SDK 添加到使用 Ionic CLI 创建的新的或现有的 Ionic 应用程序。您还可以了解如何配置 MobileFirst Server 以识别应用程序,以及查找有关在项目中更改的 MobileFirst 配置文件的信息。
MobileFirst Ionic SDK 作为一组 Typescript 包装程序以及 Cordova 插件提供,并在 NPM 上注册。
可用插件包括:
- cordova-plugin-mfp - 核心 SDK 插件
- cordova-plugin-mfp-push - 提供推送通知支持
- cordova-plugin-mfp-jsonstore - 提供 JSONStore 支持
支持级别
MobileFirst 插件支持的 Ionic Cordova 平台版本包括:
- cordova-ios:>= 4.1.1 以及 < 5.0
- cordova-android:>= 6.1.2 以及 < 7.0
- cordova-windows:>= 4.3.2 以及 < 6.0
跳转至:
- Ionic SDK 组件
- 添加 MobileFirst Ionic SDK
- 更新 MobileFirst Ionic SDK
- 已生成 MobileFirst Ionic SDK 工件
- 接下来要学习的教程
Ionic SDK 组件
cordova-plugin-mfp
cordova-plugin-mfp 插件是针对 Cordova 的核心 MobileFirst 插件,并且此插件是必需的。如果安装任何其他 MobileFirst 插件,并且 cordova-plugin-mfp 插件尚未安装,那么也将自动安装此插件。
以下 Cordova 插件将作为 cordova-plugin-mfp 的依赖项进行安装:
- cordova-plugin-device
- cordova-plugin-dialogs
- cordova-plugin-globalization
- cordova-plugin-okhttp
cordova-plugin-mfp-jsonstore
cordova-plugin-mfp-jsonstore 插件使您的应用程序能够使用 JSONstore。有关 JSONstore 的更多信息,请参阅 JSONStore 教程。
cordova-plugin-mfp-push
cordova-plugin-mfp-push 插件提供必需的许可权,以对 Android 应用程序使用来自 MobileFirst Server 的推送通知。必需其他设置以使用推送通知。 有关推送通知的更多信息,请参阅推送通知教程。
cordova-plugin-mfp-fips
cordova-plugin-mfp-fips 插件为 Android 平台提供 FIPS 140-2 支持。有关更多信息,请参阅 FIPS 140-2 支持。
cordova-plugin-mfp-encrypt-utils
cordova-plugin-mfp-encrypt-utils 插件为使用 iOS 平台的 Cordova 应用程序提供用于加密的 iOS OpenSSL 框架。有关更多信息,请参阅为 Cordova iOS 启用 OpenSSL。
先决条件:
- 安装在开发人员工作站上的 Ionic CLI 和 MobileFirst CLI。
- MobileFirst Server 的本地或远程实例正在运行。
- 阅读设置您的 MobileFirst 开发环境和设置您的 Cordova 开发环境教程。
- 对于 cordova-windows,必须安装与机器中已安装的 Visual Studio 和 .NET 版本兼容的 Visual C++ 版本。
- 如果使用 Visual Studio Tools for Universal Windows Apps,请确保创建的 cordova-windows 应用程序具有所有必需的支持库。
添加 Mobile Foundation Ionic SDK
遵循下面的指示信息将 Mobile Foundation Ionic SDK 添加到新的或现有的 Ionic 项目,然后在 MobileFirst Server 中进行注册。
在您开始之前,确保 MobileFirst Server 正在运行。
如果使用本地安装的服务器,那么请从命令行窗口,浏览至服务器的文件夹,然后运行命令:./run.sh
。
添加 SDK
考虑使用 MobileFirst Ionic 应用程序模板创建项目。此模板会将必需的特定于 MobileFirst 的插件条目添加到 Ionic 项目的 config.xml 文件,并提供特定于 MobileFirst 并针对 MobileFirst 应用程序开发进行了调整的现成可用的 index.js 文件。
新建应用程序
-
创建 Ionic 项目:
ionic start projectName starter-template
。
例如:ionic start Hello blank
- “Hello”是文件夹名称和应用程序名称。
- “blank”是启动器模板的名称。
模板化的 index.js 使您能够使用其他 MobileFirst 功能,如多语言应用程序翻译和初始化选项(请参阅用户文档以获取更多信息)。
-
将目录切换至 Ionic 项目的根目录:
cd hello
-
使用 Ionic CLI 命令添加 MobileFirst 插件:
ionic cordova plugin add cordova-plugin-name
例如:ionic cordova plugin add cordova-plugin-mfp
上述命令会将 MobileFirst 核心 SDK 插件添加到 Ionic 项目。
-
使用 Ionic CLI 命令将一个或多个受支持的平台添加到 Cordova 项目:
ionic cordova platform add ios|android|windows|browser
。例如:cordova platform add ios
-
运行
ionic cordova prepare
命令来准备应用程序资源:ionic cordova prepare
现有应用程序
浏览至现有 Ionic 项目的根目录,然后添加 MobileFirst 核心 Ionic Cordova 插件:
ionic cordova plugin add cordova-plugin-mfp
在装入 MobileFirst 客户机 SDK 之后,MobileFirst API 方法将可用。 然后将调用 mfjsloaded
事件。
注册应用程序
-
打开命令行窗口并浏览至 Ionic 项目的根目录。
-
向 MobileFirst Server 注册此应用程序:
mfpdev app register
- 如果使用的是远程服务器,请使用命令
mfpdev server add
进行添加。
- 如果使用的是远程服务器,请使用命令
mfpdev app register
CLI 命令将先连接到 MobileFirst Server 以注册应用程序,然后使用标识 MobileFirst Server 的元数据更新 Ionic 项目根目录的 config.xml 文件。
会在 MobileFirst Server 中将每个平台注册为应用程序。
提示:您还可以从 MobileFirst Operations Console 注册应用程序:
- 装入 MobileFirst Operations Console。
- 单击应用程序旁边的新建按钮以注册新应用程序,并遵循屏幕上的指示信息。
使用 SDK
在装入 MobileFirst 客户机 SDK 之后,MobileFirst API 方法将可用。 然后将调用 mfjsloaded
事件。
只有在调用事件之后才会调用各种 MobileFirst API 方法。
更新 MobileFirst Ionic SDK
要使用最新发行版更新 MobileFirst Ionic Cordova SDK,请除去 cordova-plugin-mfp 插件:运行 ionic cordova plugin remove cordova-plugin-mfp
命令,然后运行 ionic cordova plugin add cordova-plugin-mfp
命令以重新添加。
可以在 SDK 的 NPM 存储库中找到 SDK 发行版。
已生成 MobileFirst Ionic SDK 工件
config.xml
Ionic 配置文件是包含应用程序元数据的必需 XML 文件,存储在应用程序的根目录中。
将 MobileFirst Ionic SDK 添加到项目之后,Ionic 生成的 config.xml 文件会接收一组使用名称空间 mfp:
标识的新元素。添加的元素包含与 MobileFirst 功能和 MobileFirst Server 相关的信息。
添加到 config.xml 文件的 MobileFirst 设置示例
<?xml version='1.0'encoding='utf-8'?>
<widget id="..." xmlns:mfp="http://www.ibm.com/mobilefirst/cordova-plugin-mfp">
<mfp:android>
<mfp:sdkChecksum>3563350808</mfp:sdkChecksum>
<mfp:appChecksum>0</mfp:appChecksum>
<mfp:security>
<mfp:testWebResourcesChecksum enabled="false" ignoreFileExtensions="png, jpg, jpeg, gif, mp4, mp3" />
</mfp:security>
</mfp:android>
<mfp:windows>
<mfp:sdkChecksum>3563350808</mfp:sdkChecksum>
<mfp:windows10>
<mfp:sdkChecksum>...</mfp:sdkChecksum>
<mfp:security>
<mfp:testWebResourcesChecksum/>
</mfp:security>
</mfp:windows>
<mfp:platformVersion>8.0.0.00-20151214-1255</mfp:platformVersion>
<mfp:clientCustomInit enabled="false" />
<mfp:server runtime="mfp" url="http://10.0.0.1:9080" />
<mfp:directUpdateAuthenticityPublicKey>the-key</mfp:directUpdateAuthenticityPublicKey>
<mfp:languagePreferences>en</mfp:languagePreferences>
</widget>
元素 | 描述 | 配置 |
widget | config.xml 文档的根元素。 此元素包含两个必需属性:
|
|
mfp:platformVersion | 必需。 开发应用程序所用的产品版本。 | 缺省情况下已设置。 不得更改此值。 |
mfp:directUpdateAuthenticityPublicKey | 可选。 在启用“直接更新真实性”功能时,将在部署期间对直接更新包进行数字签名。 在客户机下载包之后,将运行安全性检查以验证包真实性。 此字符串值是公用密钥,将用于认证直接更新 .zip 文件。 | 使用 mfpdev app config direct_update_authenticity_public_key key-value 命令设置。 |
mfp:languagePreferences | 可选。 包含用于显示系统消息的语言环境的逗号分隔列表。 | 使用 mfpdev app config language_preferences key-value 命令设置。 |
mfp:clientCustomInit | 控制如何调用 WL.Client.init 方法。 缺省情况下,将此值设置为 false,将在初始化 MobileFirst 插件之后自动调用 WL.Client.init 方法。 针对客户机代码将此值设置为 true,以显式控制调用 WL.Client.init 的时间。 |
手动编辑。 您可以将 enabled 属性值设置为 true 或 false。 |
mfp:server | 缺省远程服务器连接信息,客户机应用程序将使用此信息与 MobileFirst Server 进行通信。
|
|
mfp:ios | 此元素包含针对 iOS 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:android | 此元素包含针对 Android 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:windows | 此元素包含针对 Windows 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:windows8 | 此元素包含针对 Windows 8.1 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:windows10 | 此元素包含针对 Windows 10 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:windowsphone8 | 此元素包含针对 Windows Phone 8.1 平台的所有与 MobileFirst 相关的客户机应用程序配置。
|
|
mfp:appChecksum | 此值是应用程序 Web 资源的校验和。 在运行 mfpdev app webupdate 时计算。 |
不是用户可配置的。 该校验和值在运行 mfpdev app webupdate 命令时更新。 有关 mfpdev app webupdate 命令的更多详细信息,请在命令窗口中输入 mfpdev help app webupdate 。 |
mfp:sdkChecksum | 此值是用于标识唯一 MobileFirst SDK 级别的 MobileFirst Operations Console SDK 校验和。 | 不是用户可配置的。 缺省情况下,此值已设置。 |
mfp:security | 此元素包含特定于客户机应用程序平台的配置以确保 MobileFirst 安全性。 包含
|
|
mfp:testWebResourcesChecksum | 控制每次在移动设备上开始运行应用程序时,应用程序是否验证其 Web 资源的完整性。 属性:
|
|
结束部分
编辑 config.xml 文件中的 MobileFirst 设置
您可以使用 MobileFirst CLI 通过运行命令来编辑上面的设置:
mfpdev app config
接下来要学习的教程
集成 MobileFirst Ionic SDK 之后,您现在可以:
- 查看使用 Mobile Foundation SDK 教程
- 查看适配器开发教程
- 查看认证和安全教程
- 查看通知教程
- 查看所有教程