Androidユーザー招待

概要

既存ユーザーが他のユーザーにアプリを紹介するための、ユーザー招待リンクを実装し、計測しましょう。
まずは、ユーザー招待の概要をご覧ください。

例を見てみましょう。レシピをご確認ください:

ユーザー招待の実装

はじめる前に:マーケティング担当者と連携し、マーケティング担当者側でリンクに必要な正確な導線・挙動を確認し、実装が必要なパラメータのリストを入手します。

ユーザー招待を実装するには、次の手順を完了してください:

  1. 招待リンクを生成するための招待リンク生成の設定をします。
  2. オプション 招待リンク生成のログを取得します。
  3. Unified Deep Linking (UDL) を実装します。
  4. オプション ユーザー招待リンクからリファラーデータを取得します。
  5. オプション 招待インセンティブをセットアップします。

次のコードは、マーケティング担当者の例に基づいています。

Set up invite link generation

To enable users to invite their friends to your app, you need a way to generate user invite links. This is done using LinkGenerator.
To set up user invite link generation:

  1. 次の依存関係をインポートしてください:

    import com.appsflyer.AppsFlyerLib;
    import com.appsflyer.CreateOneLinkHttpTask;
    import com.appsflyer.share.LinkGenerator;
    import com.appsflyer.share.ShareInviteHelper;
    
  2. Set a OneLink template using setAppInviteOneLink() (The template ID is provided by the marketer):

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

    📘

    注意

    • Make sure to call setAppInviteOneLink() before calling start.
    • OneLinkテンプレートは対象のアプリに紐づいている必要があります。
  3. サイトの LinkGenerator using ShareInviteHelper.generateInviteUrl().

    LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
    
  4. Depending on the user flow you want to achieve, add the following parameters using 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:紹介されたユーザーをアプリ内の特定画面へディープリンクする
    • deep_link_sub1:招待されたユーザーが受け取ったプロモコード
    • deep_link_sub2: リファラの識別子。リファラに報酬を与えるために使用することができます。
    • 注意: SDK V6.5.2以前のバージョン使用している場合は、パラメーター値を特殊文字でエンコードする必要があります。
  5. アトリビューションパラメーターを設定します(これらは、AppsFlyerのダッシュボードやローデータレポートに表示されます)。

    linkGenerator.setCampaign("summer_sale");
    linkGenerator.setChannel("mobile_share");
    
  6. オプション 生成されたリンクにブランドドメインを設定してください。

    linkGenerator.setBrandDomain("brand.domain.com");
    
  7. サイトの LinkGenerator.ResponseListener to retrieve the user invite link when it's available:

    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");
                }
             
    };
    

    📘

    注意

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

  • onResponse() は、ユーザー招待が正常に作成された際に呼び出されます。
  • onResponseError() は、リンク生成に失敗したときに呼び出されます。
  1. 有効 listener to linkGenerator.generateLink():
    linkGenerator.generateLink(getApplicationContext(), listener);
    

Set the shortlink ID

オプション
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

オプション
To log the invite link creation event:
Log the invite using logInvite():

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 results in an af_invite in-app event.

📘

注意

If you don't want to use a channel, you can use logEvent instead.

Set up UDL for user invite attribution

オプション
ユーザー招待のアトリビューションにUDLを設定する:
Unified Deep Linking (UDL) を実装します。In (=対象とする) DeepLinkListener.onDeepLinking(), retrieve the deep linking parameters created during the link generation step. In this example, the following properties are retrieved:

  • deep_link_value - 使用するファンクション: DeepLink.getDeepLinkValue()
  • deep_link_sub1 - 使用するファンクション: DeepLink.getStringValue()
  • deep_link_sub2 - 使用するファンクション: DeepLink.getStringValue()

参照コード: Java

招待したユーザーへ報酬を付与する

オプション
以下のシナリオでは、 ユーザーAユーザーB をアプリに招待しています。

Reward referrers on install

シナリオ: ユーザーBが、ユーザーAの招待リンクを経由して、アプリをインストールします。

User A's ID is available in DeepLinkListener.onDeepLinking() and in this example, is retrieved using DeepLink.getStringValue("deep_link_sub2"). Once you retrieve the ID, add it to the list of referrer IDs to be rewarded. It's up to you how to store and retrieve the list.

Reward referrers for user actions

シナリオ:ユーザーBが購入を行います。最初にユーザーBをアプリに紹介したユーザーAに、このアクションに対して報酬を与える必要があります。

ユーザーBの行動に対して、ユーザーAにインセンティブを付与する:

  1. Retrieve User A's referrer ID and add it to one of the customizable in-app event parameters (for example, 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. バックエンドでアプリ内イベントデータを取得してください。

  3. 見つかったリファラーIDを報酬を受ける対象のユーザーリストに追加してください。

  4. ユーザーAがアプリを起動した際に、リファラIDが報酬を受けるユーザーリストにあるかどうかを確認し、該当する場合に報酬を与えてください。

📘

注意

  • ステップ2-3はモバイルデベロッパーが実行するステップではありません。ステップ4は、ステップ2-3の実装方法によって内容が異なります。
  • 購入イベントは一例にすぎません。これは、あらゆる種類のアプリ内イベントに適用されます。