Приглашения пользователей Android
Обзор
Реализуйте и атрибутируйте ссылки для приглашения пользователей, когда имеющиеся пользователи рекомендовали ваше приложение другим людям.
Для ознакомления см. статью Приглашение пользователей.
Хотите увидеть полный пример? См. инструкцию:
Реализация приглашений пользователей
Прежде чем начать: свяжитесь с маркетологом и узнайте у него точные сценарии использования ссылок, а также получите список параметров, которые они хотят реализовать.
Чтобы реализовать атрибуцию приглашений пользователей, выполните следующие шаги:
- Настройте генерацию ссылок-приглашений для создания ссылок для приглашений пользователей.
- Необязательно Зарегистрируйте создание ссылок-приглашений.
- Настройте унифицированный диплинкинг (UDL).
- Необязательно Извлеките данные реферера из ссылок-приглашений пользователей.
- Необязательно Настройте вознаграждение реферера.
Следующий код основан на примере маркетолога.
Set up invite link generation
Чтобы пользователи могли приглашать своих друзей в ваше приложение, вам нужен способ создания ссылок-приглашений. Это делается с помощью LinkGenerator
.
Чтобы настроить создание ссылок-приглашений:
-
Обязательно импортируйте следующие зависимости:
import com.appsflyer.AppsFlyerLib; import com.appsflyer.CreateOneLinkHttpTask; import com.appsflyer.share.LinkGenerator; import com.appsflyer.share.ShareInviteHelper;
-
Задайте шаблон OneLink с помощью
setAppInviteOneLink()
(Идентификатор шаблона предоставляется маркетологом):AppsFlyerLib.getInstance().setAppInviteOneLink("H5hv"); // set the OneLink template ID the user invite links will be based on
Примечание
- Обязательно вызовите
setAppInviteOneLink()
до вызоваstart
. - Шаблон OneLink должен быть связан с приложением.
- Обязательно вызовите
-
Создайте тег
LinkGenerator
usingShareInviteHelper.generateInviteUrl()
.LinkGenerator linkGenerator = ShareInviteHelper.generateInviteUrl(getApplicationContext());
-
В зависимости от желаемой схемы приглашения пользователей добавьте следующие параметры с помощью
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 или ниже, вам необходимо закодировать значения параметров специальными символами.
-
Настройте параметры атрибуции. (Они будут отображаться на дэшбордах AppsFlyer и в отчетах по сырым данным).
linkGenerator.setCampaign("summer_sale"); linkGenerator.setChannel("mobile_share");
-
Необязательно Задайте фирменный домен для генерируемой ссылки:
linkGenerator.setBrandDomain("brand.domain.com");
-
Создайте тег
LinkGenerator.ResponseListener
для получения ссылки для приглашения пользователей, когда она будет доступна: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
replacedCreateOneLinkHttpTask.ResponseListener
onResponse()
вызывается при успешном создании приглашения пользователя.onResponseError()
вызывается, когда создание ссылки не удалось.
- pass
listener
tolinkGenerator.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
Необязательно
Чтобы зарегистрировать событие создания ссылки-приглашения:
Зарегистрируйте приглашение с помощью 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
приводит к внутреннему событию приложения af_invite
.
Примечание
Если вы не хотите использовать канал, вместо него можно использовать
logEvent
.
Set up UDL for user invite attribution
Необязательно
Чтобы настроить UDL для атрибуции приглашений пользователей:
Настройте унифицированный диплинкинг (UDL). In DeepLinkListener.onDeepLinking()
извлеките параметры диплинка, созданные на этапе генерации ссылки. В этом примере извлекаются следующие свойства:
deep_link_value
, с использованиемDeepLink.getDeepLinkValue()
deep_link_sub1
, с использованиемDeepLink.getStringValue()
deep_link_sub2
, с использованиемDeepLink.getStringValue()
См. код: Java.
Вознаграждение рефереров
Необязательно
В следующих сценариях пользователь A приглашает пользователя B в ваше приложение.
Reward referrers on install
Сценарий: пользователь Б устанавливает ваше приложение по ссылке-приглашению от пользователя А.
Идентификатор пользователя A доступен в DeepLinkListener.onDeepLinking()
и в нашем примере извлекается с помощью DeepLink.getStringValue("deep_link_sub2")
. Получив идентификатор, добавьте его в список идентификаторов пользователей, которые будут вознаграждены. Вы сами решаете, как хранить и извлекать такой список.
Reward referrers for user actions
Сценарий: Пользователь В совершает покупку. Вы хотите вознаградить пользователя А, который пригласил пользователя В, за это действие.
Чтобы вознаградить пользователя A за действие пользователя B:
-
Получите идентификатор реферера для пользователя А и добавьте его в один из настраиваемых параметров внутреннего события (например,
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 не может выполнить мобильный разработчик. Шаг 4 зависит от того, как реализованы шаги 2-3.
- Событие покупки — это просто пример. Это применимо к любому типу внутренних событий приложения.
Изменения сохранены 3 месяца назад