Inicio rápido de Android
minSdk 24. Jetpack Compose y Views.
1. Instalación
Sección titulada «1. Instalación»dependencies { implementation("com.tryyoursize:tryyoursize-android:0.1.0") }2. Registra tu app
Sección titulada «2. Registra tu app»En Studio, añade android-app://<tu paquete> (en minúsculas, por ejemplo android-app://com.brand.shop) a los sitios permitidos de tu tienda para el modo de prueba.
3. Úsalo
Sección titulada «3. Úsalo»La ventana necesita una ComponentActivity de androidx (por ejemplo, AppCompatActivity).
val tys = TryYourSize(context, "pk_test_…") // una clave secreta lanza un error: guarda sk_ en tu servidor
// Compose, donde estaba tu enlace "Size guide":Row(verticalAlignment = Alignment.CenterVertically) { Text("Size"); Spacer(Modifier.weight(1f)) SizeGuide(tys, "SKU-123", textStyle = MaterialTheme.typography.bodyMedium) { rec -> // Al mostrarse y en cada cambio. Preselecciona, pero nunca por encima de la elección del cliente. if (rec.status == Recommendation.Status.READY && !touched) selected = rec.size }}
// Viewsval guide = SizeGuideView(context).apply { client = tys; product = "SKU-123"; variant = SizeGuideVariant.BUTTON }
// Sin botónval rec = tys.recommendation("SKU-123") // suspend; o getRecommendation("SKU-123") { result -> }tys.present(activity, "SKU-123")tys.on { e -> if (e is TryYourSize.Event.Size) select(e.selection.size) }Llama al SDK desde el hilo principal.
Estados del botón: «Guía de tallas» → «Calculando tu talla…» → «Tu talla: M» (con el punto de conectado), o «Guía de tallas · conectado». Los textos siguen locale (en, es, fr, de, it).
Recommendation: status (READY, COMPUTING, NO_SIZE, SIGNED_OUT, UNAVAILABLE), size con tus etiquetas, studioSize, wearableSizes. Nunca inicia una simulación.
4. Apariencia
Sección titulada «4. Apariencia»Por defecto (INHERIT), el botón y la ventana toman los colores de texto y de fondo de tu tema; el botón toma el textStyle que le pases.
val tys = TryYourSize(context, "pk_test_…", TryYourSize.Configuration( appearance = Appearance(colorPrimary = 0xFF3F51B5.toInt(), fontFamily = "Inter, Roboto", borderRadius = 12f, fonts = listOf("https://fonts.googleapis.com/css2?family=Inter:wght@400;600"))))tys.appearance = tys.appearance.copy(colorPrimary = Color.BLACK) // en directo: una ventana abierta cambia de estilo al instante5. Eventos y errores
Sección titulada «5. Eventos y errores»- Eventos:
Ready,Open,Close,Size(SizeSelection),LoadError(TryYourSizeException). - Códigos de error (
TryYourSizeException.code):SECRET_KEY_IN_APP,INVALID_KEY,INVALID_APP_IDENTIFIER,INVALID_OPTION,WINDOW_UNREACHABLE,APP_NOT_ALLOWED,SIGN_IN_CANCELLED,SIGN_IN_UNAVAILABLE. - Atrás consulta primero a la ventana: si hay medidas sin guardar, el cliente tiene que confirmarlo.
Inicio de sesión
Sección titulada «Inicio de sesión»Los clientes inician sesión dentro de la ventana (correo electrónico y un código de 6 dígitos), una vez por app. Pronto se podrá iniciar sesión a través de Custom Tabs con llaves de acceso.
¿Te ha resultado útil esta página?
Gracias. Leemos todas las respuestas.