Invitation utilisateur Android

Implémenter les invitations d'utilisateur

Avant de démarrer : mettez-vous d'accord avec le responsable marketing pour définir à quoi serviront précisément les liens, et obtenir la liste des paramètres qu'il souhaite implémenter.

Pour implémenter l'attribution des invitations d'utilisateur, procédez comme suit :

  1. Configurez la génération de liens pour les liens d'invitation.
  2. OPTIONNELLE Enregistrez la création du lien d'invitation.
  3. Configurez le deeplinking unifié (DLU).
  4. OPTIONNELLE Récupérez les données de référence des liens d'invitation utilisateur.
  5. Facultatif Configurez les récompenses pour le référent.

Le code suivant est basé sur l'exemple du partenaire marketing.

Set up invite link generation

Pour permettre aux utilisateurs d'inviter leurs amis à utiliser votre application, vous devez pouvoir générer des liens d'invitation pour les utilisateurs. Pour ce faire, vous devez utiliser LinkGenerator. Pour configurer la génération des liens d'invitation utilisateur :

  1. Veillez à bien importer les dépendances suivantes :

    import com.appsflyer.AppsFlyerLib;
    import com.appsflyer.CreateOneLinkHttpTask;
    import com.appsflyer.share.LinkGenerator;
    import com.appsflyer.share.ShareInviteHelper;
    
  2. Configurez un template OneLink en utilisant setAppInviteOneLink() (l'ID du template est fourni par le marketeur) :

    AppsFlyerLib.getInstance().setAppInviteOneLink("H5hv"); // set the OneLink template ID the user invite links will be based on
    

    📘

    Remarque

    • Veillez à appeler setAppInviteOneLink() avant d'appeler start.
    • Le template OneLink doit être relié à l'application.
  3. Créez une LinkGenerator using ShareInviteHelper.generateInviteUrl().

    LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
    
  4. En fonction du flux d'utilisateurs que vous souhaitez atteindre, ajoutez les paramètres suivants via linkGenerator.addParameter():

    linkGenerator.addParameter("deep_link_value", <TARGET_VIEW>);
    linkGenerator.addParameter("deep_link_sub1", <PROMO_CODE>);
    linkGenerator.addParameter("deep_link_sub2", <REFERRER_ID>);
    // Optional; makes the referrer ID available in the installs raw-data report
    linkGenerator.addParameter("af_sub1", <REFERRER_ID>);
    
    • deep_link_value: l'utilisation de l'app vers laquelle l'utilisateur référé sera deep linké.
    • deep_link_sub1: le code promo reçu par l'invité.
    • deep_link_sub2: identifiant du référent. Peut être utilisé pour récompenser le référent.
    • Remarque : si vous utilisez le SDK V6.5.2 ou une version antérieure, vous devez encoder toutes les valeurs de paramètres avec des caractères spéciaux.
  5. Définissez les paramètres d'attribution. (Ils s'afficheront dans les tableaux de bord AppsFlyer et les rapports de données brutes).

    linkGenerator.setCampaign("summer_sale");
    linkGenerator.setChannel("mobile_share");
    
  6. Facultatif Définissez un domaine de marque pour le lien qui vient d'être généré :

    linkGenerator.setBrandDomain("brand.domain.com");
    
  7. Créez une LinkGenerator.ResponseListener pour récupérer le lien d'invitation utilisateur lorsqu'il est disponible :

    LinkGenerator.ResponseListener listener = new LinkGenerator.ResponseListener() {
                @Override
                public void onResponse(String s) {
                    Log.d(LOG_TAG, "Share invite link: " + s);
                    // ...
                }
    
                @Override
                public void onResponseError(String s) {
                    Log.d(LOG_TAG, "onResponseError called");
                }
             
    };
    

    📘

    Remarque

    Since SDK v6.9.0 LinkGenerator.ResponseListener replaced CreateOneLinkHttpTask.ResponseListener

  • onResponse() est appelé lorsque l'invitation d'utilisateur a bien été créée.
  • onResponseError() est appelé lorsque la génération du lien a échoué.
  1. pass listener to linkGenerator.generateLink():
    linkGenerator.generateLink(getApplicationContext(), listener);
    

Set the shortlink ID

OPTIONNELLE
The shortlink ID can be determined by the developer, by adding the paramter af_custom_shortlink to the LinkGenerator instance.

linkGenerator.addParameter("af_custom_shortlink", <value>);

Log invite link creation events

OPTIONNELLE
Pour consigner l'événement de création du lien d'invitation :
consignez l'invitation aveclogInvite():

HashMap<String,String> logInviteMap = new HashMap<String,String>();
logInviteMap.put("referrerId", <REFERRER_ID>);
logInviteMap.put("campaign", "summer_sale");

ShareInviteHelper.logInvite(getApplicationContext(), "mobile_share", logInviteMap);

logInvite donne comme résultat un événement in-app af_invite .

📘

Remarque

Si vous ne voulez pas utiliser de canal, vous pouvez utiliser logEvent à la place.

Set up UDL for user invite attribution

OPTIONNELLE
Pour configurer le DLU pour l'attribution des invitations utilisateur :
Configurer le deep linking unifié (DLU). Dans DeepLinkListener.onDeepLinking(), récupérez les paramètres de deep linking créés lors de la génération des liens. Dans cet exemple, les propriétés suivantes sont récupérées :

  • deep_link_valueen utilisant DeepLink.getDeepLinkValue()
  • deep_link_sub1en utilisant DeepLink.getStringValue()
  • deep_link_sub2en utilisant DeepLink.getStringValue()

Voir le code : Java.

Récompenses pour les référents

OPTIONNELLEDans les exemples suivants, l'utilisateur A invite l'utilisateur B à rejoindre votre app.

Reward referrers on install

Exemple : l'utilisateur B installe votre application via le lien d'invitation de l'utilisateur A.

L'ID de l'utilisateur A est disponible dans DeepLinkListener.onDeepLinking() et dans cet exemple, il est récupéré en passant par DeepLink.getStringValue("deep_link_sub2")Une fois que vous avez récupéré l'identifiant, ajoutez-le à la liste des ID de référent à récompenser. C'est vous qui décidez comment cette liste est stockée et comment la récupérer.

Reward referrers for user actions

Exemple : l'utilisateur B effectue un achat. Vous souhaitez récompenser l'utilisateur A pour cette action, car il a recommandé votre app à l'utilisateur B.

Récompenser l'utilisateur A pour l'action de l'utilisateur B :

  1. Récupérez l'ID de référent de l'utilisateur A et ajoutez-le à l'un des paramètres d'événement in-app personnalisables (exemple : af_param_1).

     Map<String, Object> purchaseEventParameters = new HashMap<String, Object>();
     purchaseEventParameters.put(AFInAppEventParameterName.PARAM_1, <REFERRER_ID>);
     purchaseEventParameters.put(AFInAppEventParameterName.CURRENCY, "USD");
     purchaseEventParameters.put(AFInAppEventParameterName.REVENUE, 200);
     
     AppsFlyerLib.getInstance().logEvent(getApplicationContext(), purchaseEventParameters);
    
  2. Dans votre backend, récupérez les données des événements d'app

  3. Ajoutez les ID de référent qui ont été trouvés à la liste des utilisateurs à récompenser.

  4. Lorsque l'utilisateur A lance l'app, vérifiez si son ID de référent figure dans la liste des utilisateurs à récompenser, et récompensez-le si c'est le cas.

📘

Remarque

  • Les étapes 2 à 3 ne sont pas menées par le développeur mobile. L'étape 4 dépend de la manière dont les étapes 2 et 3 sont implémentées.
  • Un événement d'achat n'est qu'un exemple. La même chose s'applique à tout type d'événement in-app.