使用行動應用程式設定Oracle Mobile Hub SDK

您必須先設定Oracle Mobile Hub SDK 與行動應用程式,才能撰寫任何程式碼。

新增 SDK

在基本應用程式設定中 (不會介入中間的架構),您會將 iOS 從屬端 SDK 新增至應用程式。

  1. 將下載檔案 omce-ios-sdk-{n}.zip (其中 {n} 是 SDK 的版本號碼) 解壓縮到您機器上的部分目錄中。

  2. 從壓縮檔的擷取內容中,將 oracle_mobile_ios_sdk 目錄拖放至 Xcode 專案導覽器。

    • 視需要選取複製項目

    • 選取建立群組

    • 按一下完成

    將特定程式庫的.a 檔案複製到您應用程式的開發樹狀結構 (Xcode) 之後,您可以透過 SDK 呼叫對應的平台 API。此時,您的應用程式可以使用所有 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. 展開已解除封裝之壓縮檔的 Documentation 資料夾,複製 OMC.plist 檔案,並將它置於應用程式主要應用程式組合的根目錄中。

  7. 編輯複製最終的 OMC.plist 檔案。

  8. 從 Xcode 7 開始,您必須說明「應用程式傳輸安全性 (ATS)」原則,這會強制使遠端通訊超過 HTTPS。

    僅供開發之用,請在應用程式的 Info.plist 檔案中新增下列金鑰,以關閉應用程式的 ATS 原則。

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

    注意事項:

    您不應該在生產中使用此設定。為了確保您提供最佳的 App 安全性、請研究 Apple 的文件、並遵循 Apple 的建議停用特定網域的 ATS、以及為這些網域套用適當的安全性降低。

設定 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 認證的所有應用程式提供此金鑰。您可以從後端的「設定值」頁面取得此頁面。端點應該只是基礎 URL (格式為 https://host.domain:port)。

  • logLevel—決定應用程式的主控台中顯示的 SDK 記錄日誌數量。預設值為 error。其他可能值 (在詳細資訊的增加層次中) 為 warninginfo 以及 debug。您也可以將值設為 none

  • logHTTP—設為 true 時,SDK 會記錄所有 HTTP 要求和回應的標題和主體。

  • mobileBackend—包含後端認證詳細資訊以及其他選擇性詳細資訊 (例如同步化特性) 的字典項目。

    您可以從後端的「定值」頁面取得認證詳細資訊 (例如 OAuth 和 HTTP 證明資料)。

  • mobileBackend/baseUrl—您透過後端呼叫之所有 api 的基礎 URL。您可以從後端的「設定值」頁面取得此頁面。

  • mobileBackend/authentication—包含具有下列元素的字典:

    • type 子索引鍵,可能的值 (string) 為 oauthbasicfacebooktokenExchange

    • 認證類型的一或多個子金鑰,其中包含具有認證證明資料的字典。

      basicoauth 的子索引鍵內,您也可以新增 enableOffline 索引鍵。此特性預設為 true