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.
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
//...
}
- (void)handleDeeplink:(SingularLinkParams*)params{
// Get Deeplink data from Singular Link
NSString *deeplink = [params getDeepLink];
NSString *passthrough = [params getPassthrough];
BOOL isDeferredDeeplink = [params isDeferred];
NSDictionary *urlParams = [params getUrlParameters];
// Add deep link handling code here
//...
}
Outras opções de link
O Singular SDK também suporta Universal Links que não são servidos pelo Singular. Isso é necessário para medir a atribuição para parceiros que suportam links diretos, como para o Google Ads e o Facebook.
Para as versões 12.0.3 e posteriores do SDK do Singular iOS, os Universal Links não-Singular são suportados por padrão.
Para oferecer suporte a links diretos de terceiros em versões mais antigas do SDK:
- Em versões mais antigas do Singular iOS SDK, é necessário adicionar todos os domínios associados (excluindo sng.link) à opção de configuração supportedDomains (no objeto Config ) sempre que o Singular SDK for inicializado. Isso permite o comportamento do link direto de terceiros, mas não permite a atribuição ao link direto. Para atribuição, você ainda precisa usar os links de rastreamento do Singular.
- A funcionalidadesupportedDomains pressupõe que você configurou seu aplicativo para Universal Links e atualmente hospeda seu próprio arquivo AASA em seu domínio.
func getConfig() -> SingularConfig? {
// Singular Config Options
guard let config = SingularConfig(apiKey: Constants.APIKEY,
andSecret: Constants.SECRET) else {
return nil
}
//...
config.supportedDomains = ["subdomain.mywebsite.com",
"anothersubdomain.myotherwebsite.com"]
//...
return config
}
- (SingularConfig *)getConfig {
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc] initWithApiKey:APIKEY
andSecret:SECRET];
//...
config.supportedDomains = @[@"subdomain.mywebsite.com",
"anothersubdomain.myotherwebsite.com"];
//...
return config;
}
O Singular SDK oferece suporte a Universal Links fornecidos por ESPs (Provedores de serviços de email).
O domínio ESP deve estar habilitado para HTTPS. A Apple exige que os aplicativos iOS extraiam arquivos de associação de site de aplicativo da apple de um ponto de extremidade habilitado para HTTPS sem redirecionamentos. Verifique com o seu ESP como é que ele aloja este ficheiro para a sua aplicação, uma vez que pode exigir a configuração do DNS no DNS do seu site. Normalmente, o ESP fornecerá as etapas necessárias para habilitar o HTTPS.
Para dar suporte a um domínio ESP, adicione o domínio de rastreamento personalizado à opção de configuração espDomains (no objeto config) sempre que o SDK Singular for inicializado.
func getConfig() -> SingularConfig? {
// Singular Config Options
guard let config = SingularConfig(apiKey: Constants.APIKEY,
andSecret: Constants.SECRET) else {
return nil
}
//...
config.espDomains = ["links.mywebsite.com"]
//...
return config
}
- (SingularConfig *)getConfig {
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc] initWithApiKey:APIKEY
andSecret:SECRET];
//...
config.espDomains = @[@"links.mywebsite.com"];
//...
return config;
}