Este documento foi atualizado.
A tradução para Português (Brasil) não foi concluída ainda.
Atualização em inglês: 20 de ago

Introdução aos eventos do app no iOS

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.

Antes de começar

Você precisará do seguinte:

Etapa 1: configurar o app do Facebook

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:

  • Domínios do app: forneça a URL do app na App Store da Apple.
  • URL da Política de Privacidade: forneça uma URL para a Política de Privacidade. Obrigatório para tornar seu app público.
  • URL dos Termos de Serviço: forneça uma URL para os Termos de Serviço.
  • Plataforma: role a tela até a parte inferior do painel “Configurações” para adicionar a plataforma iOS.

Para mais informações sobre como adicionar detalhes ao app, como um ícone ou uma categoria, visite a documentação sobre desenvolvimento de apps.

Etapa 2: vincular os portfólios empresarial e de anúncios

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.

  1. No Painel de Apps, clique em Configurações > Avançado.
  2. Em Identificações das contas de anúncios autorizadas, adicione as identificações das contas de anúncios. Obtenha as identificações das contas de anúncios no Gerenciador de Anúncios.
  3. No painel Contas de anúncios, clique em Começar e siga as instruções para conectar o app a uma empresa.

Etapa 3: configurar o ambiente de desenvolvedor

O procedimento a seguir usa o Gerenciador de Pacote do Swift para configurar seu ambiente de desenvolvimento no Xcode.

  1. No Xcode, clique em File > Add Packages....
  2. No campo de pesquisa exibido, insira a URL do repositório: https://github.com/facebook/facebook-ios-sdk.
  3. Em Dependency Rule, selecione Up to Next Major Version e insira uma versão recente. A versão mais recente está listada em https://github.com/facebook/facebook-ios-sdk/releases/
  4. Escolha as bibliotecas que você pretende usar e os direcionamentos para adicionar a elas.
  5. Clique em Add Package para finalizar a configuração.

Etapa 4: registrar e configurar seu app com o Facebook

Adicione o identificador de pacote e habilite o login único para o app.

O identificador do pacote (ID do pacote) aparecerá na caixa abaixo. Se a caixa estiver vazia, localize o ID do pacote no destino do aplicativo iOS do seu projeto Xcode e cole-o na caixa abaixo.
ID do pacote
É possível alterar o identificador do pacote na seção iOS da página de configurações.
Habilitar login único
Habilite o login único no app ao definir a configuração abaixo como "Sim".
Login único Iniciará a partir das Notificações do iOS

Etapa 5: configurar o projeto

Configure o arquivo Info.plist com um trecho em XML que contenha dados sobre o 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. Clique com o botão direito do mouse em Info.plist e selecione Abrir como ▸ Código-fonte.
  2. Copie e cole o seguinte trecho em XML no corpo do arquivo (<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. Em <array><string>, na chave [CFBundleURLSchemes], substitua APP-ID pelo ID do app.
  4. Em <string>, na chave FacebookAppID, substitua APP-ID pelo ID do app.
  5. Em <string>, na chave FacebookClientToken, substitua CLIENT-TOKEN pelo valor encontrado em Configurações > Avançado > Token de cliente no Painel de Apps.
  6. Em <string>, na chave FacebookDisplayName, substitua APP-NAME pelo nome do app.
  7. Para usar um diálogo do Facebook (por exemplo, o diálogo Entrar, o diálogo de compartilhamento, Convites para app do Facebook e assim por diante) que possa executar uma mudança para apps do Facebook, o 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.
  1. Clique no botão + Capability na aba Signing & Capabilities ao configurar o alvo do app.
  2. Encontre e selecione o recurso Keychain Sharing.
  3. Verifique se o recurso Keychain Sharing está listado para o direcionamento.

Etapa 6: conectar o representante do app e o representante de cena

Substitua o código no método AppDelegate.swift pela opção exibida abaixo. 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 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]
        )
    }  
}

O iOS 13 moveu a funcionalidade da URL de abertura para SceneDelegate. Se estiver usando o iOS 13, adicione o seguinte método ao SceneDelegate para que operações como login ou compartilhamento funcionem conforme esperado:
// 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]
    )
}

Etapa 7: adicionar os eventos do app

Há três maneiras de rastrear eventos no app:

App Store Connect para iOS 14

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.

Eventos registrados automaticamente

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.

EventoDetalhes

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.

Receber consentimento do dispositivo

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.

Desabilitar eventos registrados automaticamente

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.

Desabilitar a coleta de identificações de anunciante

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.

Registrar eventos manualmente

Para registrar um evento personalizado, transmita o nome do evento como AppEvents.Name:

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

Parâmetros dos eventos

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.

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).

Etapa 8: testar os eventos

Com o Auxiliar para Anúncios de Aplicativo, é possível fazer testes para verificar se o app está enviando os eventos ao Facebook.

  1. Abra o Auxiliar para Anúncios de Aplicativo.
  2. Em Selecionar um aplicativo, escolha o app e selecione Enviar.
  3. Role a tela até o fim e escolha Testar evento.
  4. Inicie o app e envie um evento. O evento deve ser exibido na página.

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.

Saiba mais

Exemplos de apps

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.