Descripción general de los servicios de integración de aplicaciones en el dispositivo
Mariorlit TovarTutorial2 de Noviembre de 2021
1.444 Palabras (6 Páginas)75 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 {
case normal
case canceled
case canceledWithTasks
case automatically
}
let status: Status
let sessionUid: String
init?(url: URL) {
guard let dictionary = url.getKeyVals(),
let statusAsString = dictionary["session_status"],
let clientSessionID = dictionary["clientSessionID"],
let status = Status(rawValue: statusAsString) else {
return nil
}
self.sessionUid = clientSessionID
self.status = status
}
}
extension URL {
func getKeyVals() -> Dictionary<string, string="">? {
var results = [String:String]()
let keyValues = self.query?.components(separatedBy: "&")
if (keyValues?.count)! > 0 {
for pair in keyValues! {
let kv = pair.components(separatedBy: "=")
if kv.count > 1 {
results.updateValue(kv[1], forKey: kv[0])
}
}
}
return results
}
}
</string,>
Android - How to invoke code example
/**
This sample shows how to invoke TraxRetail application
The redirectLink parameter specifies the 3rd party application that should receive the visit
result been done in TraxRetail application
This is the forward direction.
...