Amazon S3

La integración de Adapty con Amazon S3 te permite almacenar de forma segura los datos de eventos y visitas a paywalls en un único lugar centralizado. Podrás guardar tus eventos de suscripción en tu bucket de Amazon S3 como archivos .csv.
Para configurar esta integración, solo tienes que seguir unos sencillos pasos en la consola de AWS y en el Adapty Dashboard.

Programación

Adapty envía tus datos cada 24h a las 4:00 UTC.

Cada archivo contendrá datos de los eventos creados durante el día natural anterior completo en UTC. Por ejemplo, los datos exportados automáticamente a las 4:00 UTC del 8 de marzo contendrán todos los eventos creados el 7 de marzo entre las 00:00:00 y las 23:59:59 UTC.

Cómo configurar la integración con Amazon S3

Para empezar a recibir datos, necesitarás las siguientes credenciales:

  1. Access key ID
  2. Secret access key
  3. S3 bucket name
  4. Folder name inside the S3 bucket

Directorios anidados

Puedes especificar directorios anidados en el campo S3 bucket name, por ejemplo: adapty-events/com.sample-app

Para integrar Amazon S3, ve a Integrations -> Amazon S3, activa el interruptor y rellena los campos.

En primer lugar, introduce las credenciales para establecer la conexión entre Amazon S3 y los perfiles de Adapty.

2b1a6e3-CleanShot_2023-03-24_at_14.51.272x.webp

En el Adapty Dashboard, los siguientes campos son necesarios para configurar la conexión:

CampoDescripción
Access Key IDIdentificador único que se usa para autenticar el acceso de un usuario o aplicación a un servicio de AWS. Encuéntralo en el archivo csv descargado.
Secret Access KeyClave privada que se usa junto con el Access Key ID para autenticar el acceso de un usuario o aplicación a un servicio de AWS. Encuéntrala en el archivo csv descargado.
S3 Bucket NameNombre único a nivel global que identifica un bucket de S3 específico dentro de la nube de AWS. Los buckets de S3 son un servicio de almacenamiento simple que permite a los usuarios guardar y recuperar objetos de datos, como archivos e imágenes, en la nube.
Folder Inside the BuckerEl nombre de la carpeta que quieres crear dentro del bucket de S3 seleccionado. Ten en cuenta que S3 simula carpetas mediante prefijos de clave de objeto, que son esencialmente nombres de carpetas.

Cómo crear credenciales de Amazon S3

Esta guía te ayudará a crear las credenciales necesarias en tu consola de AWS.

1. Crear política de acceso

Primero, ve al Panel de políticas de IAM en tu consola de AWS y selecciona la opción Create Policy.

7af075c-CleanShot_2023-03-21_at_10.52.002x.webp

En el editor de políticas, pega el siguiente JSON y cambia adapty-s3-integration-test por el nombre de tu bucket:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowListObjectsInBucket",
            "Effect": "Allow",
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::adapty-s3-integration-test"
        },
        {
            "Sid": "AllowAllObjectActions",
            "Effect": "Allow",
            "Action": "s3:*Object",
            "Resource": [
                "arn:aws:s3:::adapty-s3-integration-test/*",
                "arn:aws:s3:::adapty-s3-integration-test"
            ]
        },
        {
            "Sid": "AllowBucketLocation",
            "Effect": "Allow",
            "Action": "s3:GetBucketLocation",
            "Resource": "arn:aws:s3:::adapty-s3-integration-test"
        }
    ]
}
d4e474a-CleanShot_2023-03-21_at_10.56.212x.webp

Una vez completada la configuración de la política, puedes añadir etiquetas (opcional) y hacer clic en Next para continuar con el paso final. En este paso, deberás asignar un nombre a tu política y simplemente hacer clic en el botón Create policy para finalizar el proceso de creación.

7dcb02f-CleanShot_2023-03-21_at_11.03.372x.webp

2. Crear un usuario IAM

Para que Adapty pueda subir informes de datos brutos a tu bucket, deberás proporcionarles el Access Key ID y el Secret Access Key de un usuario con acceso de escritura al bucket específico.

Para ello, ve a la consola de IAM y selecciona la sección Users. Desde allí, haz clic en el botón Add users.

bb612c8-CleanShot_2023-03-21_at_11.12.392x.webp

Dale un nombre al usuario, elige Access key – Programmatic access y continúa con los permisos.

467ee4d-j6aoX.webp

Para el siguiente paso, selecciona la opción Add user to group y luego haz clic en el botón Create group.

bfd0e80-CleanShot_2023-03-21_at_11.24.592x.webp

A continuación, asigna un nombre a tu Grupo de Usuarios y selecciona la política que creaste anteriormente. Una vez seleccionada, haz clic en el botón Create group para completar el proceso.

df29c12-CleanShot_2023-03-21_at_11.28.052x.webp

Una vez creado el grupo con éxito, selecciónalo y continúa con el siguiente paso.

1f3722e-CleanShot_2023-03-21_at_11.36.192x.webp

Como este es el último paso de esta sección, puedes continuar haciendo clic en el botón Create User.

ea43722-CleanShot_2023-03-21_at_11.40.462x.webp

Por último, puedes descargar las credenciales en formato .csv o copiarlas y pegarlas directamente desde el dashboard.

bcf35e1-S3created.webp

Exportación manual de datos

Además de la exportación automática de datos de eventos a Amazon S3, Adapty también ofrece una funcionalidad de exportación manual de archivos. Con esta función, puedes seleccionar un intervalo de tiempo específico para los datos de eventos y exportarlos a tu bucket de S3 de forma manual. Esto te da mayor control sobre los datos que exportas y cuándo los exportas.

El rango de fechas especificado se usará para exportar los eventos creados desde la Fecha A 00:00:00 UTC hasta la Fecha B 23:59:59 UTC.

466bd29-CleanShot_2023-03-21_at_12.35.252x.webp

Estructura de la tabla

En la integración con AWS S3, Adapty proporciona una tabla para almacenar datos históricos de eventos de transacciones y visitas a paywalls. La tabla contiene información sobre el perfil del usuario, los ingresos y beneficios, y el store de origen, entre otros datos. En esencia, estas tablas registran todas las transacciones generadas por una app durante un período de tiempo determinado.

Ten en cuenta que esta estructura puede crecer con el tiempo, ya que nosotros o los terceros con los que trabajamos podemos añadir nuevos datos. Asegúrate de que el código que la procesa sea lo suficientemente robusto y se base en campos concretos, no en la estructura en su conjunto.

Aquí está la estructura de la tabla para los eventos:

ColumnaDescripción
profile_idID de usuario de Adapty.
event_typeNombre del evento en minúsculas. Consulta la sección Eventos para conocer los tipos de eventos.
event_datetimeFecha en formato ISO 8601.
transaction_idIdentificador único de una transacción, como una compra o renovación.
original_transaction_idIdentificador de la transacción de compra original.
subscription_expires_atFecha de vencimiento de la suscripción. Normalmente en el futuro.
environmentPuede ser Sandbox o Production.
revenue_usdIngresos en USD. Puede estar vacío.
proceeds_usdIngresos netos en USD. Puede estar vacío.
net_revenue_usdIngresos netos (tras impuestos) en USD. Puede estar vacío.
tax_amount_usdImporte deducido en concepto de impuestos en USD. Puede estar vacío.
revenue_localIngresos en moneda local. Puede estar vacío.
proceeds_localIngresos netos en moneda local. Puede estar vacío.
net_revenue_localIngresos netos (tras impuestos) en moneda local. Puede estar vacío.
tax_amount_localImporte deducido en concepto de impuestos en moneda local. Puede estar vacío.
customer_user_idID de usuario del desarrollador. Por ejemplo, puede ser tu UUID de usuario, email u otro identificador. Null si no lo has configurado.
storePuede ser app_store o play_store.
product_idID del producto en Apple App Store, Google Play Store o Stripe.
base_plan_idID del plan base en Google Play Store o ID de precio en Stripe.
developer_idID del desarrollador (SDK) del paywall donde se originó la transacción.
ab_test_nameNombre de la prueba A/B donde se originó la transacción.
ab_test_revisionRevisión de la prueba A/B donde se originó la transacción.
paywall_nameNombre del paywall donde se originó la transacción.
paywall_revisionRevisión del paywall donde se originó la transacción.
profile_countyPaís del perfil determinado por Adapty a partir de la IP.
install_dateFecha de instalación en formato ISO 8601.
idfvidentifierForVendor en dispositivos iOS
idfaadvertisingIdentifier en dispositivos iOS
advertising_idEl Advertising ID es un código único asignado por el sistema operativo Android que los anunciantes pueden usar para identificar de forma única el dispositivo de un usuario.
ip_addressIP del dispositivo (puede ser IPv4 o IPv6, con preferencia por IPv4 cuando esté disponible). Se actualiza cada vez que cambia la IP del dispositivo.
cancellation_reason

Motivo por el que el usuario canceló una suscripción.

Puede ser:

iOS & Android voluntarily_cancelled, billing_error, refund

iOS price_increase, product_was_not_available, unknown, upgraded

Android new_subscription_replace, cancelled_by_developer

android_app_set_idUn AppSetId: ID único por dispositivo y por cuenta de desarrollador, restablecible por el usuario, para casos de uso publicitario sin monetización.
android_idEn Android 8.0 (nivel de API 26) y versiones superiores, un número de 64 bits (expresado como cadena hexadecimal), único para cada combinación de clave de firma de la app, usuario y dispositivo. Para más detalles, consulta la documentación para desarrolladores de Android.
deviceNombre del modelo de dispositivo visible para el usuario final.
currencyCódigo de moneda de 3 letras (ISO-4217) de la transacción.
store_countryPaís del perfil determinado por la store de Apple/Google.
attribution_sourceFuente de atribución.
attribution_network_user_idID asignado al usuario por la fuente de atribución.
attribution_statusPuede ser organic, non_organic o unknown.
attribution_channelNombre del canal de marketing.
attribution_campaignNombre de la campaña de marketing.
attribution_ad_groupGrupo de anuncios de atribución.
attribution_ad_setConjunto de anuncios de atribución.
attribution_creativePalabra clave creativa de atribución.
attributesJSON de atributos de usuario personalizados. Incluye los atributos personalizados que hayas configurado para enviar desde tu app móvil. Para enviarlo, activa la opción Send User Attributes en la página Integrations -> Webhooks.
integration_idsTodos los IDs de integración asociados a un perfil. Diccionario. Ejemplo: {‘mixpanel_user_id’: ‘mixpanelUserId-test’, ‘facebook_anonymous_id’: ‘facebookAnonymousId-test’}
Here is the table structure for the paywall visits:
ColumnaDescripción
:--------------------:------------------------------------------------------------------------------------------------------------------
profile_idID de usuario de Adapty.
customer_user_idID de usuario del desarrollador. Por ejemplo, puede ser tu UUID de usuario, email o cualquier otro ID. Null si no lo configuraste.
profile_countryPaís del perfil determinado por la store de Apple/Google.
install_dateFecha ISO 8601 en que se produjo la instalación.
storePuede ser app_store o play_store.
paywall_showed_atLa fecha en que el paywall se mostró al cliente.
developer_idID de desarrollador (SDK) del paywall donde se originó la transacción.
ab_test_nameNombre de la prueba A/B donde se originó la transacción.
ab_test_revisionRevisión de la prueba A/B donde se originó la transacción.
paywall_nameNombre del paywall donde se originó la transacción.
paywall_revisionRevisión del paywall donde se originó la transacción.

Eventos y etiquetas

Puedes gestionar qué datos comunica la integración. La integración ofrece las siguientes opciones de configuración:

ParámetroDescripción
Exclude Historical EventsElige excluir los eventos que ocurrieron antes de que el usuario instalara la app con el SDK de Adapty. Esto evita la duplicación de eventos y garantiza informes precisos. Por ejemplo, si un usuario activó una suscripción mensual el 10 de enero y actualizó la app con el SDK de Adapty el 6 de marzo, Adapty omitirá los eventos anteriores al 6 de marzo y conservará los posteriores.
Include events without profileElige incluir las transacciones que no están vinculadas a un perfil de usuario en Adapty. Esto puede incluir compras realizadas antes de instalar el SDK de Adapty o transacciones recibidas desde las notificaciones del servidor del store que no pueden asociarse inmediatamente a un usuario concreto.
Send User AttributesSi deseas enviar atributos específicos del usuario, como preferencias de idioma, y tu plan de OneSignal admite más de 10 etiquetas, selecciona esta opción. Al activarla, se permite incluir información adicional más allá de las 10 etiquetas predeterminadas. Ten en cuenta que superar los límites de etiquetas puede provocar errores.
s3-settings.webp

Debajo de los ajustes de integración, hay tres grupos de eventos que puedes exportar, enviar y almacenar en Amazon S3 desde Adapty. Activa los que necesites. Consulta la lista completa de eventos que ofrece Adapty aquí.

fd5ccb9-CleanShot_2023-08-17_at_14.49.282x.webp