Contexte
Dans mon application, j'ai un bouton «évaluez-moi». Il suit le chemin habituel - l'utilisateur clique dessus, il démarre une intention et ouvre la liste de l'application sur le Play Store. Très bien. Maintenant, je souhaite essayer de distribuer mon application via différents magasins d'applications (Amazon par exemple), donc évidemment, si l'utilisateur clique sur le bouton `` Évaluez-moi '', je ne veux pas qu'il amène l'utilisateur au Google Play Store mais à n'importe quoi magasin où ils l'ont obtenu.
APK pour chaque magasin
C'est possible, c'est vrai, mais je pense que ce serait un cauchemar complet à gérer (comme créer un nouvel APK pour chaque magasin chaque fois que j'émets une nouvelle mise à jour.
Je cherche donc quelque chose comme ce pseudo code:
if(rate-me button pressed){
if (from Google Play Store){
Go to Google Play Store
}
else if (from Amazon Store){
Go to Amazon Store
}
}
Etc.......
Je suppose qu'il existe un moyen (que certaines applications doivent sûrement utiliser) mais je n'ai aucune idée de la façon de procéder.
la source
Réponses:
Je vais supposer que vous écrivez en Java comme vous écrivez pour Android, mais si vous ne l'êtes pas, vous pouvez rechercher des méthodes dans la langue de votre choix pour obtenir le même genre de résultat. Comme Java n'a pas de support intégré pour la compilation conditionnelle, il y a des choses assez simples que vous pouvez faire ici; Parfois, la solution low-tech est la meilleure.
Déployez une application différente compilée à partir de code différent pour chaque magasin d'applications. Ça peut être aussi simple. Ayez simplement une chaîne globale (ou non, encapsulez-la là où se trouve la logique appropriée) et affectez-lui simplement une valeur, compilez et déployez. C'est si facile.
Il peut s'agir d'une chaîne, d'une valeur énumérée ou d'un entier. Cela n'a pas vraiment d'importance - tant que chaque valeur est unique par app store. Je suggère une énumération rapide et fortement typée avec des options telles que "Amazon", "GooglePlay", "XXXX", "ZZZZ", "YYYY". Écrivez des scripts pour modifier cette valeur ou passez des drapeaux de compilation à l'aide d'outils tiers si vous souhaitez que cela soit automatisé.
Automatiser
Si vous souhaitez aller plus loin, analysez l'option en tant que fichier de ressources . Écrivez des scripts, un pour chaque déploiement. Avoir un fichier appelé "store.dat" et écrire la valeur du magasin dans lequel il est déployé lors du déploiement, si vous êtes sous Linux ou OSX, cela pourrait être aussi simple que
Créez un script pour exécuter tous ces scripts à l'étape de verrouillage et vous disposez d'une solution robuste et automatisée.
la source
essaye ça:
la source