How can we help?

Integración del SDK de Windows para desarrolladores

  • Actualización

De un vistazo: Añade AppsFlyer a aplicaciones y juegos de Windows para medir instalaciones de la app, eventos in-app, fuentes de medios y mucho más. 

Versión actual: 3.1.0 (17/12/2023)

El SDK de AppsFlyer proporciona la funcionalidad de registro de eventos e instalación de aplicaciones. 

SDK_Integration.jpg

Puedes registrar instalaciones, actualizaciones y sesiones (siguiendo los pasos obligatorios que se indican a continuación), y también registrar eventos in-app adicionales además de las instalaciones de la app (incluidas las compras in-app, los niveles de juego, etc.) para evaluar el ROI y los niveles de engagement de los usuarios.

 Importante:

El SDK de AppsFlyer para Windows es compatible con todos los dispositivos de Universal Windows Platform (UWP), incluidos teléfonos móviles con Windows, PC, HoloLens y Surface Hub.

1. Pasos de integración

El SDK Universal de Windows se instala mediante el administrador de paquetes NuGet. Para instalar el SDK de AppsFlyer para Windows mediante NuGet:

  1. Haz clic con el botón derecho en el archivo del proyecto.
  2. Haz clic en Manage NuGet Packages.
  3. Haz clic en Browse y busca AppsFlyerLib.
  4. Haz clic en AppsFlyerLib.
  5. Haz clic en Install.

Si decides no usar el paquete NuGet, puedes integrar manualmente el SDK de AppsFlyer en tu aplicación:

  1. Descarga el SDK de la aplicación para la Universal Windows Platform desde aquí.
  2. Copia AppsFlyerLib.winmd en tu proyecto.
  3. En Visual Studio, haz clic en Add Reference en el proyecto de Universal Windows Platform.

  • Busca AppsFlyerLib.winmd y añádelo.

 Importante:

AppsFlyer usa un paquete de Newtonsoft.json. Esta es una biblioteca estándar para analizar Json en Windows. Puedes añadir este paquete con NuGet en Visual Studio. Esto resuelve la excepción «File Not Found» en la DLL.

  • En Visual Studio, haz clic con el botón derecho en References, selecciona el paquete NuGet Newtonsoft.json y añádelo.
  • Permite el acceso a Internet en el manifiesto de la aplicación o usa Visual Studio en la pestaña Capabilities.

2. Inicialización del SDK & evento de instalación (requisito mínimo para la atribución)

  • Agrega el siguiente código al método App Launch.
  • Configura tu appId y tu DevKey:
    • Rellena tracker.appId y tracker.devKey con tus valores.
    • Puedes obtener tu DevKey de AppsFlyer en nuestro Dashboard, en SDK Integration.
protected override void OnLaunched(LaunchActivatedEventArgs e)
{
	this .InitializeComponent();
	this .Suspending += this .OnSuspending;
	AppsFlyerLib. AppsFlyerTracker tracker =
	AppsFlyerLib. AppsFlyerTracker .GetAppsFlyerTracker();
	tracker.appId = "YOUR_APP_ID_HERE" ;
	tracker.devKey = "YOUR_DEV_KEY_HERE" ;
	tracker.trackAppLaunch();
}

Registro del inicio de la app de forma asíncrona

Puedes registrar el inicio de la app de forma asíncrona. Esto es útil cuando la red no está disponible o no responde. Puedes gestionar estos casos en la función de callback que pasas al método TrackAppLaunchAsync.

tracker.TrackAppLaunchAsync(Callback);
public void Callback(AppsFlyerLib.ServerStatusCode code)
{
   if(code == AppsFlyerLib.ServerStatusCode.SUCCESS) {
      //success scenario
   } else if(code == AppsFlyerLib.ServerStatusCode.FAIL) {
   //failure scenario
   }
}

3. API de registro de eventos in-app (opcional)

Esta API permite a AppsFlyer registrar eventos posteriores a la instalación. Estos eventos los define el anunciante e incluyen un nombre de evento, además de valores de evento opcionales. Agrega el siguiente código para registrar eventos posteriores a la instalación:

public void TrackEvent(string eventName, IDictionary<string, Object> eventValues)
  • eventName puede ser cualquier cadena que defina el nombre del evento. Puedes consultar una lista de nombres de evento recomendados aquí.
  • eventValues es un diccionario de parámetros de evento que componen un evento. Puedes consultar una lista de parámetros recomendados aquí.
  • Al contabilizar ingresos como parte de eventos in-app, utiliza el nombre de parámetro constante InAppEventParameterName.REVENUE («af_revenue») para contabilizar los ingresos como parte de un evento in-app. Puede completarlo con cualquier valor numérico, positivo o negativo.

Ejemplo

AppsFlyerLib.AppsFlyerTracker tracker = AppsFlyerLib.AppsFlyerTracker.GetAppsFlyerTracker();
      IDictionary<string, object> eventValues = new Dictionary<string, object>();
      eventValues.Add(AppsFlyerLib.AFInAppEventParameterName.CONTENT_ID, "id123");
      eventValues.Add(AppsFlyerLib.AFInAppEventParameterName.REVENUE, "10");
      eventValues.Add(AppsFlyerLib.AFInAppEventParameterName.CURRENCY, "USD");
      tracker.TrackEvent(AppsFlyerLib.AFInAppEventType.ADD_TO_CART, eventValues);

Registrar eventos de forma asíncrona

Puedes registrar eventos de forma asíncrona. Esto es útil cuando la red no funciona o no responde. Puedes gestionar esos casos en la función de callback que pasas al método TrackEventAsync.

tracker.TrackEventAsync(AppsFlyerLib.AFInAppEventType.PURCHASE, events, Callback);
public void Callback(AppsFlyerLib.ServerStatusCode code)
{
   if(code == AppsFlyerLib.ServerStatusCode.SUCCESS) {
      //success scenario
   } else if(code == AppsFlyerLib.ServerStatusCode.FAIL) {
     //failure scenario
   }
}

Para ver una lista completa de los eventos in-app enriquecidos de AppsFlyer, haz clic aquí.

4. Integración avanzada

Las siguientes API son opcionales y forman parte de la integración avanzada con el SDK de AppsFlyer.

4.1 Establecer código de moneda (opcional)

Puedes usar la siguiente API para establecer un código de moneda global, además de códigos de moneda específicos que se pueden usar como parte de cada evento in-app enviado a AppsFlyer.

USD es el valor predeterminado. Puedes consultar los códigos ISO de moneda aceptados aquí.

Usa la siguiente API para configurar el código de moneda:

tracker.currencyCode = "GBP";

4.2 getAppsFlyeruid (opcional)

Se crea un ID único de AppsFlyer para cada nueva instalación de una app.

Usa la siguiente API para obtener este ID:

public string getAppsFlyerUID()

4.3 ID de usuario del cliente (opcional)

Configurar tu propio ID de cliente te permite establecer referencias cruzadas entre tu propio ID único, el ID de usuario de AppsFlyer y todos los demás ID de dispositivo. Este ID está disponible en los reportes CSV de AppsFlyer, junto con las API de postback, para establecer referencias cruzadas con tus ID internos.

Para configurar tu ID de usuario de cliente:

tracker.customerUserId = "YOUR_CUSTOMER_USER_ID";

4.4 GetConversionDataAsync (opcional)

Puedes recibir los datos de conversión de cada instalación a través del SDK mediante esta API. Agrega el siguiente código para registrar eventos posteriores a la instalación:

Task.Run(async () =>
{
   AppsFlyerLib.AppsFlyerTracker tracker = AppsFlyerLib.AppsFlyerTracker.GetAppsFlyerTracker();
   string conversionData = await tracker.GetConversionDataAsync();
});

4.5 Ejemplo de integración de C++ / CX

AppsFlyerLib::AppsFlyerTracker^ tracker = AppsFlyerLib::AppsFlyerTracker::GetAppsFlyerTracker();
 tracker->appId = ref new Platform::String(L"APP_KEY");
 tracker->devKey = ref new Platform::String(L"APPSFLYER_KEY");
 tracker->TrackAppLaunch();
 create_task(tracker->GetConversionDataAsync()).then([tracker](Platform::String^ conversionData)
 {
 Windows::Foundation::Collections::IMap<Platform::String^, Platform::Object^>^ eventValues
 = ref new Platform::Collections::Map<Platform::String^, Platform::Object^>();

eventValues->Insert(AppsFlyerLib::AFInAppEventParameterName::CONTENT_ID, "134");
 eventValues->Insert(AppsFlyerLib::AFInAppEventParameterName::CONTENT_TYPE, "Virtual Goods");
 eventValues->Insert(AppsFlyerLib::AFInAppEventParameterName::CURRENCY, "USD");
 eventValues->Insert(AppsFlyerLib::AFInAppEventParameterName::REVENUE, "9.99");

tracker->TrackEvent(AppsFlyerLib::AFInAppEventType::PURCHASE, eventValues);
 });

This article was translated automatically and may contain errors. The English version is the most accurate - use the language selector below to switch.

Share article: