Mobile SDK

Last update: May 8th, 2017

Introducción

Este manual intenta brindar toda la información requerida para que los desarrolladores de aplicaciones móviles integren sus aplicaciones con nuestra solución para Android e iOS.

 

Android

Bajar el paquete

Para poder iniciar el desarrollo de la integración, será necesario bajar un archivo con la extensión .arr del sitio web que se indica más abajo.

https://device.clearsale.com.br/android/device-release.aar

Este archivo contiene la biblioteca requerida para implementar la integración.



Permisos de la aplicación

Algunos permisos deben ser completados en el archivo del manifiesto para que la colección de información acceda los datos relevantes en el dispositivo, o sea:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

 

Clase del perfil

Descripción

lLa "Clase del perfil"  es responsable por la identificación de la aplicación que usa la biblioteca y la compilación, análisis y entrega de la información al entorno ClearSale.

Paquete

Esta clase es parte del paquete sale.clear.device.

Creadores

Esta clase no tiene creadores públicos. La instancia debe ser creada por un método estático.

Métodos

setApp(String) Define la aplicación que integra la información.
Este valor será provisto por ClearSale..
setSessionID(String) Define el identificador de sesión de la compra en la aplicación.
Este identificador debe ser el mismo que fue enviado a ClearSale junto con la información del pedido.
getSessionID() Obtiene el identificador de sesión de la compra en la aplicación.
generateSessionID() Genera un identificador de sesión.
Este método solamente debe ser usado si la aplicación no genera identificadores únicos    para cada compra.
Cuando se usa este método es esencial invocar el método getSessionID para obtener el número generado que será enviado después a ClearSale junto con la información del pedido.
send() Envía la información compilada y analizada.


Métodos estadísticos

getInstance(String) Obtiene la instancia de la clase Perfil.
El Context es el tipo android.content.Context. Se puede encontrar usando getApplicationContext(), getContext(), getBaseContext() o esto (cuando está en una clase de Actividad).


Ejemplos


Con SessionID ya generada

String sessionID; // Variable name for example purposes only.
// ...
// Your code for generating the session identifier.
// ...
Profile profile = Profile.getInstance(getBaseContext());
profile.setApp("seuapp"); // This value will be provided by ClearSale.
profile.setSessionID(sessionID);
profile.send();
// ...
// Remainder of your application code.// ...

 

Con SessionID no generada


Profile profile = Profile.getInstance(getBaseContext());
profile.setApp("seuapp"); // This value will be provided by ClearSale.
profile.generateSessionID ();
profile.send();
// If the SessionID was generated by the Profile class, you must use the getSessionID() method.
String sessionID = profile.getSessionID(); // Variable name for example purposes only.
// ...
// Remainder of your application code.
// ...
 

iOS

Bajar el paquete

Para poder iniciar el desarrollo de la integración, será necesario bajar un archivo con la extensión .zip del sitio web que se indica más abajo.

https://device.clearsale.com.br/ios/cscleardevice_1.1.0.framework.zip

Este archivo comprimido contiene la biblioteca requerida para implementar la integración

Permisos de la aplicación

Se requerirá que complete algunos permisos y activar iCloud en la aplicación que consumirá la biblioteca.

  1. Activar iCloud en el portal de Apple
    1. Ir a developer.apple.com
    2. Seleccionar el menú Certificates, IDs & Profiles
    3. En la sección Identifier del menú del lado izquierdo seleccionar App Ids
    4. Hacer clic en la app id de la app deseada
    5. Hacer clic en Edit
    6. Marcar la opción iCloud y seleccionar apoyo Include CloudKit (requiere Xcode 6)
    7. Al hacer esto, los perfiles existentes de aprovisionamiento de la aplicación quedarán invalidados y se requerirá que genere nuevos perfiles de aprovisionamiento para tu aplicación y que luego los instale en XCode.
  2. Activar iCloud en XCode
    1. Acceder a las configuraciones del proyecto y abrir la pestaña Capabilities
    2. Activar la opción iCloud
    3. Marcar la opción Key-value storage y la opción CloudKit
    4. Después de seleccionar CloudKit aparecerán dos opciones: Use default container y Specify custom container. Dejar la opción Use default container marcada.

Clase de perfil

Descripción

La "Clase de perfil" es la responsable por la identificación de la aplicación que usa la biblioteca y la recolección, análisis y entrega de la información al entorno ClearSale.

Paquete

Esta clase es parte del paquete sale.clear.device.

Creadores

Esta clase no tiene creadores públicos. La instancia debe ser creada por un método estático.

Métodos

 

setApp(String) Define la aplicación que integra la información.
Este valor será provisto por ClearSale.
setSessionID(String) Define el identificador de sesión de la compra en la aplicación.
Este identificador debe ser el mismo que fue enviado a ClearSale junto con la información del pedido.
getSessionID() Obtiene el identificador de sesión de la compra en la aplicación.
generateSessionID() Genera un identificador de sesión.
Este método solamente debe ser usado si la aplicación no genera identificadores únicos para cada compra.
Cuando se usa este método es esencial usar el método getSessionID para obtener el número generado que será enviado después a ClearSale junto con la información del pedido.
send() Envía la información compilada y analizada

 

Métodos estadísticos

getInstance(String) Obtiene la instancia de la clase Perfil.
El Context es el tipo android.content.Context. Se puede encontrar usando getApplicationContext(), getContext(), getBaseContext() o esto (cuando está en una clase de Actividad).

Instalación

Instrucciones para instalar el marco en el proyecto de destino:

  1. Mueva el marco (CSClearDevice_1.1.0.framework) del proyecto y seleccione las siguientes opciones:
    1. Copie artículos si es necesario
    2. Carpetas agregadas: Crear grupos.
    3. Agregar a las metas: “Nombre del proyecto de destino”.
  2. Abra el editor del proyecto, seleccione el proyecto y agregue la bandera “-ObjC” a los valores “Other Linker Flags” en la pestaña “Build Settings”.
  3. Agregue las siguientes entradas al archivo Info.plist del proyecto de destino:
     
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSExceptionDomains</key>
    <dict>
    <key>clearsale.com.br</key>
    <dict>
    <key>NSIncludesSubdomains</key>
    <true />
    <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
    <true />
    <key>NSTemporaryExceptionMinimumTLSVersion</key>
    <string>TLSv1.0</string>
    </dict>
    </dict>
    </dict>// ...
     
  4. Para proyectos desarrollados en Objective-C, importe <CSClearDevice/CSClearDevice.h> en el archivo donde desea usar el marco.
  5. Para proyectos desarrollados en Swift, importe <CSClearDevice_1.1.0/CSClearDevice.h> en el encabezamiento general del proyecto

 



Ejemplos

Con SessionID ya generada (Objective-C)

// ...
// Your code for generating the session identifier.
// ...
[[CSClearDevice getInstance] setApp:@"seuapp"]; // This value will be provided by ClearSale.
[[CSClearDevice getInstance] setSessionID:@"sessionID "]; // Generated session identifier.
[[CSClearDevice getInstance] send];
// ...
// Remainder of your application code.
// ...

Con SessionID ya generada (Swift)

var sessionID; // Variable name for example purposes only.
// ...
// Your code for generating the session identifier.
// ...
let profile = CSClearDevice.getInstance();
profile.setApp("seuapp"); // This value will be provided by ClearSale.
profile.setSessionID(sessionID);
profile.send();
// ...
// Remainder of your application code.
// ...

Con SessionID no generada (Objective-C)

[[CSClearDevice getInstance] setApp:@"seuapp"]; // This value will be provided by ClearSale.
[[CSClearDevice getInstance] generateSessionID]; // Create session identifier.
[[CSClearDevice getInstance] send];
// If the SessionID was generated by the Profile class, you must use the getSessionID() method.
[[CSClearDevice getInstance] getSessionID];
// ...
// Remainder of your application code.
// ....

Con SessionID no generada (Swift)

let profile = CSClearDevice.getInstance();
profile.setApp("seuapp"); // This value will be provided by ClearSale.
profile. generateSessionID();
profile.send();
// If the SessionID was generated by the Profile class, you must use the getSessionID() method.
var sessionID = profile.getSessionID();
// ...
// Remainder of your application code.
// ...