Integración
Puedes inicializar el plugin usando el AppsFlyerObject prefab o manualmente.
- Uso de AppsFlyerObject.prefab
- Integración manual
- Recopilar el IDFA con ATTrackingManager
- Enviar el postback de SKAN a AppsFlyer
- Inicialización MacOS
- Agentes de escucha de solicitudes (opcional)
Uso de AppsFlyerObject.prefab
- Ve a Assets > AppsFlyer y arrastra AppsFlyerObject.prefab a tu escena.
- Actualiza los siguientes campos:
Configuración | Descripción |
---|---|
Dev key | Clave de desarrollador de AppsFlyer, a la que se puede acceder desde el panel de control de AppsFlyer. |
App ID | Tu ID de aplicación de iTunes. (Si tu aplicación no es para iOS, deja el campo vacío) |
Obtener datos de conversión | Establece esto en true si tu aplicación está usando AppsFlyer para enlaces profundos. |
isDebug | Establece esto en true para ver los registros de depuración. (¡solo para el desarrollo!) |
- Actualiza el código en Assets > AppsFlyer > AppsFlyerObjectScript.cs con otra API disponible.
Integración manual
Crea un objeto de juego y agrega el siguiente código de inicio:
using AppsFlyerSDK;
public class AppsFlyerObjectScript : MonoBehaviour
{
void Start()
{
AppsFlyer.initSDK("devkey", "appID");
AppsFlyer.startSDK();
}
}
Nota:
- Asegúrate de no eliminar el objeto de juego.
- Use
DontDestroyOnLoad
para mantener el objeto al cargar una nueva escena.
Recopilar el IDFA con ATTrackingManager
-
Agrega
AppTrackingTransparency
a tu proyecto de xcode. -
En el
Info.plist
:- Agrega una entrada a la lista: presiona + junto a
Information Property List
. - Desplázate hacia abajo y selecciona
Privacy - Tracking Usage Description
. - Agrega como valor el texto que quieras presentarle al usuario al solicitar permiso para recopilar el IDFA.
- Agrega una entrada a la lista: presiona + junto a
-
Llama a la API
waitForATTUserAuthorizationWithTimeoutInterval
antes destartSDK()
#if UNITY_IOS && !UNITY_EDITOR AppsFlyer.waitForATTUserAuthorizationWithTimeoutInterval(60); #endif
-
Solicita la autorización de tracking donde desees mostrar el aviso:
Puedes usar el siguiente paquete o cualquier otro paquete que te permita solicitar la autorización de tracking.using Unity.Advertisement.IosSupport; /* ... */ if (ATTrackingStatusBinding.GetAuthorizationTrackingStatus() == ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED) { ATTrackingStatusBinding.RequestAuthorizationTracking(); } /* ... */
Enviar el postback de SKAN a AppsFlyer
Para registrar el punto de conexión de AppsFlyer, es necesario agregar la clave NSAdvertisingAttributionReportEndpoint
a tu info.plist y establecer el valor en https://appsflyer-skadnetwork.com/
.
Para más información sobre cómo actualizar la info.plist, consulta aquí.
Inicialización MacOS
- Utilizar el prefab
AppsFlyerObject
- Agrega tu id de aplicación MacOS
- Construye para la plataforma
PC, Mac & Linux Standelone
y eligeMacOS
como plataforma de destino.
Agentes de escucha de solicitudes (opcional)
- Adjunta el 'AppsFlyer.cs' al objeto del juego con el código init de AppsFlyer. (AppsFlyerObject, etc.)
- Agrega el siguiente código antes de startSDK()
Ejemplo de respuesta a las sesiones:
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);
}
Ejemplo de respuesta 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" ("Tiempo de espera del evento agotado. Comprueba el parámetro 'minTimeBetweenSessions'") |
11 | "Skipping event because 'isStopTracking' enabled" ("Se omite el evento porque 'isStopTracking' está activado") |
40 | Network error: Error description comes from Android (Error de red: la descripción del error viene de Android) |
41 | "No dev key" ("No hay clave de desarrollador") |
50 | "Status code failure" + actual response code from the server ("Fallo del código de estado" + código de respuesta real del servidor) |
Actualizado Hace 1 día