Configurar el SDK de Oracle Mobile Hub con la aplicación móvil

Debe configurar Oracle Mobile Hub SDK con la aplicación móvil antes de escribir cualquier código.

Agregar SDK

En una configuración de aplicación básica, sin marcos de sesión, agregará el SDK de cliente iOS a una aplicación.

  1. Descomprima el archivo de descarga, omce-ios-sdk-{n}.zip (donde {n} es el número de versión del SDK) en algún directorio de la máquina.

  2. Desde el contenido extraído del zip, arrastre y suelte el directorio oracle_mobile_ios_sdk en el navegador de proyectos Xcode.

    • Seleccione Copiar elementos si es necesario .

    • Seleccione Crear Grupos .

    • Haga clic en Terminar.

    Una vez que el archivo .a de una biblioteca específica se ha copiado en el árbol de desarrollo de la aplicación en Xcode, la API de plataforma correspondiente está disponible para su aplicación mediante llamadas SDK. En este punto, todas las bibliotecas estáticas de SDK están disponibles para su aplicación.

  3. Seleccione el destino para el proyecto, seleccione el separador Fases de Creación , amplíe Enlazar Binario con Bibliotecas , haga clic en el botón + y agregue las siguientes bibliotecas:

    • CoreData.framework

    • CoreLocation.framework

    • libsqlite3.0.tbd

    • Security.framework

    • SystemConfiguration.framework

  4. En la sección Configuración de Creación del proyecto, haga doble clic en Otros Indicadores de Enlace (en Enlace ) y agregue -ObjC.

  5. Además, en Configuración de creación, expanda Rutas de búsqueda y:

    1. Agregue oracle_mobile_ios_sdk/release-iphoneos a las rutas de búsqueda de la biblioteca.

    2. Agregue oracle_mobile_ios_sdk/release-iphoneos/include a las rutas de búsqueda de cabeceras de usuario.

  6. Amplíe la carpeta Documentation del zip desempaquetado, copie el archivo OMC.plist y colóquelo en la raíz del paquete de aplicaciones principal de la aplicación.

  7. Edite el archivo OMC.plist just-copied.

  8. A partir de Xcode 7, debe justificar la política Application Transport Security (ATS), que fuerza las comunicaciones remotas a ser sobre HTTPS.

    Solo para fines de desarrollo, agregue la siguiente clave en el archivo Info.plist de la aplicación para desactivar la política de ATS para la aplicación.

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

    Nota:

    No debe utilizar este valor en producción. Para asegurarse de que proporciona una seguridad óptima para su aplicación, consulte la documentación de Apple y siga las recomendaciones de Apple para desactivar ATS para dominios específicos y aplicar las reducciones de seguridad adecuadas para esos dominios.

Configurar Propiedades de SDK

Para utilizar el SDK de cliente en una aplicación iOS, debe agregar el archivo de configuración OMC.plist a la aplicación y rellenarlo con los detalles del entorno para su backend en Oracle Mobile Hub, así como con otra información de configuración. A su vez, las clases SDK utilizan esta información para ayudar a gestionar la autorización, el registro, el seguimiento de eventos, la sincronización de datos y otras funciones.

Empaqueta el archivo de configuración en la raíz del grupo principal de la aplicación.

El archivo se divide básicamente en las siguientes partes:

  • La clave mobileBackend y su contenido.

    Se incluye esta pieza si está utilizando un backend con la aplicación. Las clases de SDK utilizan los detalles de entorno y autenticación que especifica que debe acceder al backend y crear cabeceras HTTP para las llamadas de REST realizadas a las API.

  • Claves que se aplican a la configuración en conjunto, como logLevel y oAuthTokenEndpoint. Estas claves, por lo general, no tienen que, aparecen en la parte superior del archivo.

A continuación se muestra el mismo archivo en formato de texto:

<?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>

Y ésta es una descripción de algunas de las entradas más importantes del archivo OMC.plist.

  • oAuthTokenEndPoint: URL del servidor de OAuth desde el que la aplicación obtiene su token de autenticación. Esta clave se debe proporcionar para todas las aplicaciones que se basan en OAuth para la autenticación. Este valor se obtiene de la página de valores del backend. El punto final debe ser solo la URL base (con el formato https://host.domain:port).

  • logLevel: determina la cantidad de registro de SDK que se muestra en la consola de la aplicación. El valor por defecto es error. Otros valores posibles (en el nivel de aumento de detalle) son warning, info y debug. También se puede definir el valor en none.

  • logHTTP: cuando se define en true, el SDK registra las cabeceras y los cuerpos de todas las solicitudes y respuestas HTTP.

  • mobileBackend: entrada de diccionario que contiene los detalles de autenticación del backend y otros detalles opcionales, como las propiedades de sincronización.

    Se obtienen los detalles de autenticación, como las credenciales de OAuth y HTTP, de la página Configuración del backend.

  • mobileBackend/baseUrl: URL base para todas las API a las que llama mediante el backend. Este valor se obtiene de la página de valores del backend.

  • mobileBackend/authentication: contiene un diccionario con los siguientes elementos:

    • Subclave type, con valores posibles (string) de oauth, basic, facebook y tokenExchange.

    • Una o más subclaves para los tipos de autenticación, que contienen un diccionario con las credenciales de autenticación.

      Dentro de las subclaves de basic y oauth, también puede agregar la clave enableOffline. Por defecto, esta propiedad se define en true.