Nous avons une application mobile disponible à la fois sur Google Play Store et sur Apple AppStore. Nous souhaitons mettre en place un programme de référence pour que davantage d'utilisateurs installent et utilisent notre application.
Voici la user story:
Nous avons évalué un certain nombre d’outils de suivi d’installation d’applications mobiles. La plupart de ces outils sont les mieux adaptés à la publication par les éditeurs et les publicités mobiles.
Appréciez vos commentaires, suggestions
À la vôtre James
Nous faisons un type similaire de système de référence dans notre application qui fournit un certain nombre de points de récompense au parrain (celui qui partage réellement le lien vers l'application) lors de l'installation réussie de l'application par le nouvel utilisateur (celui qui a reçu le lien).
Je vais essayer d’expliquer notre implémentation en utilisant votre scénario: Donc, selon votre histoire d’utilisateur:
Chaque nouvel utilisateur (E.g John) reçoit un lien de parrainage unique, qu'il peut partager avec ses amis via FB/TW/Email ou SMS.
Lorsque l’ami de John clique sur le lien, il est tout d’abord redirigé vers un Servlet qui le redirige ensuite vers l’AppStore correspondant en fonction de sa plate-forme (Android/iPhone) pour télécharger l’application.
Notez que nous pouvons trouver l'adresse IP, l'agent utilisateur et le modèle de périphérique de l'utilisateur qui a cliqué sur le lien à l'aide d'un Servlet.
Nous savons déjà que le lien de parrainage appartient à John et par conséquent le servlet mappe l'adresse IP, l'agent utilisateur et/ou le modèle de périphérique de l'ami de John à l'entrée de John dans la base de données.
Dès que l'ami de John installe l'application et l'ouvre, l'application envoie l'adresse IP, l'agent utilisateur et/ou le modèle d'appareil au serveur.
Le serveur vérifie l'entrée avec tous les utilisateurs pour trouver le référent et s'il le trouve, dans notre cas, John, John est récompensé en conséquence.
C'est tout. Nous avons implémenté cela le mois dernier et cela a augmenté notre nombre de téléchargements .. Faites-moi savoir si c'est utile.
Android
Sur Android, vous pouvez créer un écouteur de diffusion d'installation, où vous pouvez obtenir et enregistrer la partie référent du lien vers SharedPreferences.
https://play.google.com/store/apps/details?id=com.example.app
&referrer=example_referral_code_here
Pour cette vérification
Android - Est-il possible d’obtenir l’installation par référent par programme
et
Obtenir un référent après avoir installé l'application d'Android Market
iOS
Pour l'instant (janvier 2016), il n'est pas possible d'obtenir le code de référent d'installation dans votre application, comme avec Android.
Les options que j'avais pour iOS étaient:
Si quelqu'un cherche toujours une solution à cette question. J'ai lu beaucoup de blogs et de documents sur le même problème et suis arrivé à la conclusion suivante:
Adresse IP + Agent utilisateur + Modèle de périphérique n'est pas suffisant pour identifier un périphérique de manière unique. Donc, je pense qu'il sera préférable d'utiliser des liens dynamiques. Vous pouvez créer des liens dynamiques contenant un identifiant unique. Et ces données survivront à la redirection d'URL vers App Store et, même après l'installation, votre application peut obtenir l'identifiant unique de link dynamique. La base de données de Google peut être utilisée pour créer des liens dynamiques:
Ou si vous souhaitez utiliser une solution prête à l'emploi, vous pouvez vous référer à branch.io
Gradle File
implementation 'com.Android.installreferrer:installreferrer:1.0'
PUT CODE IN ACTIVITY WHERE IT NEED TO RECIEVE REFFERAL CODE
InstallReferrerClient mReferrerClient;
mReferrerClient = InstallReferrerClient.newBuilder(this).build();
mReferrerClient.startConnection(new InstallReferrerStateListener() {
@Override
public void onInstallReferrerSetupFinished(int responseCode) {
switch (responseCode) {
case InstallReferrerClient.InstallReferrerResponse.OK:
// Connection established
try {
ReferrerDetails response =
mReferrerClient.getInstallReferrer();
if (!response.getInstallReferrer().contains("utm_source"))
edtPRferelCode.setText("" +
response.getInstallReferrer());
} catch (Exception e) {
e.printStackTrace();
}
mReferrerClient.endConnection();
break;
case
InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:
// API not available on the current Play Store app
break;
case
InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:
// Connection could not be established
break;
}
}
@Override
public void onInstallReferrerServiceDisconnected() {
// Try to restart the connection on the next request to
// Google Play by calling the startConnection() method.
}
});
SHARE LINK EXAMPLE
https://play.google.com/store/apps/details?id=com.yourpackage&referrer=9BE46300