Este guia mostra como adicionar eventos do app ao app novo ou existente integrando o SDK do Facebook e registrando esses eventos.
Devido a mudanças, recomendamos que você faça a atualização para a nova versão do SDK do Facebook para iOS. Para saber mais, consulte a seção sobre consentimento do dispositivo.
Você precisará do seguinte:
Acesse o Painel de Apps, clique em Meus apps e, caso ainda não tenha um app, crie um. Acesse Configurações > Básico para visualizar o painel Detalhes do app com o ID, a chave secreta e outras informações.
Role a tela para baixo até o fim da página e clique em Adicionar plataforma. Selecione iOS, insira os detalhes do app e salve as alterações.
Para configurar o app para publicidade, adicione as seguintes informações:

Para mais informações sobre como adicionar detalhes ao app, como um ícone ou uma categoria, visite a documentação de desenvolvimento de apps.
Para veicular anúncios e mensurar instalações no Gerenciador de Anúncios, associe pelo menos uma conta de anúncios e um portfólio empresarial ao seu app.
O procedimento a seguir usa o Gerenciador de Pacote do Swift para configurar seu ambiente de desenvolvimento no Xcode.
Configure o arquivo Info.plist com um trecho em XML que contenha dados sobre o app.
Depois que você integrar o Login do Facebook, alguns eventos do app serão automaticamente registrados e coletados para o Gerenciador de Eventos, a menos que você desabilite o registro automático. Para saber mais sobre as informações coletadas e sobre como desabilitar o registro automático de eventos, consulte Registro automático de eventos do app.
Info.plist e selecione Abrir como ▸ Código-fonte.
<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>, na chave [CFBundleURLSchemes], substitua APP-ID pelo ID do app.<string>, na chave FacebookAppID, substitua APP-ID pelo ID do app.<string>, na chave FacebookClientToken, substitua CLIENT-TOKEN pelo valor encontrado em Configurações > Avançado > Token de cliente no Painel de Apps.<string>, na chave FacebookDisplayName, substitua APP-NAME pelo nome do app.Info.plist do app precisará incluir isto também:
<key>LSApplicationQueriesSchemes</key><array><string>fbapi</string><string>fb-messenger-share-api</string></array>
É possível definir o processo de coleta automática de eventos do app como "verdadeiro" ou "falso" adicionando FacebookAutoLogAppEventsEnabled como uma chave em Info.plist.
É necessário que o projeto tenha o recurso Keychain Sharing para que o login funcione em apps do Mac Catalyst.



Substitua o código no método AppDelegate.swift pelo código a seguir. Esse código inicializa o SDK quando seu app é iniciado e permite que o SDK gerencie logins e compartilhamentos do app nativo do Facebook quando você executa uma ação Entrar ou Compartilhar. Caso contrário, o usuário precisará estar conectado ao Facebook para fazer login pelo navegador no app.
// 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]
)
}
}
O iOS 13 moveu a funcionalidade da URL de abertura para SceneDelegate. Ao usar essa versão do iOS, adicione o seguinte método a SceneDelegate para que as operações de login e compartilhamento funcionem conforme o esperado:
// 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]
)
}
Há três maneiras de rastrear eventos no app:
Os eventos que seu app coleta e envia para o Facebook podem exigir que você divulgue esses tipos de dados no questionário do App Store Connect. É sua responsabilidade informar isso na política de privacidade do aplicativo. Consulte App privacy details on the App Store para saber os tipos de dados que você precisará divulgar.
Quando você usa o SDK do Facebook, alguns eventos no seu app serão registrados e coletados automaticamente para o Gerenciador de Eventos, a menos que você desabilite o registro automático. Esses eventos são relevantes para todos os casos de uso: direcionamento, mensuração e otimização.
Três eventos principais são coletados como parte do registro automático de eventos do app: instalação e inicialização do app e compra. Quando o registro automático está habilitado, os anunciantes podem desabilitar esses eventos, bem como outros eventos internos do Facebook, como eventos de impressão de login. No entanto, se você desabilitar o registro automático, mas ainda quiser registrar eventos específicos (como de instalação ou compra), implemente manualmente o registro desses eventos no app.
| Evento | Detalhes |
|---|---|
Instalação do app | A primeira vez que um novo usuário ativa um app ou que um app é iniciado em um dispositivo específico. |
Lançamento do app | Quando uma pessoa inicia o app, o SDK do Facebook é inicializado, e o evento é registrado. Entretanto, uma segunda inicialização do app não será registrada se ocorrer em menos de 60 segundos da primeira. |
Compra no app | Quando uma compra processada pela Apple App Store ou Google Play é concluída. Se você usar outras plataformas de pagamento, será necessário adicionar o código do evento de compra manualmente. |
Relatório de falha do SDK do Facebook (Para uso apenas no Facebook) | Quando o seu app falhar devido ao SDK do Facebook, um relatório de falha será gerado e enviado ao Facebook ao reiniciar o app. Esse relatório não revela dados do usuário e ajuda o Facebook a garantir a qualidade e a estabilidade do SDK. Para recusar o registro desse evento, desabilite eventos registrados automaticamente. |
A Apple oferece quatro tipos diferentes de compra no app: consumível, não consumível, assinatura com renovação automática e assinatura não renovável. Se você implementar compras no app com o StoreKit 1, nós registraremos automaticamente cada um desses tipos de compra. Se você implementar compras no app com o StoreKit 2, nós registraremos automaticamente as compras não consumíveis, as assinaturas com renovação automática e as assinaturas não renováveis. Caso você também queira registrar automaticamente as compras consumíveis, será preciso adicionar a chave SKIncludeConsumableInAppPurchaseHistor a Info.plist:
<key>SKIncludeConsumableInAppPurchaseHistory</key><true/>No StoreKit 1, registraremos automaticamente um evento quando o usuário comprar ou restaurar um produto ou quando tentar comprar um produto, mas a compra falhar. No StoreKit 2, registraremos automaticamente um evento quando o usuário comprar ou restaurar um produto. Para registrar um evento de falha na compra no Store Kit 2, basta chamar a API manual fornecida. Você pode chamar essa API no fluxo de compra do StoreKit 2 da seguinte forma:
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 do iOS 14.5, será preciso definir isAdvertiserTrackingEnabled e registrar todas as vezes que você conceder permissão a um dispositivo para compartilhar dados com o Facebook.
Defina Settings.shared.isAdvertiserTrackingEnabled = true se o dispositivo fornecer o consentimento.
Defina Settings.shared.isAdvertiserTrackingEnabled = false se o dispositivo não permitir o rastreamento.
Para desabilitar o registro automático de eventos, abra o Info.plist do app como código no Xcode e adicione o XML a seguir ao dicionário de propriedades:
<key>FacebookAutoLogAppEventsEnabled</key> <false/>
Em alguns casos, em vez de desabilitar o recurso, é possível adiar a coleta de eventos registrados automaticamente para obter consentimento do usuário ou atender a requisitos legais, por exemplo. Para isso, defina Settings.shared.isAutoLogAppEventsEnabled = true para reabilitar o registro automático após o usuário final fornecer o consentimento.
Defina Settings.shared.isAutoLogAppEventsEnabled = false para suspender a coleta novamente quando necessário.
Também é possível desabilitar o registro automático de eventos de compra no app no Painel de Apps. Acesse o Cartão do iOS em Básico>Configurações e alterne o controle para Não.
Para desabilitar a coleta de advertiser-id, abra o .plist do app como código no Xcode e adicione o XML a seguir ao dicionário de propriedades:
<key>FacebookAdvertiserIDCollectionEnabled</key> <false/>
Em vez de desabilitar o recurso, em alguns casos, é possível adiar a coleta de advertiser_id para obter consentimento do usuário ou atender a obrigações legais, por exemplo. Para isso, defina Settings.shared.isAdvertiserIDCollectionEnabled = true após o usuário final fornecer o consentimento.
Defina Settings.shared.isAdvertiserIDCollectionEnabled = false para suspender a coleta novamente quando necessário.
Para registrar um evento personalizado, transmita o nome do evento como AppEvents.Name:
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))O Facebook criou um conjunto de parâmetros úteis que podem ser incluídos em eventos-padrão ou personalizados. Você também pode fornecer seus próprios parâmetros.
Se quiser usar eventos do app para mensurar as conversões de anúncios dinâmicos, defina o parâmetro fb_content_id como o valor da identificação do produto usado no anúncio dinâmico associado.
Os parâmetros predefinidos servem para fornecer orientação sobre os padrões comuns de registro. Eles podem ter formato mais legível nos relatórios e em outras interfaces do usuário. Registre o conjunto de parâmetros que você quer detalhar. A descrição recomendada desses parâmetros é "somente para orientação". Você pode usar o recurso para o que fizer mais sentido para seu app.
Os parâmetros são passados por meio de um dicionário. Nele, a chave mantém o nome do parâmetro como AppEvents.ParameterName, e o valor deve ser uma String ou um número (Int, Double e assim por diante).
Com o Auxiliar para Anúncios de Aplicativo, é possível fazer testes para verificar se o app está enviando os eventos ao Facebook.
Se você planeja otimizar/rastrear os eventos em campanhas da SKAdNetwork, é necessário configurar de forma adequada a prioridade do evento (também conhecida como valor de conversão) para que o Facebook receba as conversões corretamente. Clique aqui para ver mais informações.
Criamos alguns exemplos de diferentes tipos de apps para que você possa ver com mais facilidade como usar os eventos do app. Cada um dos exemplos de apps fornece um detalhamento tela a tela dos diferentes eventos e parâmetros que podem ser coletados. No final de cada seção, há uma tabela que lista os eventos e parâmetros recomendados para cada app. Se necessário, você pode criar os próprios eventos e parâmetros.