Deep link no seu app para celular iOS

Um deep link é um link que direciona para o app e para um conteúdo específico dentro dele. Para ver mais informações, consulte Adicionar deep links ao anúncio de app.

É possível aceitar o deep linking ao usar links universais ou esquemas de URL personalizados.

Aceitar links universais

Pré-requisitos

Antes de você aceitar links universais no seu app para celular iOS, é preciso cumprir os seguintes pré-requisitos:

Depois de atender aos pré-requisitos, é possível adicionar código ao app para aceitar a Mensuração de Eventos Agregados. Para obter mais informações, consulte Aggregated Event Measurement.

Aceitar esquemas de URL personalizados no app para celular

Etapa 1: adicionar configurações de deep linking

No Painel de Aplicativos, adicione informações de deep linking ao seu app. Navegue até Painel > Configurações > iOS.

  • No sufixo de esquema de URL, adicione o esquema de URL sem ://. Por exemplo, se o esquema de URL for mytravelapp://, digite mytravelapp. Observação: esse requisito não se aplica a versões anteriores ao iOS16.
  • Obtenha o ID da App Store na URL da App Store: https://itunes.apple.com/us/app/my-app/APP_STORE_ID.

Etapa 2: deep linking diferido (opcional)

Com o deep linking diferido, é possível direcionar as pessoas para uma visualização personalizada depois da instalação do app pela loja de apps.

Use o deep linking diferido se quiser fazer o direcionamento para pessoas que ainda não instalaram o app. Se você está direcionando o anúncio para pessoas que já o instalaram, não é necessário adicionar esse recurso.

Devido a atualizações do iOS 14, não há mais compatibilidade com o deep linking diferido no ponto de extremidade POST /{ad-id} de campanhas da SKAdNetwork.

O SDK do Facebook para iOS inclui o produto App Links, compatível com o processo de deep linking diferido no app. Para gerenciar deep links diferidos, além de implementar deep links, adicione o código a seguir ao app.

Se você mantiver conformidade com o Regulamento Geral sobre a Proteção de Dados (RGPD) conforme descrito em FB SDK Best Practices for GDPR Compliance, reative a inicialização automática do SDK (depois que um usuário final fornecer consentimento) antes de buscar o link diferido.

Objective-C

Código para gerenciar links diferidos:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) {
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
      if (error) {
        NSLog(@"Received error while fetching deferred app link %@", error);
      }
      if (url) {
        [[UIApplication sharedApplication] openURL:url];
      }
    }];
  }
  return YES;
}

Código para reabilitar a inicialização automática do SDK, se necessário:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) {
    // Get user consent
    [FBSDKSettings setAutoInitEnabled:YES];
    [FBSDKApplicationDelegate initializeSDK:nil];
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
      if (error) {
        NSLog(@"Received error while fetching deferred app link %@", error);
      }
      if (url) {
        [[UIApplication sharedApplication] openURL:url];
      }
    }];
  }
  return YES;
}

Swift

Código para gerenciar links diferidos:

import FacebookCore

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        AppLinkUtility.fetchDeferredAppLink { (url, error) in
            if let error = error {
                print("Received error while fetching deferred app link %@", error)
            }
            if let url = url {
                if #available(iOS 10, *) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }
        return true;
}

Código para reabilitar a inicialização automática do SDK, se necessário:

import FacebookCore

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        // Get user consent
        Settings.isAutoInitEnabled = true
        ApplicationDelegate.initializeSDK(nil)
        AppLinkUtility.fetchDeferredAppLink { (url, error) in
            if let error = error {
                print("Received error while fetching deferred app link %@", error)
            }
            if let url = url {
                if #available(iOS 10, *) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }
        return true;
} 

Etapa 3: verificar a configuração do deep link

Você pode verificar o SDK do Facebook e a configuração do deep link no nosso Auxiliar para Anúncios no Aplicativo na seção de ferramentas e suporte. Recomendamos que você verifique sua configuração antes de começar a executar anúncios de deep link.

Verificar a configuração do deep link

Se você tiver selecionado "Instalações do app" como objetivo, será possível adicionar um deep link diferido.

No Gerenciador de Anúncios, selecione Novo conjunto de anúncios e role a tela até Criativo do anúncio. Adicione o deep link ou uma URL com metadados implementados de App Links do Facebook para levar os usuários a uma determinada área do app após a instalação.