En esta guía, te mostramos cómo 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.
Necesitarás lo siguiente:
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:

Para obtener más información sobre cómo agregar información a tu app (por ejemplo, un ícono o una categoría), visita la documentación sobre el desarrollo de apps.
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.
El siguiente procedimiento utiliza el administrador de paquetes de Swift para configurar el entorno de desarrollo en Xcode.
Configura el archivo Info.plist con un fragmento de XML que contiene datos sobre tu app.
Después de que integras el inicio de sesión con Facebook, se registran y recopilan automáticamente determinados eventos de la app en el administrador de eventos, a menos que desactives el registro automático de eventos. Para obtener información sobre qué información se recopila y cómo desactivar el registro de eventos de la app de manera automática, consulta Registro automático de eventos de la app.
info.plist y elige Open As ▸ Source Code.
<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>
<array><string> de la clave [CFBundleURLSchemes], reemplaza [APP-ID] con el identificador de la app.<string> de la clave FacebookAppID, reemplaza [APP-ID] con el identificador de la app.<string> de la clave FacebookClientToken, reemplaza CLIENT-TOKEN con el valor encontrado en Configuración > Avanzado > Token del cliente del panel de apps.<string> de la clave FacebookDisplayName, reemplaza [APP-NAME] por el nombre de la app.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.



Reemplaza el código que aparece 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 FBSDKCoreKit
@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]
)
}
}
En iOS 13, la funcionalidad de URL de apertura se movió 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 FBSDKCoreKit
...
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]
)
}
Hay tres maneras de hacer seguimiento de los eventos en tu app:
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.
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.
| Evento | Detalles |
|---|---|
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. |
Apple proporciona cuatro tipos diferentes de compras en la app: consumibles, no consumibles, suscripción con renovación automática y suscripción sin renovación automática. Si implementas las compras en la app con StoreKit 1, registraremos automáticamente cada uno de esos tipos de compras en la app. Si implementas las compras en la app con StoreKit 2, registraremos automáticamente los no consumibles, las suscripciones con renovación automática y las suscripciones sin renovación automática. Si quieres registrar automáticamente también los consumibles, deberás agregar la clave SKIncludeConsumableInAppPurchaseHistory en tu Info.plist:
<key>SKIncludeConsumableInAppPurchaseHistory</key><true/>En StoreKit 1, registraremos automáticamente un evento cuando el usuario compre correctamente un producto, devuelva un producto o intente comprar un producto pero falle el proceso de compra. En StoreKit 2, registraremos automáticamente un evento cuando el usuario compre un producto o devuelva un producto. Si quieres registrar también los casos en que una compra falla en StoreKit 2, proporcionamos una API manual a la que debes llamar. Puedes llamar a esta API durante el proceso de compra en StoreKit 2 de la siguiente manera:
do {
let result = try await product.purchase()
switch result {
case .success(let verificationResult):
// Handle success case
case .pending:
// Handle pending case
default:
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
} catch {
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
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.
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.
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.
Para registrar un evento personalizado, pasa el nombre del evento como AppEvents.Name.
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))Meta 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.
Si quieres usar eventos de la app para medir las conversiones de anuncios dinámicos, configura el parámetro fb_content_id para que sea el valor del identificador del producto usado en el anuncio dinámico asociado.
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 usar 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.).
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.
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í.
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.