Se actualizó este documento.
La traducción en español no está disponible todavía.
Actualización del documento en inglés: 19 de ago.

Primeros pasos con los eventos de la app en iOS

En esta guía, se muestra cómo puedes agregar eventos a tu app nueva o preexistente, para lo cual debes integrar el SDK de Facebook y, luego, registrar estos eventos.

Se han realizado cambios en el SDK de Facebook para iOS. Te recomendamos actualizar el SDK de Facebook para iOS a la nueva versión. Consulta la sección "Consentimiento del dispositivo" para obtener más información acerca de este cambio.

Antes de empezar

Necesitarás lo siguiente:

Paso 1: Configurar tu app de Facebook

Ve al panel de apps, haz clic en Mis apps y crea una nueva app si todavía no tienes una. Ve a Configuración > Aspectos básicos para visualizar el panel de detalles de la app con tu identificador de la app, tu clave secreta de la app y otra información acerca de tu app.

Desplázate hasta la parte inferior de la página y haz clic en Agregar plataforma. Elige iOS, agrega los detalles de tu app y guarda los cambios.

Configura la app para que admita publicidad incorporando la siguiente información:

  • Dominios de la app: proporciona la URL de la App Store de Apple de la app.
  • URL de la política de privacidad: proporciona una URL de la Política de privacidad. Obligatorio para que la app sea pública.
  • URL de las condiciones del servicio: proporciona una URL de las Condiciones del servicio.
  • Plataforma: desplázate hasta la parte inferior del panel de configuración para agregar la plataforma de iOS.

Para obtener más información sobre cómo agregar detalles a tu app (por ejemplo, un ícono o una categoría), visita la documentación sobre el desarrollo de apps.

Paso 2: Vincular tus portfolios publicitarios y comerciales

Para poner anuncios en circulación y medir las instalaciones en el administrador de anuncios, asocia al menos una cuenta publicitaria y un portfolio comercial a tu app.

  1. En el panel de apps, haz clic en Configuración > Opciones avanzadas.
  2. En Identificadores de cuentas publicitarias autorizadas, agrega los identificadores de tus cuentas. Puedes obtener estos identificadores en el administrador de anuncios.
  3. En el panel Cuentas publicitarias, haz clic en Empezar y sigue las instrucciones para conectar la app a un negocio.

Paso 3: Configurar el entorno de desarrollo

El siguiente procedimiento utiliza el administrador de paquetes de Swift para configurar el entorno de desarrollo en Xcode.

  1. En Xcode, haz clic en File > Add Packages....
  2. En el campo de búsqueda que aparece, ingresa la URL del repositorio: https://github.com/facebook/facebook-ios-sdk.
  3. En Dependency Rule, selecciona Up to Next Major Version e ingresa una versión reciente. La versión más reciente figura en https://github.com/facebook/facebook-ios-sdk/releases/
  4. Selecciona las bibliotecas que utilizarás y los destinos adonde quieres agregar dichas bibliotecas.
  5. Haz clic en Add Package para completar la configuración.

Paso 4: Registrar y configurar tu app en Facebook

Agrega tu identificador del paquete y activa el inicio de sesión único de tu app.

El identificador del paquete debe aparecer en el siguiente cuadro. Si no es así, busca el identificador del paquete en "iOS Application Target" del proyecto Xcode y pégalo en el cuadro siguiente.
Identificador del paquete
Si lo deseas, puedes cambiar este identificador más adelante en la sección "iOS" de la página de configuración.
Activar el inicio de sesión único
Para activar el inicio de sesión único en tu app, configura la opción "Inicio de sesión único" en "Sí".
Inicio de sesión único Se iniciará desde las notificaciones de iOS

Paso 5: Configurar el proyecto

Configura el archivo Info.plist con un fragmento de XML que contiene datos sobre tu app.

After you integrate Facebook Login, certain App Events are automatically logged and collected for Events Manager, unless you disable Automatic App Event Logging. In particular, when launching an app in Korea, please note that Automatic App Event Logging can be disabled. For details about what information is collected and how to disable automatic app event logging, see Automatic App Event Logging.

  1. Haz clic con el botón derecho en info.plist y elige Open As ▸ Source Code.
  2. Copia y pega el siguiente fragmento de código XML en el cuerpo de tu archivo (<dict>...</dict>).
    <key>CFBundleURLTypes</key>
    <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fbAPP-ID</string>
      </array>
      </dict>
    </array>
    <key>FacebookAppID</key>
    <string>APP-ID</string>
    <key>FacebookClientToken</key>
    <string>CLIENT-TOKEN</string>
    <key>FacebookDisplayName</key>
    <string>APP-NAME</string>
  3. En <array><string> de la clave [CFBundleURLSchemes], reemplaza [APP-ID] con el identificador de la app.
  4. En <string> de la clave FacebookAppID, reemplaza [APP-ID] con el identificador de la app.
  5. En <string> de la clave FacebookClientToken, reemplaza CLIENT-TOKEN con el valor encontrado en Configuración > Avanzado > Token del cliente del panel de apps.
  6. En <string> de la clave FacebookDisplayName, reemplaza [APP-NAME] por el nombre de la app.
  7. Para usar los cuadros de diálogo de Facebook (por ejemplo, inicio de sesión, contenido compartido, invitaciones a la app, etc.) con los que se puede cambiar de una app a las apps de Facebook, el archivo Info.plist de tu solicitud también debe incluir la siguiente información:
    <key>LSApplicationQueriesSchemes</key>
    <array>
      <string>fbapi</string>
      <string>fb-messenger-share-api</string>
    </array>

Es posible configurar directamente la recopilación automática de eventos de la app en "verdadero" o "falso" si se agrega FacebookAutoLogAppEventsEnabled como clave en Info.plist.

El proyecto deberá incluir la función "Keychain Sharing" para que el inicio de sesión funcione en las apps de Mac Catalyst.
  1. Selecciona el botón + Capability en la pestaña Signing & Capabilities cuando configures el objetivo de la app.
  2. Busca y selecciona la función Keychain Sharing.
  3. Asegúrate de que la función Keychain Sharing esté disponible para el objetivo.

Paso 6: Conectar el delegado de la app y el delegado de escena

Reemplaza el código en el método AppDelegate.swift con el siguiente código. Este código inicializa el SDK cuando se inicia tu app y permite al SDK administrar inicios de sesión y compartir contenido desde la app nativa de Facebook cuando inicias sesión o compartes algo. De lo contrario, el usuario debe iniciar sesión en Facebook a fin de usar el navegador de la app para iniciar sesión.
    
// AppDelegate.swift
import UIKit
import FacebookCore

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {    
    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {          
        ApplicationDelegate.shared.application(
            application,
            didFinishLaunchingWithOptions: launchOptions
        )

        return true
    }
          
    func application(
        _ app: UIApplication,
        open url: URL,
        options: [UIApplication.OpenURLOptionsKey : Any] = [:]
    ) -> Bool {
        ApplicationDelegate.shared.application(
            app,
            open: url,
            sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
            annotation: options[UIApplication.OpenURLOptionsKey.annotation]
        )
    }  
}

iOS 13 movió la funcionalidad de la URL de apertura a SceneDelegate. Si usas iOS 13, agrega el siguiente método a SceneDelegate para que las operaciones como el inicio de sesión o el uso compartido funcionen según lo previsto:
// SceneDelegate.swift
import FacebookCore
  ...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
    guard let url = URLContexts.first?.url else {
        return
    }

    ApplicationDelegate.shared.application(
        UIApplication.shared,
        open: url,
        sourceApplication: nil,
        annotation: [UIApplication.OpenURLOptionsKey.annotation]
    )
}

Paso 7: Agregar eventos de la app

Hay tres maneras de hacer seguimiento de los eventos en tu app:

Conexión de App Store para iOS 14

Es posible que los eventos que tu app recopila y envía a Facebook requieran que divulgues esos tipos de datos en el cuestionario de App Store Connect. Es tu responsabilidad asegurarte de que esto se vea reflejado en la Política de privacidad de tu app. Visita el artículo Detalles de privacidad de la App Store de Apple para obtener información sobre los tipos de datos que tendrás que divulgar.

Eventos registrados de forma automática

Cuando usas el SDK de Facebook, determinados eventos de tu app se registran y recopilan automáticamente en el administrador de eventos de Facebook, a menos que desactives el registro automático de eventos. Estos eventos son relevantes en todos los casos de uso: segmentación, medición y optimización.

Hay tres eventos clave que se recopilan como parte del registro automático de estos eventos: descarga de la app, inicio de la app y compra. Cuando el registro automático está activado, los anunciantes pueden desactivar estos eventos y otros eventos internos de Facebook, como los eventos de impresión de inicio de sesión. Sin embargo, si desactivaste el registro automático, pero quieres registrar eventos concretos (por ejemplo, eventos de instalación o de compra), debes implementar manualmente el registro de estos eventos en tu app.

EventoDetalles

Instalación de la app

La primera vez que un usuario nuevo activa una app o que inicia una app en un dispositivo particular.

Inicio de la app

Cuando una persona inicia tu app, el SDK de Facebook se inicializa y se registra el evento. Sin embargo, si ocurre un segundo inicio de la app dentro de los 60 segundos del primero, no se registrará el segundo evento.

Compras en la app

Cuando se completó una compra procesada por Google Play o la App Store de Apple. Si usas otras plataformas de pago, tendrás que agregar manualmente el código del evento de compra.

Informe de bloqueo del SDK de Facebook

(para uso exclusivo de Facebook)

Si tu app se bloqueó a causa del SDK de Facebook, se generará un informe de bloqueo, el cual se enviará a Facebook al reiniciar la app. Este informe no incluye datos del usuario y ayuda a Facebook a garantizar la calidad y estabilidad del SDK. Para excluir el registro de este evento, desactiva los eventos registrados de forma automática.

Obtener consentimiento del dispositivo

A partir de iOS 14.5, tendrás que configurar AdvertiserTrackingEnabled y registrar cada vez que le des permiso a un dispositivo para compartir datos con Facebook.

Si el dispositivo proporciona consentimiento, configura Settings.shared.isAdvertiserTrackingEnabled = true.

Si el dispositivo no permite seguimiento, configura Settings.shared.isAdvertiserTrackingEnabled = false.

Desactivar eventos registrados de forma automática

Para desactivar el registro automático de eventos, abre el .plist de la app como código en Xcode y agrega el siguiente XML al diccionario de propiedades:

<key>FacebookAutoLogAppEventsEnabled</key>
<false/>

Es posible que, en algunos casos, prefieras demorar la recopilación de eventos registrados automáticamente en lugar de desactivarla (por ejemplo, para obtener el consentimiento del usuario o para cumplir con obligaciones legales). En este caso, configura Settings.shared.isAutoLogAppEventsEnabled = true para volver a activar el registro automático después de que el usuario final proporcionó su consentimiento.

Para volver a desactivar la recopilación, independientemente del motivo, configura Settings.shared.isAutoLogAppEventsEnabled = false.

También puedes desactivar el registro automático de eventos de compra en la app utilizando el panel de apps. Ve a la tarjeta para iOS en Básico>Configuración y cambia el interruptor a No.

Desactivar la recopilación de identificadores de anunciantes

Para desactivar la recopilación de advertiser-id, abre .plist de la app como código en Xcode y agrega el siguiente XML al diccionario de propiedades:

<key>FacebookAdvertiserIDCollectionEnabled</key>
<false/>

Es posible que, en algunos casos, prefieras demorar la recopilación de advertiser_id en lugar de desactivarla (por ejemplo, para obtener el consentimiento del usuario o para cumplir con obligaciones legales). En este caso, configura Settings.shared.isAutoLogAppEventsEnabled = true después de que el usuario final haya proporcionado su consentimiento.

Para desactivar la recopilación, independientemente del motivo, configura Settings.shared.isAdvertiserIDCollectionEnabled = false.

Eventos registrados de forma manual

Para registrar un evento personalizado, pasa el nombre del evento como AppEvents.Name.

AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))

Parámetros de eventos

Facebook creó un conjunto de parámetros de eventos útiles para incluirlos con eventos estándar o con tus eventos personalizados. Asimismo, puedes usar tus propios parámetros.

Estos parámetros predefinidos ofrecen información orientativa acerca de los patrones de registro comunes, y pueden tener un formato más legible en los informes y otras interfaces de usuario. Registra el conjunto de parámetros cuyos desgloses quieras ver. La descripción recomendada es únicamente orientativa. Puedes los parámetros para cualquier aspecto que sea relevante en tu app.

Los parámetros pasan por un diccionario en el que la clave mantiene el nombre del parámetro como AppEvents.ParameterName y el valor debe ser String o un número (Int, Double, etc.).

Paso 8: Probar tus eventos

Con el asistente para anuncios sobre apps, puedes probar los eventos de la app a fin de asegurarte de que tu app envíe eventos a Facebook.

  1. Abre el asistente para anuncios sobre apps.
  2. En Seleccionar una app, elige la app y haz clic en Enviar.
  3. Desplázate hasta la parte inferior y selecciona Probar evento.
  4. Inicia la app y envía un evento. El evento debería aparecer en la página.

Si tienes planeado realizar un seguimiento de los eventos en las campañas de SKAdNetwork u optimizarlos, también deberás configurar adecuadamente la prioridad del evento (también conocida como valor de conversión) para que Facebook reciba de manera correcta las conversiones. Para obtener información más detallada, consulta aquí.

Más información

Ejemplos de apps

Creamos algunos ejemplos de distintos tipos de apps para que te resulte más fácil ver cómo puedes usar eventos de la app. Las apps de ejemplo ofrecen un desglose por pantallas de los diferentes eventos y parámetros que se pueden recopilar. Al final de cada sección hay una tabla en la que se enumeran los eventos y los parámetros recomendados para cada app. Además, si es necesario, puedes crear tus propios eventos y parámetros.