Visão geral: integre o SDK da AppsFlyer a aplicativos iOS/Android desenvolvidos com a plataforma de desenvolvimento Adobe AIR para medir instalações, eventos in-app, canais de mídia e muito mais.
Informações do plugin
Plataformas compatíveis:
- com o Android
- iOS 6+
Com base em:
- iOS AppsFlyer SDK V6.0.3
- Android AppsFlyer SDK V5.4.1
Instalação e implementação
Instalação
Faça download do arquivo AppsFlyerAIRExtension.ane na pasta bin. Adicione o ANE ao seu projeto e verifique se a IDE está configurada para empacotá-lo.
Se o item a seguir não tiver sido adicionado automaticamente, adicione-o ao APP_NAME-app.xml:
<extensions>
<extensionID>com.appsflyer.adobeair</extensionID>
</extensions>
Observações para aplicativos Android
-
No dashboard da AppsFlyer, você precisará adicionar o prefixo "air." ao nome do pacote, pois ele é adicionado automaticamente pelo Air. Por exemplo - um aplicativo com o nome de pacote "com.test.android", deve definir o ID do aplicativo no dashboard da AppsFlyer como "air.com.test.android".
-
Adicione as permissões a seguir ao Android Manifest (na descrição do aplicativo
APP_NAME-app.xml):<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE" /> - Adicione a metatag a seguir ao Android Manifest, dentro da tag application (na descrição do aplicativo
APP_NAME-app.xml):
meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
Como resultado, seu Manifest deve ficar assim:
Importante: devido a algumas limitações no ADT, após a criação do APK, faltam alguns arquivos importantes.
Para adicionar esses arquivos (com a ajuda de script automatizado ):
- Coloque em um único diretório de sua escolha:
- Arquivo APK
- Keystore usada para assinar o APK
- af_apk_fix.sh script
- Execute
./af_apk_fix.she insira as informações solicitadas quando elas forem pedidas.
Veja o que o script está fazendo. Em caso de qualquer problema, você pode executar essas etapas manualmente:
-
Decodifique o APK usando apktool. Isso criará a pasta nome_do_aplicativo.
apktool d app_name.apk -
Faça o download do jar/aar do SDK da AppsFlyer da mesma versão usada no APK.
-
Extraia os arquivos
a-eb-do jar (renomeando o jar para zip) e coloque-os na pasta com o apk descompilado emapp_name/unknown/com/appsflyer/internal -
Edite o
apktool.ymladicionando estas linhas emunknownFiles:com/appsflyer/internal/b-: '0' com/appsflyer/internal/a-: '0'
Veja a captura de tela de exemplo a seguir. -
Compile o APK novamente (ele aparecerá na pasta
app_name/dist).apktool b app_name -
Assine o APK.
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myKeystore.keystore app_name/dist/app_name.apk myKey -
Execute zipalign no apk (para poder fazer upload para o Google Play)
zipalign -f -v 4 app_name/dist/app_name.apk app_name/dist/zipalign_app_name.apk -
Verifique o zipalignment
zipalign -c -v 4 app_name/dist/zipalign_app_name.apk -
Seu apk
zipalign_app_name.apkestá pronto para usar!
Implementação
Importe a extensão da AppsFlyer para o seu projeto:
import AppsFlyerInterface;
Crie a interface da AppsFlyer:
private static var appsFlyer:AppsFlyerInterface;
appsFlyer = new AppsFlyerInterface();
[Opcional] Se você quiser fazer deep linking ou acessar os dados de conversão da AppsFlyer no aplicativo, registre o listener de conversão:
appsFlyer.registerConversionListener();
Defina a chave de desenvolvedor e o ID do aplicativo iOS (opcional) e inicialize o SDK:
appsFlyer.appsFlyer.init("DevKey", "iOSAppID");
Inicialize o registro de sessão (registre automaticamente inicializações do aplicativo e transições do segundo plano para o primeiro plano) com a DevKey e o ID do aplicativo iOS (opcional):
appsFlyer.start("DevKey", "iOSAppID");
Deep linking
Para receber as informações relevantes da AppsFlyer do deep link usado:
- Registre os seguintes listeners de eventos:
appsFlyer.addEventListener(AppsFlyerEvent.APP_OPEN_ATTRIBUTION, eventHandler); // sucesso appsFlyer.addEventListener(AppsFlyerEvent.ATTRIBUTION_FAILURE, eventHandler); // erro - Trate a resposta no respectivo manipulador de evento:
private function eventHandler(event:AppsFlyerEvent):void { log("Evento da AppsFlyer: " + event.type + "; \nDados: " + event.data); }
Deep linking diferido
Para receber os dados de conversão da instalação atual:
- Registre os seguintes listeners de evento:
appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_DATA_LOADED, eventHandler); // sucesso appsFlyer.addEventListener(AppsFlyerEvent.INSTALL_CONVERSATION_FAILED, eventHandler); //erro - Trate a resposta no respectivo manipulador de evento:
private function eventHandler(event:AppsFlyerEvent):void { log("Evento da AppsFlyer: " + event.type + "; \nDados: " + event.data); }
Coleta de IMEI e ID do Android (somente Android)
Importante! Aplicativos com serviços do Google Play devem evitar a coleta de IMEI, pois isso viola a política do Google Play.
Por padrão, o IMEI e o ID do Android não são coletados pelo SDK se a versão do sistema operacional for superior ao KitKat (4.4) e o dispositivo contiver o Google Play Services.
Para enviar explicitamente esses IDs à AppsFlyer, os desenvolvedores podem usar as APIs a seguir e colocá-las antes de inicializar o SDK.
Se o aplicativo NÃO tiver o Google Play Services, o SDK coleta o IMEI e o Android ID.
Ativar/desativar a coleta de IMEI (desativada por padrão)
appsFlyer.setCollectIMEI(bool);
Definir dados de IMEI manualmente
appsFlyer.setImeiData("imeiString");
Ativar/desativar a coleta de ID do Android (desativada por padrão)
appsFlyer.setCollectAndroidID(bool);
Definir dados de ID do Android manualmente
appsFlyer.setAndroidIdData("AndroidIDString");
Referência da API
Métodos de API
| YouTube video player | A descrição | Assinatura/exemplo |
|---|---|---|
|
logEvent |
Registra eventos in-app. |
|
| iniciar |
Envie um evento de registro de sessão, independentemente do estado do aplicativo. |
|
| setAppUserId |
Obtenha a ID do usuário conforme usada no aplicativo. |
|
| setUserEmails |
Obtenha o e-mail do usuário. |
|
| setCurrency |
Defina a moeda para registrar eventos de receita, por exemplo, USD. |
|
| stop |
Use quando quiser desativar todos os registros do SDK devido à compliance legal e de privacidade. Após a execução desta API, nosso SDK não se comunicará mais com nossos servidores. |
|
| setDebug |
Ative/desative os logs de depuração do AppsFlyer. Importante: Não lance o aplicativo nas lojas de aplicativos com os logs de depuração ativados. |
|
This article was translated using AI and may contain errors. For the most accurate information, please refer to the English version using the language selector.