Existe-t-il une option disponible dans la console Playstore pour configurer cette valeur?
Voici le doc officiel. code:
// Creates instance of the manager.
AppUpdateManager appUpdateManager = AppUpdateManagerFactory.create(context);
// Returns an intent object that you use to check for an update.
Task<AppUpdateInfo> appUpdateInfoTask = appUpdateManager.getAppUpdateInfo();
// Checks that the platform will allow the specified type of update.
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
// For a flexible update, use AppUpdateType.FLEXIBLE
&& appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)) {
// Request the update.
}
});
Comment savons-nous:
appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)
Où configurer le type ci-dessus? Aucune description pertinente n'est disponible sur le document officiel.
Dans AppUpdateInfo.class:
public final boolean isUpdateTypeAllowed(int var1) {
if (var1 == 0) {
return this.f != null;
} else if (var1 == 1) {
return this.e != null;
} else {
return false;
}
}
Où f
et e
sont les PendingIntent
et la méthode renvoie true
ou false
en fonction de leur valeur.
Quelle est l'utilisation de appUpdateInfo.isUpdateTypeAllowed (AppUpdateType.IMMEDIATE)?
C'est une question très commune.
Beaucoup (moi y compris) ont interprété cela comme une valeur qui pouvait être définie dynamiquement quelque part, par exemple dans la console Google Play.
Cependant, cela ne semble pas être le cas. Il s'agit d'une vérification locale qui détermine si les conditions sur le périphérique sont remplies pour afficher la boîte de dialogue.
Si vous souhaitez configurer dynamiquement l'affichage des mises à jour immédiates ou flexibles, vous devrez le fournir vous-même, par ex. de votre backend.
Pour plus d'informations: https://medium.com/@jplipata/undocumented-Android-in-app-updates-a95efb9b7bd8?source=friends_link&sk=e8085150daa555ea80d07e8419b5341e
appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.IMMEDIATE)
appUpdateInfo.isUpdateTypeAllowed(AppUpdateType.FLEXIBLE)
J'ai essayé plusieurs fois de baisser le versionCode
par rapport à l'application en direct sur Play Store.
Peut-être que dans la prochaine mise à jour, Google expliquera le isUpdateTypeAllowed
car pour le moment c'est un seul appel ambigu.
Il appartient au développeur de choisir le type de mise à jour à invoquer.
Le mode est déterminé par l'application dans le code.
Veuillez consulter pour plus de référence https://developer.Android.com/guide/app-bundle/in-app-updates#start_update
Le type de mise à jour (IMMÉDIATE ou FLEXIBLE) est défini dans l'application, pas dans la console de jeu.
Seul un contrôle de disponibilité de la mise à jour de l'application est nécessaire en premier lieu:
appUpdateInfoTask.addOnSuccessListener(appUpdateInfo -> {
if (appUpdateInfo.updateAvailability() == UpdateAvailability.UPDATE_AVAILABLE
Si cette vérification réussit, vous devez démarrer le flux de mise à jour par vous-même
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.IMMEDIATE,
ou
appUpdateManager.startUpdateFlowForResult(appUpdateInfo, AppUpdateType.FLEXIBLE,
concernant ce type, la mise à jour sera installée en arrière-plan ou dans une vue de blocage par une superposition Play Store.
Lorsqu'une mise à jour flexible de l'application est déclenchée et que l'utilisateur quitte l'application, vous devez vérifier au prochain lancement si une mise à jour flexible s'exécute en arrière-plan ou est terminée.
https://developer.Android.com/guide/app-bundle/in-app-updates