Ссылка на репозиторий
GitHub

Интеграция SDK AppsFlyer в Roku

AppsFlyer позволяет маркетологам игровых приложений принимать оптимальные решения, предоставляя высокоэффективные инструменты для решения проблем, таких как кросс-платформенная атрибуция, мобильная и веб-аналитика, диплинкинг, обнаружение мошенничества, контроль и защита конфиденциальности и многое другое.

Для атрибуции игры игра должна обмениваться данными с API AppsFlyer по протоколу HTTPS и сообщать об активностях пользователя, например первом открытии, последовательных сессиях и внутренних событиях приложения. Например, события покупки.
Мы рекомендуем использовать этот пример приложения в качестве справки по интеграции AppsFlyer в ваш канал Roku.


AppsFlyerRokuSDK — интерфейс

AppsFlyerRokuSDK.brs в папке source/appsflyer-integration-files содержит необходимый код и логику для подключения к серверам AppsFlyer и передачи отчетов по событиям.

Start

Данный метод получает ваш ключ API и идентификатор приложения и инициализирует модуль AppsFlyer, который передает AppsFlyer запросы о первом открытии и сессиях.

Сигнатура метода

AppsFlyer().start(<< DEV_KEY >>, << APP_ID >>)

Usage:

' Initialize the AppsFlyer integration (send first-open/session event)
AppsFlyer().start(<< DEV_KEY >>, << APP_ID >>)

Arguments:

  • APP_ID: находится в ifAppInfo.
  • DEV_KEY: получите у маркетолога или AppsFlyer HQ.

LogEvent

Этот метод получает имя события и объект JSON и отправляет внутренние события приложения в AppsFlyer.

Сигнатура метода

AppsFlyer().logEvent(eventName, trackEventValues)

Usage:

trackEventValues = CreateObject("roAssociativeArray")
trackEventValues = {"af_revenue": 24.22, "af_currency":"ILS", "freeHandParam": "freeHandValue"}

AppsFlyer().logEvent("af_purchase", trackEventValues)

Запуск примера приложения

  1. Откройте папку appsflyer-sample-app в VSCode.
  2. In source/main.brsзамените следующие параметры собственными:
devkey = << DEV_KEY >>
appid = << APP_ID >>
  1. Откройте канал. (Использование этого плагина упрощает процесс)

  2. После загрузки приложения:

    1. Нажмите OK, чтобы просмотреть описание события запуска.
    2. Нажмите кнопку опций (*), а затем OK, чтобы просмотреть событие logEvent.

Внедрение AppsFlyer в ваш канал Roku

Setup

  1. Скопируйте файлы из папки appsflyer-integration-files в свой проект.
  2. Добавьте следующий код в свой файл main.brs и инициализируйте интеграцию AppsFlyer:
Function Main(args as Dynamic) as Void
    ...
    showAppsflyerChannelSGScreen(args)
    ...
End Function

sub showAppsflyerChannelSGScreen(args as Dynamic)
    screen = CreateObject("roSGScreen")
    m.port = CreateObject("roMessagePort")
    screen.setMessagePort(m.port)
    scene = screen.CreateScene("AppsFlyerScene")
    screen.show()

    ' Initialize the AppsFlyer integration (send first-open/session event)
    AppsFlyer().start(DEV_KEY, APP_ID)
    ' Enable debugging if necessary
    AppsFlyer().enableDebugLogs(true) ' same as AppsFlyer().setLogLevel("debug")

    if args.Lookup("contentId") <> invalid then
        AppsFlyer().trackDeeplink(args)
    else
        AppsFlyer().trackAppLaunch()
    endif

    ' ConversionData response arrives here
    while true
        msg = Wait(0, m.port)
        ?"MESSAGE RECEIVED: "msg.GetData()
        msgType = Type(msg)
        if msgType = "roSGScreenEvent"
            if msg.isScreenClosed() then
                return
            end if
        end if
    end while
end sub
  1. Подайте отчет о внутренних событиях приложения.