Android アプリケーションへの MobileFirst Foundation SDK の追加
improve this page | report issue概説
IBM Mobile Foundation SDK は、Maven Central を通じて入手可能な依存関係の集合で構成されます。この SDK は、Android Studio プロジェクトに追加できます。 これらの依存関係は、次のようなコア機能およびその他の機能に対応しています。
- IBMMobileFirstPlatformFoundation - クライアントとサーバー間の接続を実装し、認証およびセキュリティーの各側面、リソース要求、およびその他の必要なコア機能を処理します。
- IBMMobileFirstPlatformFoundationJSONStore - JSONStore のフレームワークを含んでいます。 詳しくは、Android 用 JSONStore に関するチュートリアルを参照してください。
- IBMMobileFirstPlatformFoundationPush - プッシュ通知のフレームワークを含んでいます。 詳しくは、通知に関するチュートリアルを参照してください。
このチュートリアルでは、Gradle を使用して MobileFirst ネイティブ SDK を新規または既存の Android アプリケーションに追加する方法について学習します。 また、アプリケーションを認識するように MobileFirst Server を構成する方法と、プロジェクトに追加する MobileFirst 構成ファイルに関する情報を見つける方法についても学習します。
前提条件:
- Android Studio と MobileFirst CLI が開発者のワークステーションにインストールされている。
- MobileFirst Server のローカル・インスタンスまたはリモート・インスタンスが稼働している。
- MobileFirst 開発環境のセットアップ、および Android 開発環境のセットアップ の両チュートリアルを読む。
ジャンプ先:
- MobileFirst ネイティブ SDK の追加
- MobileFirst ネイティブ SDK の手動での追加
- MobileFirst ネイティブ SDK の更新
- 生成される MobileFirst ネイティブ SDK 成果物
- Javadoc および Android Service のサポート
- 次に使用するチュートリアル
MobileFirst ネイティブ SDK の追加
以下の手順に従って、新規または既存の Android Studio プロジェクトに MobileFirst ネイティブ SDK を追加し、アプリケーションを MobileFirst Server インスタンスに登録します。
開始する前に、MobileFirst Server が稼働していることを確認します。
ローカルにインストールされているサーバーを使用する場合: コマンド・ライン・ウィンドウで、サーバーのフォルダーに移動し、次のコマンドを実行します。./run.sh
(Mac または Linux OS の場合) または run.cmd
(Windows の場合)
Android アプリケーションの作成
Android Studio プロジェクトを作成するか、または既存のプロジェクトを使用します。
SDK の追加
-
「Android」→「Gradle Scripts」で、build.gradle (Module: app) ファイルを選択します。
-
次の行を、
apply plugin: 'com.android.application'
の後に追加します。repositories{ jcenter() }
-
次の行を、
android
セクション内に追加します。packagingOptions { pickFirst 'META-INF/ASL2.0' pickFirst 'META-INF/LICENSE' pickFirst 'META-INF/NOTICE' }
-
次の行を、
dependencies
セクション内に追加します。implementation group: 'com.ibm.mobile.foundation', name: 'ibmmobilefirstplatformfoundation', version: '8.0.+', ext: 'aar', transitive: true
または、次のように 1 行で追加します。
implementation 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.+'
注: Google Dynamic Delivery の機能を使用していて、フィーチャー・モジュールの MobileFirst API を呼び出す場合は、
implementation
ではなくapi
宣言を使用してください。implementation
を使用すると、同じモジュールで MobileFirst API の使用が制限され、api
を使用すると、アプリに存在するすべてのモジュール (フィーチャー・モジュールを含む) で MobileFirst API が使用可能になります。 詳しくは、API and implementation separation を参照してください。
api 'com.ibm.mobile.foundation:ibmmobilefirstplatformfoundation:8.0.+'
-
「Android」→「app」→「manifests」で、
AndroidManifest.xml
ファイルを開きます。 次のアクセス権を、application エレメントの上に追加します。<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
-
既存の activity エレメントの後に、次の MobileFirst UI アクティビティーを追加します。
<activity android:name="com.worklight.wlclient.ui.UIActivity" />
Gradle Sync 要求が表示された場合は、同意します。
MobileFirst ネイティブ SDK の手動での追加
次のように、MobileFirst SDK を手動で追加することもできます。
MobileFirst SDK を手動で追加するには、まず最初に「MobileFirst Operations Console」→「ダウンロード・センター」→「SDK」タブで SDK の .zip ファイルをダウンロードします。 上記の手順を完了した後、以下の手順にも従います。
- ダウンロードした .zip ファイルを解凍し、関連する aar ファイルを app\libs フォルダーに入れます。
- 次を dependencies クロージャーに追加します。
compile(name:'ibmmobilefirstplatformfoundation', ext:'aar') compile 'com.squareup.okhttp3:okhttp-urlconnection:3.4.1' compile 'com.squareup.okhttp3:okhttp:3.4.1'
- 次を repositories クロージャーに追加します。
repositories { flatDir { dirs 'libs' } }
セクションを閉じる
アプリケーションの登録
-
コマンド・ライン・ウィンドウを開き、Android Studio プロジェクトのルートに移動します。
-
次のコマンドを実行します:
mfpdev app register
- リモート・サーバーを使用する場合は、
mfpdev server add
コマンドを使用して、そのサーバーを追加します。
- リモート・サーバーを使用する場合は、
mfpdev app register
CLI コマンドは、まず最初に MobileFirst Server に接続してアプリケーションを登録し、続けて mfpclient.properties ファイルを Android Studio プロジェクトの [project root]/app/src/main/assets/ フォルダーに作成し、これに、MobileFirst Server を識別するメタデータを追加します。
ヒント: 次のように、MobileFirst Operations Console からアプリケーションを登録することもできます。
- MobileFirst Operations Console をロードします。
- 「アプリケーション」の横の「新規」ボタンをクリックして、新規アプリケーションを登録し、画面に表示される指示に従います。
- アプリケーションが登録されたら、そのアプリケーションの「構成ファイル」タブに移動して、mfpclient.properties ファイルをコピーまたはダウンロードします。 画面上に表示される指示に従って、ファイルをプロジェクトに追加します。
WLClient インスタンスの作成
MobileFirst API を使用する前に、次のように WLClient
インスタンスを作成します。
WLClient.createInstance(this);
注: WLClient
インスタンスの作成は、アプリケーションのライフサイクル全体で一度だけ行います。 このインスタンスの作成には、Android の Application クラスを使用することを推奨します。
MobileFirst ネイティブ SDK の更新
MobileFirst ネイティブ SDK を最新リリースで更新するには、リリースのバージョン番号を調べ、build.gradle ファイル内の version
プロパティーを適宜更新します。
上記のステップ 4 を参照してください。
SDK のリリースは、SDK の JCenter リポジトリーで調べることができます。
生成されるMobileFirst ネイティブ SDK 成果物
mfpclient.properties
Android Studio プロジェクトの ./app/src/main/assets/ フォルダー内に配置されているこのファイルは、MobileFirst Server に Android アプリケーションを登録するために使用される、クライアント・サイドのプロパティーを定義します。
プロパティー | 説明 | 値の例 |
---|---|---|
wlServerProtocol | MobileFirst Server との通信プロトコル。 | http または https |
wlServerHost | MobileFirst Server のホスト名。 | 192.168.1.63 |
wlServerPort | MobileFirst Server のポート。 | 9080 |
wlServerContext | MobileFirst Server 上のアプリケーションのコンテキスト・ルート・パス。 | /mfp/ |
languagePreferences | クライアントの SDK システム・メッセージのデフォルト言語を設定します。 | en |
Javadoc および Android Service のサポート
Javadoc および Android Service のサポートについては、追加情報のページを参照してください。
次に使用するチュートリアル
これで MobileFirst ネイティブ SDK が組み込まれたので、以下の作業を行うことができます。
- Mobile Foundation SDK の使用に関するチュートリアルを検討する
- アダプター開発に関するチュートリアルを検討する
- 認証とセキュリティーに関するチュートリアルを検討する
- 通知に関するチュートリアルを検討する
- すべてのチュートリアルを検討する
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.