Le bouche à oreille est l’un des outils de marketing les plus efficaces. La preuve sociale est un stimulant très puissant pour la prise de décision. Alors que les gens ignorent facilement la publicité traditionnelle, peu de gens tendent à ignorer les conseils d'une source fiable, telle qu'un ami.
En 2011, Google et Ipsos OTX ont mené une enquête qui a révélé des résultats intéressants. Si les recommandations sont complétées par des coupons de réduction que les destinataires peuvent utiliser, la probabilité qu'ils téléchargent l'application ou recommencent à l'utiliser est beaucoup plus grande. C’est quelque chose que les développeurs et les éditeurs d’applications voudront peut-être garder à l’esprit.
La vérité est que très peu d'éditeurs et de développeurs d'applications mobiles utilisent un système de référencement basé sur des recommandations. La raison est presque toujours technique. Le suivi des codes de réduction, la mise en place de liens profonds dans les applications et la configuration d'un back-end sont quelques-uns des obstacles que les développeurs doivent surmonter pour réussir ce travail. En conséquence, la plupart des gens ne s'embêtent pas et n'abandonnent pas.
Heureusement, Google a développé un système qui surmonte ces obstacles, App invite. Avec App Invites, Google offre une interface puissante grâce à laquelle les développeurs peuvent augmenter l'audience de leur application mobile en laissant les utilisateurs existants inviter leurs contacts à essayer l'application..
App Invites est inclus dans les services Google Play et est également disponible sur iOS. Il optimise les taux d'installation de vos applications en réduisant les frictions et en fournissant un contexte, tel que les informations générales de l'application et son classement sur l'App Store, à chaque étape du flux d'invitations des utilisateurs..
Dans ce tutoriel, je vais vous montrer comment implémenter ce puissant outil dans votre propre application Android..
Je vais utiliser un projet très simple pour vous montrer comment partager des invitations pour votre application. La première chose à faire est de créer un nouveau projet. Dans Android Studio, choisissez Fichier> Nouveau> Nouveau projet. Attribuez un nom à votre application et configurez le domaine Web de votre entreprise de manière à laisser Android Studio définir le nom du package de votre application..
La version minimale du SDK prise en charge par l'application peut être aussi basse qu'Android Gingerbread (API de niveau 9). Cela signifie que vous pouvez cibler presque tous les appareils sous Android, à 99,97% au moment de la rédaction. Toutefois, gardez à l'esprit que les invitations d'applications ne fonctionnent que sur les appareils qui incluent le Play Store de Google, car elles sont basées sur le plug-in de services Google Play..
Générer un blanc Activité
et nommez-le MainActivity.java.
Avec le nouveau projet ouvert dans Android Studio, ouvrez le Projet onglet à gauche et développez Gradle Scripts. Il contient deux fichiers portant le même nom, build.gradle. Le premier fichier est le build.gradle de niveau supérieur. Le deuxième fichier est le build.gradle au niveau de l'application.
Ouvrez le premier niveau build.gradle et ajoutez ce qui suit classpath
pour les services Google Play.
classpath 'com.google.gms: google-services: 1.5.0-beta2'
Ouvrez le niveau de l'application build.gradle et ajoutez-lui les dépendances de compilation suivantes.
compiler 'com.android.support:support-v4:23.1.1' compiler 'com.android.support:design:23.1.1' 'compiler' com.google.android.gms: play-services: 8.3.0 '
Pour activer le plug-in de services Google Play, ajoutez la ligne suivante ci-dessous appliquer le plugin: 'com.android.application'
.
appliquer le plugin: 'com.google.gms.google-services'
Android Studio vous demandera de synchroniser les fichiers du projet. Avant de faire, cependant, ouvrez AndroidManifest.xml et ajoutez la version des services Google Play dans le application
étiquette.
Enregistrez les modifications et cliquez sur Synchroniser maintenant. Nous n'avons pas encore fini. Android Studio génère une erreur qui vous indique que le plug-in de services Google Play nécessite un fichier de configuration., google-services.json. Réglons ça maintenant.
Vous devez absolument visiter le site Web des développeurs Google pour activer les services Google pour votre application. Le projet est ensuite ajouté à votre console de développeur personnelle, ce qui signifie que vous devez être authentifié en tant qu'utilisateur Google avant de continuer..
Entrez le nom que vous avez choisi pour votre application et spécifiez son nom de package. Si vous ne vous souvenez pas du nom du package de l'application, ouvrez le niveau de l'application. build.gradle. Vous pouvez le trouver sous defaultConfig> applicationId.
Remplissez le reste du formulaire et cliquez sur le bouton en bas intitulé Choisissez et configurez les services.
La partie suivante est un peu plus compliquée. Google vous demandera l'empreinte du certificat. Pour obtenir l'empreinte du certificat, vous devez ouvrir la ligne de commande et exécuter la commande suivante..
keytool -exportcert -list -v \ -alias-magasin de clés
Il y a deux scénarios possibles:
Si vous testez votre application localement, le nom de la clé est androiddebugekey
et son emplacement par défaut est % USERPROFILE% \. Android \ debug.keystore
sur Windows et ~ / .android / debug.keystore
sur les systèmes Unix, tels que OS X et Linux. Voici à quoi ressemble la commande pour tester localement.
keytool -exportcert -list -v \ -alias androiddebugkey -keystore ~ / .android / debug.keystore
le outil de clé utilitaire vous invitera à entrer un mot de passe. Le mot de passe par défaut du magasin de clés de débogage est Android. Cela donnera l'empreinte SHA1 de votre certificat de débogage, qui ressemble à ceci.
Empreinte digitale du certificat: SHA1: DA: 39: A3: EE: 5E: 6B: 4B: 0D: 32: 55: BF: EF: 95: 60: 1H: 90: AF: D8: 07: 09.
Cependant, si vous avez besoin de certificat de sortie empreinte digitale, vous devez alors spécifier le nom du certificat, son emplacement et son mot de passe.
Après avoir saisi l’empreinte du certificat, vous pouvez activer les invitations d’application en cliquant sur le bouton Activer les invitations d'applications bouton en bas. Vous devriez maintenant pouvoir télécharger le fichier de configuration en cliquant sur Télécharger google-services.json.
Pour terminer cette étape, copiez le fichier téléchargé sur le app / ou mobile/ répertoire de votre projet.
Avec le projet configuré, nous sommes prêts pour la prochaine étape. Pour le lanceur Activité
, définir une mise en page simple comme celle présentée ci-dessous. Il contient un bouton et une étiquette.
Le résultat devrait ressembler à ceci.
dans le onCreate
méthode le Activité principale
classe, ajouter un onCreateListener
au bouton.
button = findViewById (R.id.invite); button.setOnClickListener (nouvelle View.OnClickListener () @Override public void onClick (Voir v) // faire quelque chose, veux-tu?);
L’invitation sera envoyée en tant que Intention
. Vous pouvez spécifier un message que les utilisateurs peuvent personnaliser avant d'envoyer les invitations à leurs amis. Vous pouvez également définir un appel à l'action, une image d'arrière-plan et un lien profond que votre application peut gérer une fois l'invitation reçue. Vous pouvez même définir la version minimale du SDK (setAndroidMinimumVersionCode
) et un ID d’application cible pour d’autres plates-formes, telles que iOS (setOtherPlatformsTargetApplication
).
Créer le Intention
dans le corps de la sur clic
méthode.
Intention Intent = new AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setCallToActionText (INVITATION_CALL_TO_ACTION) .build (); startActivityForResult (intent, REQUEST_INVITE);
Ajoutez les chaînes suivantes pour que tout cela fonctionne.
private static final String INVITATION_TITLE = "Appelez vos amis", INVITATION_MESSAGE = "Hé! Souhaitez-vous bénéficier d'une réduction de 50% sur cette superbe application? :)", INVITATION_CALL_TO_ACTION = "Partager";
C'est tout ce qu'on peut en dire. Quand le Intention
est commencé, une coutume Activité
s'affiche qui permet à l'utilisateur de choisir le mode d'envoi de l'invitation (courrier électronique ou SMS), le message de l'invitation et les destinataires.
L'intention est démarrée en appelant startActivityForResult
. Il est possible de rechercher le résultat de l'intention. Une fois que l'utilisateur a appuyé sur le bouton d'envoi, il est ramené à l'activité qui a déclenché l'intention. A ce moment, vous pouvez faire tout ce qui est nécessaire pour onActivityResult
, comme masquer le bouton ou les invitations de suivi via des analyses.
@Override protected void onActivityResult (int requestCode, int resultCode, données d'intention) super.onActivityResult (requestCode, resultCode, data); if (requestCode == REQUEST_INVITE) if (resultCode == RESULT_OK) // Vous avez envoyé l'invitation avec succès, // nous pouvons ignorer le bouton. button.setVisibility (View.GONE); String [] ids = AppInviteInvitation.getInvitationIds (resultCode, data); StringBuilder sb = new StringBuilder (); sb.append ("Sent") .append (Integer.toString (ids.length)). append ("invitations:"); for (id chaîne): sb.append ("["). append (id) .append ("]"); Log.d (getString (R.string.app_name), sb.toString ()); else // L'envoi a échoué ou il a été annulé à l'aide du bouton retour showMessage ("Désolé, je n'ai pas pu envoyer les invitations");
Lorsqu'un utilisateur reçoit l'invitation et clique sur le lien inclus, le flux d'invitations se branche en fonction du fait que l'application est déjà installée ou non sur le smartphone du destinataire. Si l'application est déjà présente, elle recevra automatiquement un message Intention
contenant les données optionnelles de lien profond.
Toutefois, si l'application n'est pas installée sur le destinataire, le destinataire a la possibilité de le faire. Lorsque l'application est lancée pour la première fois, l'application reçoit un message Intention
contenant les données de lien profond. De cette façon, la remise que vous voudrez peut-être accorder sera toujours disponible pour le destinataire. Cela surmonte les problèmes dont nous avons parlé plus tôt.
Explorons les liens profonds plus en détail. Définir le lien profond de la Intention
nous avons créé dans le onCreate
méthode.
Intention Intention = new AppInviteInvitation.IntentBuilder (INVITATION_TITLE) .setMessage (INVITATION_MESSAGE) .setDeepLink (Uri.parse ("tutsplus: //code.coupon/50")) .setCallToActionText (INVITATION_CALL_TO_ACTION).
La première chose à faire pour gérer les liens profonds personnalisés est de dire à votre application comment ils sont créés et Activité
devrait prendre soin d'eux. Ajouter un nouveau Activité
à votre projet et nommez-le DétailsActivité.
Ouvrir AndroidManifest.xml et ajoutez l'extrait suivant au
étiquette.
Nous disons au système ce qui suit. S'il invoque l'action VUE sur une URL dont le schéma est tutsplus et dont l'hôte est code.coupon, votre application peut le gérer en utilisant le DétailsActivité
classe.
Afin de recevoir et d’analyser l’URL personnalisée, vous devez d’abord créer un fichier auto-géré. GoogleApiClient
avec accès aux invitations App. Nous faisons cela dans le onCreate
méthode du Activité principale
classe.
GoogleApiClient googleApiClient = new GoogleApiClient.Builder (this) .addApi (AppInvite.API) .enableAutoManage (this, nouvelle GoogleApiClient.OnConnectionFailedListener () (@ ), "onConnectionFailed:" + connectionResult); showMessage ("Désolé, la connexion a échoué.");) .build ();
Vérifier les invitations et lancer le lien profond Activité
, vous pouvez utiliser le GetInvitation
méthode, introduite dans les services Google Play 8.3. Ajoutez l'extrait de code suivant au onCreate
méthode du Activité principale
classe.
AppInvite.AppInviteApi.getInvitation (googleApiClient, this, true) .setResultCallback (nouveau ResultCallback() @Override public void onResult (résultat AppInviteInvitationResult) );
Paramétrer le dernier paramètre de la méthode sur vrai
indique au plug-in d'appeler automatiquement l'activité responsable de la gestion du lien profond, le DétailsActivité
classe dans notre exemple. C’est la raison pour laquelle le corps de la onResult
la méthode est vide.
Ouvrir activity_details.xml et ajouter deux Affichage
objets comme ci-dessous.
Ensuite, ouvrez DétailsActivité
et remplacer le onStart
méthode. Pour vérifier si le Intention
contient des données de liens profonds, vous devez compter sur le hasReferral
méthode. L'analyse des URL est très simple, comme vous pouvez le voir ci-dessous.
@Override protected void onStart () super.onStart (); Intention intention = getIntent (); if (AppInviteReferral.hasReferral (intent)) // Extrait les informations de la chaîne d'intention deepLink = AppInviteReferral.getDeepLink (intent); Log.d (getString (R.string.app_name), "Référence trouvée:" + AppInviteReferral.getInvitationId (intent) + ":" + deepLink); String [] array = deepLink.split ("/"); if (array.length> 0) TextView tv = (TextView) findViewById (R.id.discount); tv.setText (String.format (tv.getText (). toString (), array [array.length-1]));
Dans cet article, vous avez appris à implémenter les invitations aux appels de Google dans votre application à l'aide du plug-in de services Google Play. Cet outil vous permet d'augmenter l'audience de votre application en permettant aux utilisateurs d'envoyer des invitations à leurs contacts Google. Vous devriez maintenant être en mesure de développer un système de référence en tirant parti des invitations d'application, permettant ainsi aux utilisateurs de recommander votre application à leurs amis à l'aide d'invitations contextuelles personnalisées..