Muestra avanzada

En esta sección, se da por sentado que ya completaste la guía de Hello World. Te guiará para convertir esto en una implementación completa. A menudo, incluye vínculos a las secciones de referencia de desarrollo de este documento.

Cambia la lógica del ejemplo de Hello World por tu lógica real de varios perfiles

No te preocupes por mantener el desorden y no te preocupes por las prácticas recomendadas, como la capacidad de prueba, todavía. Asegúrate de comprobar que funcione.

Esto incluye modificar la clase de perfil sincronizado, las llamadas de perfil sincronizado y el proveedor. Si necesitas un Context en el método del proveedor o en el constructor de la clase del proveedor, puedes agregar uno como parámetro, y el SDK lo proporcionará automáticamente.

Deberás decidir si tus llamadas serán asíncronas o síncronas. También debes asegurarte de que todos los tipos de parámetros y de datos que se muestran compatibles con tus llamadas entre perfiles sean compatibles.

Refactoriza tu lógica para tener una arquitectura que puedas enviar

Primero, lee cada una de las sugerencias arquitectónicas para no tener que hacer varios refactorizaciones en conflicto. Una vez que hayas planificado los cambios, vuelve a revisarlos y márcalos, vuelve a compilar y prueba después de cada cambio.

Verifica la privacidad y la seguridad

Verifica que no estés en riesgo de almacenar datos en el perfil incorrecto o de enviar datos a un servidor (incluidos los registros del servidor) desde el perfil incorrecto.

  • Considera designar un perfil como principal para simplificar tus llamadas. Piensa en lo que sucede si tu lógica se ejecuta en cualquiera de los perfiles.
  • Actualiza la IU cuando cambie la disponibilidad del otro perfil.
  • Revisa el debate sobre las excepciones en caso de que necesites realizar alguna acción.
  • Si esperas que los usuarios solo usen el ícono de la app en uno de los dos perfiles, agrega el atributo android:crossProfile = "true" del manifiesto. Esto evita que la app que el usuario no usa directamente se delegue a buckets de app standby más bajos.

Cómo agregar pruebas

Consulta la documentación de pruebas.

Ten en cuenta los permisos

  • Si tu app tiene consentimiento total, cambia el permiso de INTERACT_ACROSS_USERS a INTERACT_ACROSS_PROFILES y, luego, implementa la solicitud del permiso al usuario. Las apps que declaran INTERACT_ACROSS_PROFILES no se pueden subir a Play Store hasta que se incluyan en la lista de entidades permitidas, por lo que este cambio de manifiesto debe estar detrás de una marca hasta que se haga.

  • Si tu app tiene permiso otorgado de antemano, también te recomendamos que lo hagas si quieres solicitarles a los usuarios que lo desactivaron anteriormente (pero sé responsable y no envíes spam a los usuarios).