Steam C++
Enlace al repositorio de
GitHub
Integración del SDK de AppsFlyer con Steam C++
AppsFlyer permite a los marketers de gaming tomar mejores decisiones al proporcionarles potentes herramientas que resuelven puntos problemáticos reales, incluyendo atribución multiplataforma, análisis móvil y web, enlaces profundos, detección de fraude, gestión y preservación de la privacidad, y más.
La atribución del juego requiere que este se comunique con las API de AppsFlyer a través de HTTPS y reporte las actividades de los usuarios como los primeros inicios, las sesiones consecutivas y los eventos in-app. Por ejemplo, los eventos de compra.
Te recomendamos utilizar esta aplicación de ejemplo como referencia para integrar el código que reporta las actividades de los usuarios en tu C++. Nota: El código de ejemplo que sigue actualmente solo se admite en un entorno Windows.
Requisitos previos:
- SDK de Steamworks integrado en tu proyecto.
- Paquetes vcpkg openssl y nlohmann-json:
vcpkg install nlohmann-json:x86-windows vcpkg install openssl:x86-windows
AppsflyerSteamModule - Interfaz
AppsflyerSteamModule.h”, incluido en la carpeta appsflyer-module
, contiene el código y la lógica necesarios para conectarse a los servidores de AppsFlyer y reportar eventos.
Init
Este método recibe tu clave API e ID de aplicación e inicializa el módulo AppsFlyer.
Firma de método
void init(const char* devkey, const char* appID)
Usage:
AppsflyerSteamModule()->init("DEV_KEY", "STEAM_APP_ID");
Arguments:
STEAM_APP_ID
: se encuentra en SteamDB.DEV_KEY
: puedes obtenerlo del marketer o en AppsFlyer HQ.
Start
Este método envía las solicitudes de primeros inicios/sesiones a AppsFlyer.
Firma de método
void start(bool skipFirst = false)
Usage:
// without the flag
AppsflyerSteamModule()->start();
// with the flag
bool skipFirst = [SOME_CONDITION];
AppsflyerSteamModule()->start(skipFirst);
LogEvent
Este método recibe un nombre de evento y un objeto json y envía eventos in-app a AppsFlyer.
Firma de método
void logEvent(std::string event_name, json event_values)
Usage:
json event_values = { {"af_currency", "USD"}, {"af_price", 6.66}, {"af_revenue", 24.12} };
std::string event_name = "af_purchase";
AppsflyerSteamModule()->logEvent(event_name, event_values);
Nota: Para utilizar JSON, asegúrate de usar las siguientes importaciones:
#include <nlohmann/json.hpp>
using json = nlohmann::json;
OnCallbackSuccess, OnCallbackFailure
Los métodos anteriores son marcadores de posición para las acciones deseadas en caso de éxito/fracaso.
Es posible manejar diferentes tipos de eventos con el switch case del contexto dentro de cada función (“FIRST_OPEN_REQUEST”, ”SESSION_REQUEST”, ”INAPP_EVENT_REQUEST”).
Firma de método
void onCallbackSuccess(long responseCode, uint64 context)
void onCallbackFailure(long responseCode, uint64 context)
IsInstallOlderThanDate
Este método recibe una cadena de fecha y devuelve true si la fecha de modificación de la carpeta del juego es más antigua que la cadena de fecha. El formato de cadena de fecha es: "2023-January-01 23:12:34".
Firma de método
bool isInstallOlderThanDate(std::string datestring)
Usage:
// the modification date in this example is "2023-January-23 08:30:00"
// will return false
bool dateBefore = AppsflyerSteamModule()->isInstallOlderThanDate("2023-January-01 23:12:34");
// will return true
bool dateAfter = AppsflyerSteamModule()->isInstallOlderThanDate("2023-April-10 23:12:34");
Ejecución de la aplicación de muestra
- Instala Visual Studio.
- Abre la solución.
../appsflyer-steam-sample-app/steam-sample-app/steamworksexample/SteamworksExample.sln
. - Abre la carpeta
Source Files/Main.cpp
file. - En la línea 244, reemplaza
DEV_KEY
andSTEAM_APP_ID
con los detalles de tu aplicación. - Ejecuta la aplicación haciendo clic en Play (Reproducir) en la barra de herramientas superior (Depurador local de Windows). Asegúrate de que el modo esté configurado en Depurar.
- Después de 24 horas, el panel de control se actualiza y muestra las instalaciones orgánicas y no orgánicas y los eventos in-app.
Implementación de AppsFlyer en tu juego de Steam
Setup
- Copia los archivos desde la carpeta
appsflyer-module
a tu proyecto C++ en Archivos de encabezado > AppsFlyer. - Importa el módulo:
#include "AppsflyerSteamModule.h"
- Importar
nlohmann-json
.#include <nlohmann/json.hpp> using json = nlohmann::json;
- Inicializa la integración de AppsFlyer.
- Reporta los eventos in-app.
Actualizado hace 11 días