SDK do iOS - Adicionando suporte a Deep Linking

Documento

Adição de suporte para ligações diretas

Quando um utilizador clica num deep link num dispositivo que tem a aplicação instalada, a aplicação abre-se e mostra um produto ou uma experiência específica.

Os links de rastreamento Singular podem incluir a funcionalidade de deep linking, bem como o deferred deep linking (consulte nossas Perguntas frequentes sobre deep linking e as Perguntas frequentes sobre links Singular para obter mais informações).

O Singular SDK Config, implementado na etapa anterior, faz referência a uma função de retorno de chamada ("handleDeeplink"). A função "handleDeeplink" é necessária para habilitar o suporte a links diretos e links diretos diferidos por meio do SDK do Singular.

Pré-requisitos para a implementação de links diretos

Certifique-se de ter concluído as etapas a seguir:

  • Seguiu as instruções em Pré-requisitos de Links Singulares.
  • No Xcode, adicionou um subdomínio personalizado Singular a Assinatura e recursos > Domínios associados.
  • Adicionou o esquema do aplicativo aos seus Tipos de URL em Informações > Tipos de URL.
  • Adicionou seu ID e esquema da equipe de desenvolvedores da Apple na página Aplicativos na plataforma Singular.

Observações:

  • Se o aplicativo já estiver configurado para usar o iOS Universal Links, o domínio do Universal Link já existe em Domínios associados e pode permanecer. Esse domínio deve ser adicionado à opção de configuração Domínios compatíveis, conforme observado na próxima seção.
  • Você também deve incluir o domínio de link personalizado do Singular, para que o Singular possa rastrear atribuições de campanhas de marketing e manipular links diretos dessas campanhas.

Criação do método de retorno de chamada para o manipulador

O exemplo de código abaixo cria um método de retorno de chamada chamado handleDeeplink (esse método é referenciado no exemplo de código Config acima).

A assinatura do bloco é void(^)(SingularLinkParams*). O SingularLinkParams contém o destino do deep link, parâmetros de passagem e se o link é diferido ou não.

SwiftObjective-C
func handleDeeplink(params: SingularLinkParams?) {
     
     // Get Deeplink data from Singular Link


     let deeplink = params?.getDeepLink()
     let passthrough = params?.getPassthrough()
     let isDeferredDeeplink = params?.isDeferred()
     let urlParams = params?.getUrlParameters()
     
     // Add deep link handling code here


     //...
}

Outras opções de link