Integração
Você pode inicializar o plug-in usando o AppsFlyerObject pré-fabricado ou manualmente.
- Usando o AppsFlyerObject.prefab
- Instalação manual
- Colete IDFA com ATTrackingManager
- Envio de cópias de postback SKAN para a AppsFlyer
- Inicialização do MacOS
- Solicitar ouvintes (Opcional)
Usando o AppsFlyerObject.prefab
- Acesse Assets > AppsFlyer e arraste AppsFlyerObject.prefab para sua cena.
- Atualize os seguintes campos:
Configuração | Descrição |
---|---|
Chave do desenvolvedor (Dev key) | Chave do desenvolvedor da AppsFlyer, que pode ser acessada pelo seu painel da AppsFlyer. |
App ID | Seu ID de aplicativo do iTunes. (Caso seu app não seja para iOS deixe o campo vazio) |
Obter dados de conversão | Defina como verdadeiro se seu aplicativo estiver usando AppsFlyer para links diretos. |
isDebug | Defina como verdadeiro para visualizar os logs de depuração. (somente para desenvolvimento!) |
- Atualize o código em Assets > AppsFlyer > AppsFlyerObjectScript.cs com outra API disponível.
Instalação manual
Crie um objeto de jogo e adicione o seguinte código de init:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour
{
void Start()
{
AppsFlyer.initSDK("devkey", "appID");
AppsFlyer.startSDK();
}
}
Observação:
- Certifique-se de não chamar 'destroy' no objeto do jogo.
- Use
DontDestroyOnLoad
para manter o objeto ao carregar uma nova cena.
Colete IDFA com ATTrackingManager
-
Adicione o
AppTrackingTransparency
Estrutura para seu projeto xcode. -
No
Info.plist
:- Adicione uma entrada à lista: pressione + ao lado de
Information Property List
. - Role para baixo e selecione
Privacy - Tracking Usage Description
. - Adicione como valor o texto que você deseja apresentar ao usuário ao solicitar permissão para coletar o IDFA.
- Adicione uma entrada à lista: pressione + ao lado de
-
Chame a API
waitForATTUserAuthorizationWithTimeoutInterval
antes destartSDK()
#if UNITY_IOS && !UNITY_EDITOR AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60); #endif
-
Solicite a autorização de acompanhamento onde deseja exibir o prompt:
você pode usar o pacote a seguir ou qualquer outro pacote que permita solicitar a autorização de acompanhamento.using Unity.Advertisement.IosSupport; /* ... */ if (ATTrackingStatusBinding.GetAuthorizationTrackingStatus() == ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED) { ATTrackingStatusBinding.RequestAuthorizationTracking(); } /* ... */
Envio de cópias de postback SKAN para a AppsFlyer
Para registrar o ponto final da AppsFlyer, você precisa adicionar a chave NSAdvertisingAttributionReportEndpoint
ao seu info.plist e definir o valor como https://appsflyer-skadnetwork.com/
.
Mais informações sobre como atualizar o info.plist podem ser encontradas aqui.
Inicialização do MacOS
- Use o prefab
AppsFlyerObject
- Adicione o ID do seu aplicativo MacOS
- Crie para a plataforma
PC, Mac & Linux Standelone
e escolhaMacOS
como a plataforma de destino.
Solicitar ouvintes (Opcional)
- Anexe o script 'AppsFlyer.cs' ao objeto do jogo com o código init da AppsFlyer. (AppsFlyerObject, etc.)
- Adicione o seguinte código antes de startSDK()
Exemplo de resposta de sessões:
void Start()
{
AppsFlyer.OnRequestResponse += AppsFlyerOnRequestResponse;
AppsFlyer.initSDK(devKey, appID, this);
AppsFlyer.startSDK();
}
void AppsFlyerOnRequestResponse(object sender, EventArgs e)
{
var args = e as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("AppsFlyerOnRequestResponse", " status code " + args.statusCode);
}
Exemplo de resposta in-app:
void Start()
{
AppsFlyer.OnInAppResponse += (sender, args) =>
{
var af_args = args as AppsFlyerRequestEventArgs;
AppsFlyer.AFLog("AppsFlyerOnRequestResponse", " status code " + af_args.statusCode);
};
AppsFlyer.initSDK(devKey, appID, this);
AppsFlyer.startSDK();
}
statusCode | errorDescription |
---|---|
200 | null |
10 | "Event timeout. Check 'minTimeBetweenSessions' param" ("Tempo limite do evento. Verifique parâmetro 'minTimeBetweenSessions'") |
11 | "Skipping event because 'isStopTracking' enabled" ("Ignorando evento porque 'IsStopTracking' está ativado") |
40 | Network error: Error description comes from Android (Erro de rede: descrição do erro vem do Android) |
41 | "No dev key" ("Sem chave do desenvolvedor") |
50 | "Falha no código de status" + código de resposta real do servidor |
Atualizado 30 dias atrás