Configuración
Creación de un nuevo proyecto
Una vez que se haya registrado el cliente, puede comenzar a crear su propia aplicación Android.
En la línea de comandos, desplácese hasta el directorio en el que desea crear el proyecto móvil y ejecute el siguiente comando:
zohoandroid create
Aquí se solicitará el ingreso de los siguientes elementos:
- Nombre de la aplicación móvil (por ejemplo, Aprobador de clientes potenciales).
- El nombre de paquete deseado de Java (por ejemplo, com.zoho.prueba).
- ID de cliente OAuth de Zoho (que se obtiene durante el registro de la aplicación).
- Secreto de cliente OAuth de Zoho (que se obtiene durante el registro de la aplicación).
- URL de redirección OAuth de Zoho (que se obtiene durante el registro de la aplicación).
Cuando se ejecute correctamente el comando anterior, se creará una carpeta de proyecto en el mismo directorio. El nombre de la carpeta del proyecto será el mismo que el nombre de la aplicación móvil.
Nota:
- De manera predeterminada, las aplicaciones creadas se compilan y establecen en el nivel 26 de API de Android (Oreo). Sin embargo, puede cambiar tal configuración según el nivel de API deseado en build.gradle de la aplicación.
- Además, tenga en cuenta que, si cambia los niveles de API, es posible que deba encargarse de cualquier dependencia faltante del nuevo nivel de API.
Ejecución del proyecto
El nuevo proyecto creado es, en realidad, una aplicación Android de demostración, que se puede ejecutar de manera instantánea mediante Android Studio.
- Abra Android Studio.
- Haga clic en Archivo > Nuevo > Importar proyecto, escoja la carpeta recientemente creada y haga clic en Abrir.
La nueva aplicación de demostración creada se abrirá como un proyecto Android. - Tal como lo recomienda Gradle, instale todas las dependencias faltantes, si es necesario.
- Después de la compilación correcta de Gradle, ejecute este proyecto en un emulador.
La aplicación se abrirá con una pantalla de inicio de sesión de Zoho en el emulador. - Inicie sesión con sus credenciales de Zoho CRM y vea los datos con la aplicación de demostración.
Diseño de la aplicación
Una vez que el proyecto se haya compilado y ejecutado correctamente, puede diseñar y crear nuevas pantallas y funcionalidades para la aplicación, según sus requisitos. No hay restricciones de front-end en el desarrollo de la aplicación. Sin embargo, para facilitar la autenticación del usuario, asegúrese de considerar los siguientes puntos durante el diseño de su aplicación.
Para encargarse del inicio y cierre de sesión:
- Para encargarse correctamente del inicio de sesión del usuario, la actividad de inicio ya está configurada en el SDK, a fin de asegurarse de que solo los usuarios que están registrados puedan ver los datos de las aplicaciones.
- No obstante, si desea mostrar su propia pantalla de inicio de sesión personalizada, proporcione su paquete de clase de inicio de sesión personalizado a customLoginActivityClass en app_configuration.properties. Presentamos su customLoginClass como actividad de inicio, por lo tanto, no es necesario mencionar esta clase como iniciador en su manifiesto. Para garantizar una funcionalidad sin problemas, asegúrese de iniciar el intento ZCRMLoginActivity a partir de su actividad de inicio personalizada, a fin de comenzar con el proceso de inicio de sesión.
- Durante la escritura de una actividad de inicio, asegúrese de no realizar ninguna solicitud a Zoho CRM sin invocar ZCRMLoginActivity.
- Para encargarse del cierre de sesión del usuario, la actividad en la que administró onClick call del botón de cierre de sesión debe conectarse con ZCRMBaseActivity, y su método onClick debe solicitar super.logout().
En el archivo app_configuration.properties:
- mainActivityClass (obligatorio): mencione el paquete de clase principal (la clase que comienza después de la actividad de inicio de sesión)
- oauthScopes (obligatorio): los alcances de muestra ya se mencionaron en el archivo creado de propiedades; puede cambiar los alcances según sea necesario. Obtener más información
- accessType (opcional): tipo de entorno en CRM
- Production: entorno que tiene usuarios con pago habilitado que acceden a datos empresariales importantes.
- Development: entornos que puede ampliar, integrar y desarrollar sin afectar los entornos de producción.
- Sandbox: entornos utilizados específicamente para probar la funcionalidad de la aplicación antes de implementarla en la producción o de presentarla a los consumidores.
- minLogLevel (opcional): mencione su nivel de registro preferido aquí (ALL [TODO], FINEST [PRECISO], TRACE [SEGUIMIENTO], DEBUG [DEPURACIÓN], CONFIG [CONFIGURACIÓN], INFO [INFORMACIÓN], WARNING [ADVERTENCIA], ERROR , OFF [DESACTIVADO]).
- domainSuffix (opcional): compatibilidad con varios centros de datos
- EE. UU.: www.zohoapis.com
- Europa: www.zohoapis.eu
- China: www.zohoapis.com.cn
- portalID (opcional): mencione su ID de portal de CRM (por ejemplo: 65468393). No es necesario mencionar "portalID" dentro del archivo de propiedades, si no tiene uno.
- showSignUp (opcional): establezca el valor como true si proporciona el recurso del inicio de sesión en la aplicación; de lo contrario, establézcalo como false.
- customLoginActivityClass(opcional): mencione el paquete de clase de actividades del iniciador. Con esa clase de iniciador, puede personalizar el inicio de sesión mediante el inicio de la clase de ZCRMLoginActivity.
app_configuration.properties
Este archivo contiene ciertos valores de configuración que se requieren para ejecutar la aplicación. No cambie los nombres o valores existentes de las propiedades, ya que se requieren para el correcto funcionamiento del SDK y de la aplicación.
El archivo estará disponible en la siguiente ruta:
project home > app > src > main > assets > app_configuration.properties.
También puede agregar sus valores y propiedades, si es necesario. La invocación de ZCRMSDKConfigUtil.getConfigValue(propertyName); en cualquier parte de su código Java después del inicio de la aplicación le permitirá obtener los valores de las propiedades que agregue a este archivo.
Contenedores API de Zoho CRM
Para facilitar el acceso a los datos mediante las API Rest de Zoho CRM, los SDK API integrados de Zoho CRM se deben utilizar para acceder a los datos de CRM mediante las API. Esta capa se encarga de la autenticación de API (mediante la generación y actualización de los tokens de acceso OAuth), la respuesta API y las estructuras de solicitud, y devuelve los objetos Java que contienen las respuestas API.
Por lo tanto, una solicitud API solo corresponde a una solicitud de método de la aplicación cliente.
Consulte la sección de jerarquía de clases de la documentación de SDK de Java de Zoho CRM.
Contenedores de acceso a datos de SDK
Además de los contenedores anteriores de las API de Zoho CRM, a fin de evitar solicitudes innecesarias de API, el SDK almacena en caché los metadatos esenciales del módulo en el almacenamiento local del dispositivo.
Actualmente, los datos de CRM (registros) no se almacenan en caché; solo se almacenan en caché los metadatos de los módulos, tales como diseños, secciones, campos y detalles de vista personalizada.
ZCRMCachedModule
Con ZCRMCachedModule, se realiza el almacenamiento en caché de algunos metadatos adicionales. Esto permite extender la clase de ZCRMModule de la biblioteca de cliente API de Zoho CRM. Con esta clase, se proporcionan los siguientes métodos.
- getLayouts: devuelve todos los diseños de los módulos como una BulkAPIResponse.
- getCustomViews: devuelve todos los detalles de vista personalizada del módulo como una BulkAPIResponse.
Actualización de la caché
Con
ZCRMCachedModule, se almacena y utiliza la información de metadatos de los módulos y diseños de formato almacenados en caché en el almacenamiento local del dispositivo. El SDK actualiza los metadatos almacenados de un módulo cada 12 horas.
En caso de que desee forzar el SDK para no utilizar el almacenamiento en caché (por ejemplo: si desea agregar un deslizamiento para actualizar la aplicación) y actualice los metadatos mediante una solicitud API de Zoho CRM, puede forzarlo mediante el establecimiento de la marca refreshCache, que se proporciona en las versiones de sobrecarga de los métodos anteriores. A continuación, se presenta una invocación de muestra.
zcrmCachedModuleObj.getAllLayouts(true);
zcrmCachedModuleObj.getCustomViews(true);