web-dev-qa-db-fra.com

Comment mettre en œuvre un programme de référence dans les applications mobiles pour Android et iPhone

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:

  • Chaque nouvel utilisateur (E.g John) se voit attribuer un lien de parrainage unique, lui permettant de partager des informations sur FB/TW/Email ou SMS.
  • Lorsque John Friend clique sur le lien, il est dirigé vers la base respective de l'AppStore de son appareil.
  • Dès que l'ami de John installera l'application et l'ouvrir, notre serveur devrait en être averti et nous saurons que le parrainage provient de John. John sera récompensé en conséquence.

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

48
James Khoo

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.

65
Puru Pawar

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:

  1. framework utilisateur/services tiers comme alau.me
  2. une solution de rechange avec les empreintes digitales, semblable à celle suggérée par Puru Pawar
  3. il suffit de faire en sorte que l'utilisateur entre le code de parrainage dans votre application
5
lxknvlk

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:

https://firebase.google.com/docs/dynamic-links/

Ou si vous souhaitez utiliser une solution prête à l'emploi, vous pouvez vous référer à branch.io

3
Chandan Kumar
 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
0
Teraiya Mayur