Roku (BrightScript)
Link para o repositório
GitHub
Integração do SDK Roku da AppsFlyer
A AppsFlyer capacita os profissionais de marketing de jogos a tomar melhores decisões, fornecendo ferramentas poderosas que resolvem problemas reais, incluindo atribuição de plataforma cruzada, análise mobile e da web, deep links, detecção de fraude, gerenciamento e preservação de privacidade e muito mais.
A atribuição do jogo exige que o jogo se comunique com as APIs da AppsFlyer por HTTPS e relate as atividades do usuário, como primeiras aberturas, sessões consecutivas e eventos in-app. Por exemplo, eventos de compra.
Recomendamos que você use este aplicativo de amostra como referência para integrar a AppsFlyer ao seu canal Roku
AppsFlyerRokuSDK - Interface
AppsFlyerRokuSDK.brs
, incluído na pasta source/appsflyer-integration-files
, contém o código e a lógica necessários para se conectar aos servidores da AppsFlyer e relatar eventos.
Init
Este método recebe sua chave de API e ID do aplicativo e inicializa o módulo AppsFlyer que envia as primeiras solicitações de abertura e sessão para a AppsFlyer.
Assinatura do método
AppsFlyer().init(<< DEV_KEY >>, << APP_ID >>)
Usage:
' Initialize the AppsFlyer integration (send first-open/session event)
AppsFlyer().init(<< DEV_KEY >>, << APP_ID >>)
Arguments:
APP_ID
: Encontrado via ifAppInfo.DEV_KEY
: obtenha do profissional de marketing ou do QG da AppsFlyer.
NOTE: It is recommended to set the
APP_ID
manually.When retrieving the
APP_ID
comGetID()
roAppInfo, the channel ID is "dev" if the application is sideloaded, and then app will not be able to communicate with the AppsFlyer endpoint.
Start
Este método envia as primeiras solicitações de abertura e sessão para a AppsFlyer.
Assinatura do método
start()
Usage:
AppsFlyer().start()
Stop
This method stops the SDK from functioning and communicating with AppsFlyer servers. It's used when implementing user opt-in/opt-out.
Assinatura do método
stop()
Usage:
' Starting the SDK
AppsFlyer().start()
' ...
' Stopping the SDK, preventing further communication with AppsFlyer
AppsFlyer().stop()
LogEvent
Esse método recebe um nome de evento e um objeto JSON e envia eventos in-app para a AppsFlyer.
Assinatura do método
logEvent: function(eventName as string, eventParameters as object, eventCustomParameters = {})
Usage:
' logEvent without eventCustomParameters
trackEventParameters = { "af_revenue": 24.22, "af_currency": "ILS" }
AppsFlyer().logEvent("af_purchase", trackEventParameters)
' logEvent with eventCustomParameters
trackEventParameters = { "af_revenue": 24.22, "af_currency": "ILS", "freeHandParam": "freeHandValue" }
trackCustomEventParameters = { "freeHandParam": "freeHandValue" }
AppsFlyer().logEvent("af_purchase", trackEventParameters, trackCustomEventParameters)
SetCustomerUserId
This method sets a customer ID that enables you to cross-reference your unique ID with the AppsFlyer unique ID and other device IDs. Note: You can only use this method before calling Start()
.
The customer ID is available in raw data reports and in the postbacks sent via API.
Assinatura do método
setCustomerUserId(string cuid)
Usage:
AppsFlyer().init(devkey, appid)
AppsFlyer().setCustomerUserId("")
AppsFlyer().start()
Executando o aplicativo de exemplo
- Abra a pasta
appsflyer-sample-app
no VSCode. - In
source/main.brs
, substitua os seguintes parâmetros pelos seus próprios:
devkey = << DEV_KEY >>
appid = << APP_ID >>
-
Deploy the channel: - by (using this plugin makes it easier), - by zipping the content of the
source
folder
and then deploying it to Roku through Roku's Development Application Installer:
-
After the app loads, you may use the following commands through the Roku remote:
- Click the down button to set customer user id (cuid) to
"AF roku test CUID"
. - Click the right button to set customer user id (cuid) to
""
(reset it). - Click the up button to stop the SDK.
- Click the left button to send the start (first open/session) event.
- Click the options button (*) to send logEvent.
- Click the replay button (*) to send logEvent with custom parameters.
- Click the OK button after every command in order to refresh the logs.
- Click the down button to set customer user id (cuid) to
Implementando a AppsFlyer em seu canal Roku
Setup
- Copie os arquivos da pasta
appsflyer-integration-files
no seu projeto. - Adicione o seguinte código ao seu arquivo
main.brs
e inicialize a integração da 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
AppsFlyer().init(DEV_KEY, APP_ID)
' Enable debugging if necessary
AppsFlyer().enableDebugLogs(true) ' same as AppsFlyer().setLogLevel("debug")
' 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
- Start the SDK.
- Reporte os eventos in-app.
Atualizado 6 meses atrás