Procesando actualizaciones de aplicaciones de Android. Como desarrollador de Android, necesitamos nuestro …… de Giemo | Octubre de 2020

Como desarrollador de Android, necesitamos que nuestros clientes tengan la última versión de nuestra aplicación. Sea como fuere, en la vida real varios clientes disponen de una versión renovada de nuestra aplicación. Una explicación importante de por qué la aplicación no se ha actualizado es que los clientes no tienen mucho tiempo para ir a la tienda de juegos a buscar actualizaciones y luego descargar e implementar la actualización.

Resolviendo un problema similar, Google sugirió actualizar el marco en la aplicación actualizar aplicaciones. En este elemento, puede actualizar su aplicación en la computadora portátil de su cliente con el consentimiento del cliente. El cliente puede usar la aplicación mientras descarga el archivo Actualizaciones. Con este espíritu, los clientes actualmente no necesitan ir a Play Store para buscar una actualización para su aplicación.

Google ha lanzado actualmente actualizaciones de aplicaciones para dispositivos con Android 6.0 o superior. Estos dispositivos, los creadores, animaremos a sus usuarios a intercambiar sus aplicaciones sin necesidad de llevarlos a la Play Store.

Una biblioteca de reproducción del kernel que tiene dos formas diferentes de mover a nuestros clientes cuando la actualización está habilitada.

  1. Actualizaciones flexibles
  2. Actualización inmediata

Si queremos usar las funciones anteriores, debemos tenerlas

  1. Juega la biblioteca básica
  2. La API debe ser 21 o superior

// En el archivo build.Gradle de su aplicación:

adicciones {
// Esta dependencia se descarga de Almacenamiento de Google Maven.
// Así que asegúrese de incluir este repositorio en su archivo build.Gradle también.
implementación de ‘com.google.android.play:core:1.8.3’

// Los usuarios de Kotlin también importan la biblioteca de extensiones de Kotlin para Play Core:
implementación de ‘com.google.android.play:core-ktx:1.8.1’

}

Procedimiento para solicitar la actualización de la aplicación

Hemos organizado la actualización para que sea personalizable o instantánea a través de nuestra configuración (una llamada que se realiza cada vez que un cliente inicia nuestra aplicación). Además, también hemos organizado las frecuencias de esta actualización en las preferencias generales. Actualizamos estas propiedades al actualizar aplicaciones y cerrar la sesión del cliente desde la aplicación.

Compruebe si hay actualizaciones, estén disponibles o no

Antes de realizar una actividad de actualización, debe buscar actualizaciones para ver si hay una actualización disponible o no. Esto se debe a que si la actualización no está disponible, solicitaremos al cliente que actualice la aplicación, lo que tendrá un impacto severo en el cliente. Por lo tanto, primero debemos verificar si la actualización es accesible o no. Puede usar para buscar actualizaciones AppUpdateManager. El código se demuestra de la siguiente manera.

appUpdateManager.startUpdateFlowForResult (

// Pasar la intención devuelta por el método ‘getAppUpdateInfo ()’.

appUpdateInfo,

// O ‘AppUpdateType.FLEXIBLE’ para actualizaciones flexibles. AppUpdateType.IMMEDIATE,

// Actividad actual realizando la solicitud de actualización.

esta,

// Incluya el código de solicitud para un seguimiento posterior de esta solicitud de actualización. MY_REQUEST_CODE)

Si la actualización es accesible y habilitada, en el momento de la devuelta AppUpdateInfo, puede comenzar a actualizar la aplicación.

ejecutar / solicitar actualización

Cuando observa si una actualización está habilitada o no en un momento en que el acceso está disponible o no, y cuando hay una actualización disponible, en un momento en el que puede acceder a una actualización y una actualización está habilitada, puede comience a restaurar la aplicación usando AppUpdateManager.startUpdateFlowForResult (). Use el código debajo de él:

// Crea una instancia de administrador.

val appUpdateManager = AppUpdateManagerFactory.create (contexto)

// Devuelve el objeto de intención que usará para buscar actualizaciones.

val appUpdateInfoTask = appUpdateManager.appUpdateInfo

// Comprueba si la plataforma permite el tipo de actualización especificado. appUpdateInfoTask.addOnSuccessListener {appUpdateInfo -> Si (appUpdateInfo.updateAvailability () == UpdateAvailability.UPDATE_AVAILABLE

// Utilice AppUpdateType.FLEXIBLE para una actualización flexible && appUpdateInfo.isUpdateTypeAllowed (AppUpdateType.IMMEDIATE))

{ // Solicita una actualización. }}

No debe usar esto para cada actualización que tenga en su aplicación. Tener de forma permanente una cierta inclinación. La solicitud de actualización debe realizarse solo una vez, a menos que la actualización haya desaparecido. Si la actualización falló en este momento (para cualquier explicación), puede solicitar la actualización nuevamente.

Al actualizar, puede lidiar con las decepciones o descargas relacionadas con la actualización utilizando onActivityResult () como sigue:

entretenimiento onActivityResult (requestCode: Int, resultCode: Int, data: Intent) {

Si (requestCode == MY_REQUEST_CODE) {

Si (requestCode! = RESULT_OK) {

log («Error de actualización de flujo! Código de resultado:» + resultCode)

// Si la actualización se cancela o falla, // puede solicitar reiniciar la actualización.

}}}

Aquí tenemos MY_REQUEST_CODE desde appUpdateManager. La siguiente es una lista de aplicaciones que recibe en onActivityResult:

  • RESULT_OK: Lo obtiene si el cliente ha aceptado la solicitud de actualización.
  • RESULTADO_CANCELADO: El cliente abandonó o rechazó la actualización.
  • RESULT_IN_APP_UPDATE_FAILED: Ocurrió un error durante la actualización. Puede ser un error del cliente u otro error.

Cómo manejar las actualizaciones adaptativas

Las actualizaciones adaptables en la aplicación deberían ser posibles usando AppUpdateType. FLEXIBLE cuando comience la actualización.

En la actualización rápida, Google Play reinicia la aplicación después de que la actualización surta efecto. Sea como fuere, en una actualización adaptativa, el cliente puede usar la aplicación y reiniciar la aplicación debido al uso de la aplicación. Google Play no reiniciará la aplicación por ti. Por lo tanto, para que la aplicación se reinicie, se recomienda darle al cliente alguna advertencia o listo para reiniciar la aplicación.

Por ejemplo, puede crear un snack bar por un motivo similar, utilizando el siguiente código:

reescribe la diversión onStateUpdate(estado: InstallState) {

Si (state.installStatus () == InstallStatus.DOWNLOADED) {

// Se mostrará una notificación después de que se descargue la actualización

// y solicita la confirmación del usuario para reiniciar la aplicación. popupSnackbarForCompleteUpdate ()

}…}

/ * Muestra una alerta de snack bar y una llamada a la acción. * /

entretenimiento popupSnackbarForCompleteUpdate() {

Snackbar.make (

findViewById (R.id.activity_main_layout),

«La actualización se acaba de descargar»,

Snackbar.LENGTH_INDEFINITE

) .applicate {

setAction («RESTART») {appUpdateManager.completeUpdate ()} setActionTextColor (resources.getColor (R.color.snackbar_action_text_color)) show ()

}}

Durante la actualización adaptativa, la sustancia se descargará a la base, lo que permitirá al cliente ver la aplicación. Una vez que el cliente reconoce la actualización adaptable, Google Play comenzará a descargarla fuera de la vista.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *