Ir al contenido

Inicio rápido de Android

minSdk 24. Jetpack Compose y Views.

dependencies { implementation("com.tryyoursize:tryyoursize-android:0.1.0") }

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.

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
}
}
// Views
val guide = SizeGuideView(context).apply { client = tys; product = "SKU-123"; variant = SizeGuideVariant.BUTTON }
// Sin botón
val 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.

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 instante
  • 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.

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?