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 構成ファイルに関する情報を見つける方法についても学習します。

前提条件:

ジャンプ先:

MobileFirst ネイティブ SDK の追加

以下の手順に従って、新規または既存の Android Studio プロジェクトに MobileFirst ネイティブ SDK を追加し、アプリケーションを MobileFirst Server インスタンスに登録します。

開始する前に、MobileFirst Server が稼働していることを確認します。
ローカルにインストールされているサーバーを使用する場合: コマンド・ライン・ウィンドウで、サーバーのフォルダーに移動し、次のコマンドを実行します。./run.sh (Mac または Linux OS の場合) または run.cmd (Windows の場合)

Android アプリケーションの作成

Android Studio プロジェクトを作成するか、または既存のプロジェクトを使用します。

SDK の追加

  1. 「Android」→「Gradle Scripts」で、build.gradle (Module: app) ファイルを選択します。

  2. 次の行を、apply plugin: 'com.android.application' の後に追加します。

    repositories{
         jcenter()
    }
    
  3. 次の行を、android セクション内に追加します。

    packagingOptions {
         pickFirst 'META-INF/ASL2.0'
         pickFirst 'META-INF/LICENSE'
         pickFirst 'META-INF/NOTICE'
    }
    
  4. 次の行を、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.+'
  1. 「Android」→「app」→「manifests」で、AndroidManifest.xml ファイルを開きます。 次のアクセス権を、application エレメントの上に追加します。

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    
  2. 既存の 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'
        }
    }

アプリケーションの登録

  1. コマンド・ライン・ウィンドウを開き、Android Studio プロジェクトのルートに移動します。

  2. 次のコマンドを実行します:

     mfpdev app register
    

mfpdev app register CLI コマンドは、まず最初に MobileFirst Server に接続してアプリケーションを登録し、続けて mfpclient.properties ファイルを Android Studio プロジェクトの [project root]/app/src/main/assets/ フォルダーに作成し、これに、MobileFirst Server を識別するメタデータを追加します。

ヒント: 次のように、MobileFirst Operations Console からアプリケーションを登録することもできます。

  1. MobileFirst Operations Console をロードします。
  2. 「アプリケーション」の横の「新規」ボタンをクリックして、新規アプリケーションを登録し、画面に表示される指示に従います。
  3. アプリケーションが登録されたら、そのアプリケーションの「構成ファイル」タブに移動して、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 が組み込まれたので、以下の作業を行うことができます。

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.
Last modified on May 13, 2020