Comment notifiy les utilisateurs d'une Application Android mise à jour?
J'ai construit une application android qui est maintenant sur le Jeu du Marché. De temps en temps, je fais des mises à jour, et je vais que pour faire les utilisateurs d'apprendre qu'une nouvelle version est disponible.
Comment puis-je envoyer une notification de mise à jour pour les utilisateurs de l'app?
- Aussi loin que je l'ai vu, ce qui se fait habituellement dans l'application, c'est à dire. lorsque l'application est lancée, il vérifie une nouvelle version de lui-même et affiche une notification à l'utilisateur de mettre à jour.
- Open source GitHub du projet (MAHAndroidUpdater)est complètement fournissant la fonctionnalité de mise à jour. Essayez, c'est Très simple. github.com/hummatli/MAHAndroidUpdater
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de faire quelque chose de spécifique pour cela. Puisque vous avez mentionné que vous êtes à l'aide de Google Play, la notification de mise à jour est pris en charge par Google Play.
Vous avez juste besoin de mettre à jour le APK avec une plus grande
versionCode
et Google Play devrait faire le reste.Il appartient à chaque propriétaire de téléphone si elle veut être informé sur les nouvelles versions de google play, et c'est à chacun de téléphone du fabricant si c'est activé par défaut.
Si vous êtes dans une situation où vous avez "besoin" de l'utilisateur pour mettre à jour vers la nouvelle version pour être compatible avec une certaine forme de protocole ou si vous avez une semblable semblable cas où vous disposez d'un composant de serveur quelque part, vous souhaiterez peut-être avertir l'utilisateur d'un éventuel conflit de version de l'INTERFACE utilisateur basée sur des informations sur ce qui est la version la plus récente.
Cette information peut être extraite directrly à partir de google play, cependant, comme @Yahel a souligné dans cette question google play est un système fermé qui n'officielle de l'API, et vous pourriez avoir besoin de s'appuyer sur imprévisibles sans-papiers de l'API. Il y a un officieux de l'API de la bibliothèque ici.
Il ne reste qu'une option, qui est de conserver ces informations sur votre propre serveur. Si vous déjà avez un serverside cela pourrait être facile. Suffit de mettre la dernière version dans un fichier XML et récupérer ce, à intervalles réguliers, à partir de votre code. Si le code de version est obsolète, déclencher la notification dans votre INTERFACE utilisateur. Voici un exemple de mise en œuvre pour le faire.
J'espère que cela a été utile 🙂
Vous pouvez le faire dans beaucoup de façons, en fonction de quand vous voulez que l'utilisateur soit en mesure de voir qu'il y a une mise à jour disponible.
Si vous souhaitez que l'utilisateur de savoir à propos de la mise à jour lorsque l'application est lancée, il suffit de créer une méthode utilitaire (à l'intérieur de la
onCreate
méthode de votre main/première Activité) qui vérifie si une version plus récente est disponible sur Google Play. Si elle le fait, afficher une boîte de dialogue d'alerte avec un message pertinent et une Intention qui ouvre votre application sur Google Play lorsque l'utilisateur clique sur le positif bouton de la boîte de dialogue d'alerte.Si vous êtes à la mise à jour de l'application régulièrement, l'utilisateur continue à recevoir de cette boîte de dialogue d'alerte à chaque fois que l'application est démarrée et par conséquent, peut s'énerver. Ainsi, ce n'est pas la meilleure approche.
Si vous souhaitez que l'utilisateur pour obtenir une notification sur le téléphone (et non pas lorsque l'utilisateur démarre l'application), vous pouvez utiliser le
AlarmManager
classe de planifier un service d'arrière-plan qui vérifie pour une mise à jour à intervalles réguliers. Si le service constate que la mise à niveau est en fait disponible, de publier une notification avec une intention qui ouvre votre application sur Google Play.Bien sûr, une autre approche est de laisser l'OS lui-même. Si l'utilisateur n'a pas défini la "mettre à jour Automatiquement" dans les préférences de votre application, l'utilisateur recevra une notification régulièrement sur une mise à jour disponible pour votre, ainsi que toutes les autres applications.
Mais pas tous les utilisateurs de permettre à des données de base sur leurs appareils, ce n'est donc pas totalement fiable.
En fin de compte, vous devez respecter les préférences des utilisateurs. Si l'utilisateur ne veut pas automatiquement la mise à jour de l'application, ou ne veulent pas voir une lancinante de la boîte de dialogue à chaque fois qu'il/elle commence à votre application, ne pas alerter l'utilisateur sur la mise à jour.
À mon avis, vous devez créer un
PreferenceActivity
qui a une préférence comme "Vérifier régulièrement les mises à jour", qui peut être défini à partir de votre application. Si elle est définie, de faire le nécessaire dans votre propre service. Peut-être même de donner à l'utilisateur la possibilité de sélectionner la période après laquelle le service vérifie si une mise à jour.J'espère que cela aide!
Utiliser ceci : https://www.push-link.com/
Google Play informera vos utilisateurs que l'application dispose d'une mise à jour via la barre de notification.
Si vous configurez un système de notification vous-même, le résultat probable serait que, même si l'utilisateur est informé d'une mise à jour plus tôt, quand il/elle va à Google Play pour installer la mise à jour, il ne sera pas encore disponible. C'est parce qu'il y a un décalage entre le moment où vous "publier" une application/mise à jour et le temps jusqu'à ce qu'il apparaît sur le Jeu. Dire à vos utilisateurs qu'il y a une mise à jour lors de la mise à jour n'est pas disponible ne ferait qu'engendrer de la confusion et de la frustration.
Mon conseil: le bâton avec Google notification de mise à jour du système et ne vous inquiétez pas au sujet d'essayer d'obtenir des utilisateurs une mise à jour 15 minutes plus tôt.
Certaines personnes utilisent Android Cloud to Device de Messagerie (C2DM) pour informer leurs utilisateurs des mises à jour. Je ne pense pas que je me donnerais la peine, car je pense que Google Play fait un assez bon travail de la notification de mises à jour déjà, et la mise en œuvre de C2DM ajoute une toute nouvelle dimension à l'écriture d'une application (car il nécessite un composant de serveur). Mais peut-être que vous voulez offrir à vos utilisateurs un plus riche notification de mise à jour que vous obtenez à partir de Google Play.
@Davek804 la réponse ci-dessus est faux. android:versionCode est une valeur entière qui représente la version du code de l'application, par rapport à d'autres versions, donc, à l'aide de "1,5 b" il est incorrect. Utiliser "15" (ou "150") au lieu
Trouvé une belle solution pour votre problème:
Disons que vous voulez vérifier pour la version manuellement les mises à jour sur l'application de début et de prévenir les utilisateurs de la nouvelle mise à Jour.
Étape 1: Télécharger android-market-api (pas la .fichier jar, le projet complet!)
Étape 2: Après l'importer dans eclipse, écris-le dans votre activité le code suivant:
maintenant, nous avons besoin de modifier MarketService.java car elle semble être rompu.
Étape 3: réécriture de la méthode de rappel et ajoutez les méthodes suivantes
Si vous voulez le tester, modifier googlePlayversion chaîne à une version plus récente de votre local.
La source de comparaison de la méthode que j'ai utilisé est de Comment comparer deux Chaînes de version de Java?
Il y a aussi une très bonne approche pour le contrôle de version et de donner à l'utilisateur dans la notification d'application ou lorsque vous souhaitez pour forcer la mise à jour de l'application si vous pouvez décider de la première connexion de votre application avec le serveur.Dans la réponse à la première demande, vous pouvez envoyer la version actuelle de l'application stockée sur le serveur et sur le client final, vous pouvez prendre les mesures appropriées.
Les avantages de cette approche:
1-Pas de requête supplémentaire pour la version sans.
2-Il est également applicable si le téléchargement de l'application autre que le google playstore.
3-vous pouvez également utiliser cette idée si vous voulez vérifier la version, en particulier sur le fonctionnement de votre application ex - transaction(si vous ajoutez une nouvelle passerelle de paiement.)
Ne sais pas si vous voulez marcher miles supplémentaires. Vous pouvez essayer google appengine, qui servent numéro de version de votre application et laissez-vous android app vérifier l'appengine pour voir si il y a une nouvelle version quand l'application est lancée. De cette façon, il n'a pas d'importance si votre application dans le google play store, ni amazon app store, ni si elle est installée sur le téléphone sans ces deux via sideloading. Il n'est pas très difficile à configurer appengine juste pour servir la version de votre application en json. Remplacer "Hello World" de la chaîne avec votre version de l'application nom de ...
Cela peut être la simple utilisation d'un webservice seulement c'est l'une des façon de le réaliser.
c'est à dire, quand jamais du lancement de l'application touché que le webservice avec la version actuelle de l'application utilisateur et sur le serveur, vous devez vérifier si une nouvelle version est disponible ou pas(Doit conserver la version la plus récente de l'application) et d'envoyer la réponse correspondant à l'utilisateur. Si une version plus récente est disponible invite l'utilisateur à télécharger la version la plus récente de l'application, et si aucune nouvelle version est disponible, puis permettre à l'utilisateur de continuer.
Espère au moins que quelque chose doit être utile pour vous.
Il y a deux modèles qui sont utilisés essentiellement pour s'attaquer à la question.
Sa dépend de l'architecture ou de conception de système particulier qui détermine si vous tirez ou poussez le mécanisme utilisé.
Pour la traction en fonction du modèle que vous venez de faire une requête http au serveur concerné au sujet de la nouvelle version de l'application. L'actuelle version de l'application ne peuvent être enregistrés dans SQLLite dans l'application android. Cela peut être donné au serveur et à la nouvelle version peut être vérifié par rapport au serveur.
Pour pousser le mécanisme vous pouvez utiliser C2DM service de notification push.. dont les détails sont donnés à http://code.google.com/android/c2dm/
Généralement lorsque vous téléchargez une nouvelle application de Google play la plupart des utilisateurs de recevoir une notification sur une mise à jour, certains auront l'app automatiquement téléchargé sur leur appareil, selon les paramètres qu'ils ont.
Si vous voulez sérieusement à faire une notification à partir de votre application pour leur demander de mettre à jour (alors que tout le monde reçoit la notification, quelles que soient leurs paramètres Google play, alors vous aurez à faire un service web qui retourne le numéro de la version la plus récente. Vous pouvez ensuite comparer qu'à l'intérieur de votre application et de publier une notification. Vous pouvez utiliser Google App Engine ( https://developers.google.com/appengine/) parce que cela fonctionne avec eclipse et java, vous avez probablement déjà.
Je ne recommanderais pas cette approche car elle crée beaucoup de travail pour vous afin de vous fournir quelque chose que la plupart des utilisateurs ont déjà eu.
je pense que c'est trop tard, mais il peut être en aider quelques un
}
l'utiliser sur
}
Lorsque vous re-télécharger votre application sur Google Play, si ces deux attributs ont été modifiés à partir de l'envoi précédent, Google Play va automatiquement envoyer des notifications aux utilisateurs qui ont installé votre application. C'est le fichier AndroidManifest.