Descripción general de los servicios de integración de aplicaciones en el dispositivo
Enviado por Mariorlit Tovar • 2 de Noviembre de 2021 • Tutorial • 1.444 Palabras (6 Páginas) • 57 Visitas
Descripción general de los servicios de integración de aplicaciones en el dispositivo
Como algunos clientes de Trax utilizan una aplicación SFA y desean beneficiarse de Las capacidades de Trax de reconocimiento y análisis de imágenes, Trax ofrece una integración conjunta solución. La integración permite activar la aplicación Trax Mobile dentro de otra aplicación en el mismo dispositivo. El enlace opera la API estándar de Trax, usando el contexto de un número de tienda común combinado con una ID de sesión única (ambas provistas por Trax y por la llamada) aplicación en cada activación de la interfaz). Este contexto invoca una única visita a la tienda en la aplicación Trax Mobile, y permite el usuario para seleccionar una tarea y para capturar imágenes en la tienda. Si se proporciona una 'URL de devolución de llamada' en la solicitud de activación, la aplicación Trax Mobile devolverá la resolución de la sesión, proporcionando a la aplicación de activación información sobre la experiencia de visita de los usuarios.
Configuración de los servicios de integración de aplicaciones en el dispositivo
Inicie sesión en la aplicación Trax
La aplicación Trax requiere que un usuario nombrado inicie sesión para iniciar una tienda
visitar. Estos usuarios deben estar registrados en sistemas Trax y tener permisos otorgados
para usar la aplicación móvil. Si se usa la API Trax Master Data, esto se hace por
invocando la API de los usuarios.
Cuando la aplicación se lanza por primera vez, ya sea a través de enlaces o
de lo contrario, aparecerá una pantalla de inicio de sesión previa que solicitará al usuario que ingrese su correo electrónico.
Después de ingresar un correo electrónico, se comprobará la configuración del usuario y la
La fase de inicio de sesión continuará de una de las siguientes maneras:
1. Inicie sesión en los sistemas Trax (predeterminado). En tal caso, el usuario ingresará su
contraseña como figura en los sistemas Trax.
2. Inicie sesión en un proveedor de identidad externo. Ver Integración de autenticación
Servicios (SSO)
Nota: la información de inicio de sesión se almacena en el dispositivo hasta que el usuario inicia sesión activamente
fuera.
Nota: el procedimiento de inicio de sesión requiere conectividad de red.
Activando la aplicación Trax desde dentro de otra solicitud
Swift code example
@IBAction func deepLink(sender: AnyObject) {
let application = UIApplication.sharedApplication()
let sessionID = NSUUID().UUIDString
let storeNumber = "9283742930"
let escapedSessionID =
sessionID.stringByAddingPercentEncodingWithAllowedCharacters(.URLQueryAllo
wedCharacterSet())!
let escapedStoreNumber =
storeNumber.stringByAddingPercentEncodingWithAllowedCharacters(.URLQueryA
llowedCharacterSet())!
let youreRedirectLink = "com.app.foo"
let urlString =
"com.traxretail.traxretail://startSession?clientSessionID=\(escapedSessionID)&storeNu
mber=\(escapedStoreNumber)&callbackUrl=\(youreRedirectLink)"
guard let url = NSURL(string: urlString) else { return }
application.openURL(url)
}
Java code example
private void deepLink(){
String uri =
"com.traxretail.traxretail://startSession?clientSessionID=\(escapedSessionID)&storeNu
mber=\(escapedStoreNumber)&callbackUrl=\(escapedrRedirectLink)";
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(uri));
startActivity(intent);
}
HTML code example
<a
href="com.traxretail.traxretail://startSession?clientSessionID=*UID*&storeNumber=*number*&c
allbackUrl=*redirectLink* >
Llamar de vuelta Si se proporciona una URL de devolución de llamada en la solicitud de activación, la aplicación Trax Mobile devolverá una devolución de llamada con la resolución de la sesión.
Swift code example
// in AppDelegate
func application(_ app: UIApplication, open url: URL, options:
[UIApplicationOpenURLOptionsKey : Any]) -> Bool {
guard let host = HostParser(host: url.host) else {
return false
}
switch host.type {
case .sessionEnded:
guard let link = SessionEndedDeepLink(url: url) else { return false
}
print(link.sessionUid)
print(link.status)
return true
}
}
// Helpers
struct HostParser {
enum `Type`: String {
case sessionEnded
}
let type: Type
init?(host: String?) {
guard let host = host,
let type = Type(rawValue: host) else {
return nil
}
self.type = type
}
}
struct SessionEndedDeepLink {
enum Status: String {
...