Приглашение пользователя iOS
Обзор
Реализуйте и атрибутируйте ссылки для приглашения пользователей, когда имеющиеся пользователи рекомендовали ваше приложение другим людям.
Для ознакомления см. статью Приглашение пользователей.
Хотите увидеть полный пример? См. инструкцию:
Реализация приглашений пользователей
Прежде чем начать: свяжитесь с маркетологом и узнайте у него точные сценарии использования ссылок, а также получите список параметров, которые они хотят реализовать.
Чтобы реализовать атрибуцию приглашений пользователей, выполните следующие шаги:
- Настройте генерацию ссылок-приглашений для создания ссылок для приглашений пользователей.
- Необязательно Зарегистрируйте создание ссылок-приглашений.
- Настройте Унифицированный диплинкинг (UDL).
- Необязательно Извлеките данные реферера из ссылок-приглашений пользователей.
- Необязательно Настройте вознаграждение реферера.
Следующий код основан на примере маркетолога.
Set up invite link generation
Чтобы пользователи могли приглашать своих друзей в ваше приложение, вам нужен способ создания ссылок-приглашений. Это делается с помощью AppsFlyerLinkGenerator
.
Чтобы настроить создание ссылок-приглашений:
-
Обязательно импортируйте
AppsFlyerLib
:import com.appsflyer.AppsFlyerLib;
-
In
AppDelegate
задайте шаблон OneLink с помощьюappInviteOneLinkID
(Идентификатор шаблона предоставляется маркетологом):AppsFlyerLib.shared().appInviteOneLinkID = "H5hv" // Set the OneLink template ID for userinvitation links
Примечание
- Обязательно установите
appInviteOneLinkID
до вызоваstart
- Шаблон OneLink должен быть связан с приложением.
- Обязательно установите
-
Вызовите
AppsFlyerShareInviteHelper.generateInviteUrl
и передайте его вAppsFlyerLinkGenerator
иcompletionHandler
:AppsFlyerShareInviteHelper.generateInviteUrl( linkGenerator: { (_ generator: AppsFlyerLinkGenerator) -> AppsFlyerLinkGenerator in generator.addParameterValue(<TARGET_VIEW>, forKey: "deep_link_value") generator.addParameterValue(<PROMO_CODE>, forKey: "deep_link_sub1") generator.addParameterValue(<REFERRER_ID>, forKey: "deep_link_sub2") // Optional; makes the referrer ID available in the installs raw-data report generator.addParameterValue(<REFERRER_ID>, forKey: "af_sub1") generator.setCampaign("summer_sale") generator.setChannel("mobile_share") // Optional; Set a branded domain name: generator.brandDomain = "brand.domain.com" return generator }, completionHandler: { (_ url: URL?) -> Void in if url != nil { NSLog("[AFSDK] AppsFlyer share-invite link: \(url!.absoluteString)") } else { print("url is nil") } } )
В зависимости от схемы действий пользователей, которую вы и маркетолог хотите реализовать, настройте
generator
следующим образом:- Задайте параметры атрибуции с помощью сеттеров.
- Задайте параметры диплинкинга с помощью
AppsFlyerLinkGenerator.addParameterValue
:deep_link_value
: интерфейс в приложении, на который перенаправляется по диплинку приглашенный пользователь.deep_link_sub1
: настраиваемый параметр. В данном примере используется для передачи промокода, полученного приглашенным.deep_link_sub2
: идентификатор реферера. Может использоваться для вознаграждения реферера.
-
В
completionHandler
проверьте, был ли URL создан успешно (url
, неnil
), и получите сгенерированную ссылку приглашения пользователя. -
Разрешите пользователям делиться сгенерированными ссылками. Например, скопировать ее в буфер обмена.
Set the shortlink ID
Необязательно
The shortlink ID can be determined by the developer, by adding the paramter af_custom_shortlink
to the LinkGenerator
instance.
generator.addParameterValue(<value>, forKey:"af_custom_shortlink")
Log invite link creation events
Необязательно
Чтобы зарегистрировать событие создания ссылки-приглашения:
Отправьте событие, указывающее, что пользователь создал ссылку-приглашение, с помощью logInvite
:
AppsFlyerShareInviteHelper.logInvite(<CHANNEL>, parameters: [
"campaign" : "summer_sale",
"referrerId" : <REFERRER_ID>,
]);
logInvite
приводит к внутреннему событию приложения af_invite
.
Примечание
Если вы не хотите использовать канал, вместо него можно использовать
logEvent
.
Set up UDL for user invite attribution
Необязательно
Чтобы настроить UDL для атрибуции приглашений пользователей:
-
Настройте Унифицированный диплинкинг (UDL).
-
In
DeepLinkDelegate.didResolveDeepLink
извлеките параметры диплинка, созданные на этапе генерации ссылки. В этом примере извлекаются следующие свойства:deep_link_value
, с использованиемDeepLink.deeplinkValue
deep_link_sub1
, с использованиемDeepLink.clickEvent["deep_link_sub1"]
deep_link_sub2
, с использованиемDeepLink.clickEvent["deep_link_sub2"]
См. код: Swift.
-
Когда вы получите идентификатор реферера, вы сами решите, как он будет храниться и использоваться.
Вознаграждение рефереров
Необязательно
В следующих сценариях пользователь A приглашает пользователя B в ваше приложение.
Reward referrers on install
Сценарий: пользователь Б устанавливает ваше приложение по ссылке-приглашению от пользователя А.
Идентификатор реферера для пользователя A доступен в UDL didResolveDeepLink
(в данном примере под DeepLink.clickEvent["deep_link_sub2"]
). Получив идентификатор, добавьте его в список идентификаторов пользователей, которые будут вознаграждены. Вы сами решаете, как хранить и извлекать такой список.
Reward referrers on in-app events
Сценарий: Пользователь В совершает покупку. Вы хотите вознаградить пользователя А, который пригласил пользователя В, за это действие.
Чтобы вознаградить пользователя A за действие пользователя B:
- Получите идентификатор реферера для пользователя А и добавьте его в один из настраиваемых параметров внутреннего события (например,
af_param_1
):AppsFlyerLib.shared().logEvent(AFEventPurchase, withValues: [ AFEventParamRevenue: 200, AFEventParamCurrency:"USD", AFEventParam1: <REFERRER_ID> ]);
- На вашем бэкэнд-сервере извлеките данные о внутренних событиях приложения.
- Добавьте полученные идентификаторы реферера в список пользователей, которые будут вознаграждены.
- Когда пользователь А запустит приложение, проверьте, что его идентификатор включен в список пользователей, которых нужно наградить, и вознаградите его.
Примечание
- Шаги 2-3 не может выполнить мобильный разработчик. Шаг 4 зависит от того, как реализованы шаги 2-3.
- Событие покупки — это просто пример. Это применимо к любому типу внутренних событий приложения.
Изменения сохранены 4 месяца назад