モバイル・アプリケーションを使用したOracle Mobile Hub SDKの構成

コードを記述する前に、モバイル・アプリケーションを使用してOracle Mobile Hub SDKを構成する必要があります。

SDKの追加

基本的なアプリケーション設定では、フレームワークを介さずに、iOSクライアントSDKをアプリケーションに追加します。

  1. ダウンロード・ファイルomce-ios-sdk-{n}.zip ({n}はSDKのバージョン番号)を解凍してマシンの任意のディレクトリに保存します。

  2. Zipの抽出された内容から、oracle_mobile_ios_sdkディレクトリをXcodeプロジェクト・ナビゲータにドラッグ・アンド・ドロップします。

    • 必要に応じて、「アイテムのコピー」を選択します。

    • グループの作成」を選択します。

    • 「終了」をクリックします。

    特定のライブラリの.aファイルがxcode内のアプリケーションの開発ツリーにコピーされると、対応するプラットフォームAPIがSDKコールを介してアプリで使用できるようになります。この時点では、SDKのすべての静的ライブラリをアプリケーションで使用できます。

  3. プロジェクトのターゲットを選択し、「ビルド・フェーズ」タブを選択し、「ライブラリを使用したバイナリのリンク」を展開し、「+」ボタンをクリックして、次のライブラリを追加します。

    • CoreData.framework

    • CoreLocation.framework

    • libsqlite3.0.tbd

    • Security.framework

    • SystemConfiguration.framework

  4. プロジェクトの「ビルド設定」セクションで、「他のリンカー・フラグ」をダブルクリックし(「 リンク」の下)、-ObjCを追加します。

  5. ビルドの設定」で、「検索パス」を開きます。

    1. oracle_mobile_ios_sdk/release-iphoneosライブラリの検索パスに追加します。

    2. ユーザーのヘッダー検索パスoracle_mobile_ios_sdk/release-iphoneos/includeを追加します。

  6. 解凍したzipのDocumentationフォルダを展開し、OMC.plistファイルをコピーして、アプリケーションのメイン・アプリケーション・バンドルのルートに配置します。

  7. ジャストコピーしたOMC.plistファイルを編集します。

  8. Xcode 7以降では、リモート通信をHTTPS経由に強制するアプリケーション・トランスポート・セキュリティ(ATS)ポリシーを考慮する必要があります。

    開発のみのため、アプリケーションのInfo.plistファイルに次のキーを追加して、アプリケーションのATSポリシーをオフにしてください。

    <key>NSAppTransportSecurity</key> 
    <dict>
     <key>NSAllowsArbitraryLoads</key>
     <true/> 
    </dict>

    注意:

    本番ではこの設定を使用しないでください。アプリケーションに最適なセキュリティを提供していることを確認するために、Apple社のドキュメントを調べて、特定のドメインに対するATSの無効化とそれらのドメインに対する適切なセキュリティ強化の適用のためにApple社の推奨事項に従ってください。

SDKプロパティの構成

IOSアプリケーションでクライアントSDKを使用するには、アプリケーションにOMC.plist構成ファイルを追加し、Oracle Mobile Hubのバックエンドの環境詳細およびその他の構成情報を入力する必要があります。同様に、SDKクラスではこの情報を使用して、認可、ロギング、イベント・トラッキング、データ同期およびその他の機能を管理します。

構成ファイルは、アプリケーションのメイン・バンドルのルートにパッケージ化します。

ファイルは、基本的に次の部分に分かれています。

  • mobileBackendキーとその内容。

    この部分は、アプリケーションでバックエンドを使用している場合に含めます。SDKクラスは、ここで指定する環境および認証の詳細を使用して、apiへのRESTコールのバックエンドにアクセスし、HTTPヘッダーを構成します。

  • 構成全体に適用されるキー(logLeveloAuthTokenEndpointなど)。通常、これらのキーはファイルの先頭に表示されますが、必須ではありません。

次に示すのと同じファイルをテキスト形式で示します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"
<plist version="1.0">
<dict>
  <key>logLevel</key>
  <string>debug</string>
  <key>logHTTP</key>
  <true/>
  <key>oAuthTokenEndPoint</key>
  <string>https://MY_TOKEN_ENDPOINT</string>
  <key>mobileBackend</key>
  <dict>
    <key>name</key>
    <string>EasyShoppingMBE</string>
    <key>baseURL</key>
    <string>https://MY_CLOUD_DOMAIN.oracle.com</string>
    <key>authentication</key>
    <dict>
      <key>type</key>
      <string>oauth</string>
      <key>oauth</key>
      <dict>
        <key>clientID</key>
        <string>11dac238ffaa4b029e78e982114642ab</string>
        <key>clientSecret</key>
        <string>5624cbdd-a7c5-4c10-a758-6019a5ab8da8</string>
        <key>enableOffline</key>
        <true/>
      </dict>
    </dict>
  </dict>
</dict>
</plist>

さらに、OMC.plistファイルのいくつかの重要なエントリについて説明します。

  • oAuthTokenEndPoint—アプリケーションが認証トークンを取得する元のOAuthサーバーのURL。この鍵は、OAuthに依存して認証するすべてのアプリケーションに指定する必要があります。これはバックエンドの「Settings」ページから取得します。エンドポイントはベースURL (https://host.domain:portの形式)のみにする必要があります。

  • logLevel—アプリのコンソールに表示されるSDKロギングの量を決定します。デフォルト値はerrorです。その他の使用可能な値(詳細レベルの向上)は、warninginfoおよびdebugです。値をnoneに設定することもできます。

  • logHTTPtrueに設定すると、SDKはすべてのHTTPリクエストおよびレスポンスのヘッダーと本体をログに記録します。

  • mobileBackend—バックエンドの認証の詳細および同期プロパティなどのその他のオプションの詳細を含むディクショナリ・エントリ。

    OAuthおよびHTTP資格証明などの認証の詳細をバックエンドの「設定」ページから取得します。

  • mobileBackend/baseUrl—バックエンドを介してコールするすべてのapiのベースURL。これはバックエンドの「Settings」ページから取得します。

  • mobileBackend/authentication—次の要素を含むディクショナリが含まれます。

    • Oauth、basicfacebookおよびtokenExchangeの サブキー(文字列)の

    • 認証資格証明のあるディクショナリを含む認証タイプの1つ以上のサブキー。

      basicおよびoauthのサブキー内に、enableOfflineキーを追加することもできます。デフォルトでは、このプロパティはtrueに設定されています。