Criação de links curtos de referenciador
Gere links curtos de referenciador compartilháveis que permitem a atribuição de usuário para usuário e rastreiam instalações de aplicativos a partir de referências orgânicas.
Requisito de versão: Esta funcionalidade requer SDK versão 11.0.8 ou superior. Os links curtos permanecem ativos por 30 dias após a criação.
Visão geral
O que são links curtos de referenciador
Os links curtos transformam Singular Links longos e cheios de parâmetros em URLs compactas e seguras, convenientes para compartilhar via SMS, mídias sociais ou convites no aplicativo.
Crie links curtos dinamicamente para que os usuários possam compartilhá-los com amigos para convidá-los a baixar e usar seu aplicativo. Cada link curto rastreia o usuário referenciador, permitindo medir o crescimento viral e atribuir novas instalações a defensores específicos.
Requisitos de implementação
Componentes necessários
Reúna estes elementos antes de criar um link curto de referenciador:
- Singular Link: Um link de rastreamento base que direciona os usuários para o download do seu aplicativo. Consulte Singular Links FAQ para obter instruções de configuração
- Parâmetros dinâmicos: Parâmetros personalizados opcionais para adicionar contexto ao link. Veja as opções disponíveis em Tracking Link Parameters
- Informações do referenciador: Nome e ID do usuário que compartilha o link para permitir a atribuição de novas instalações ao referenciador
Método do SDK
createReferrerShortLink
Gere um link curto de referenciador com parâmetros personalizados e handlers de callback para estados de sucesso e erro.
Assinatura do método:
+ (void)createReferrerShortLink:(NSString *)baseLink
referrerName:(NSString *)referrerName
referrerId:(NSString *)referrerId
passthroughParams:(NSDictionary *)passthroughParams
completionHandler:(void(^)(NSString *, NSError *))completionHandler;
Parâmetros:
- baseLink: A URL do link de rastreamento original do Singular
- referrerName: Nome de exibição do usuário referenciador
- referrerId: Identificador único do usuário referenciador
- passthroughParams: NSDictionary contendo parâmetros dinâmicos adicionais (opcional)
- completionHandler: Bloco de callback com a string do link curto e parâmetros de erro
Exemplo de uso
Crie um link curto com parâmetros personalizados e implemente a lógica de compartilhamento no handler de conclusão.
// Define your Singular tracking link as the base link
let referrerBaseLink = "https://yourdomain.sng.link/Csfge/aknl?_dl=myscheme%3A%2F%2Fmydeeplink/referrer&_smtype=3"
// Get referrer information from user input
let referrerID = referrerIDField.text ?? "unknown_user"
let referrerName = referrerNameField.text ?? "Anonymous"
// Add custom passthrough parameters
let passthroughParams: [String: Any] = [
"channel": "sms",
"campaign_id": "summer_promo_2025",
"referral_type": "friend_invite"
]
// Generate the short referrer link
Singular.createReferrerShortLink(
referrerBaseLink,
referrerName: referrerName,
referrerId: referrerID,
passthroughParams: passthroughParams
) { shortLink, error in
if let error = error {
// Handle error - retry or show user feedback
print("Error creating short link: \(error.localizedDescription)")
// Show error message to user
let alert = UIAlertController(
title: "Error",
message: "Failed to create share link. Please try again.",
preferredStyle: .alert
)
alert.addAction(UIAlertAction(title: "OK", style: .default))
self.present(alert, animated: true)
return
}
if let shortLink = shortLink, !shortLink.isEmpty {
// Share the short link via iOS Activity Controller
let shareText = "Join me on this awesome app! \(shortLink)"
let activityVC = UIActivityViewController(
activityItems: [shareText],
applicationActivities: nil
)
// For iPad: set popover presentation controller
if let popover = activityVC.popoverPresentationController {
popover.sourceView = self.view
popover.sourceRect = CGRect(x: self.view.bounds.midX,
y: self.view.bounds.midY,
width: 0,
height: 0)
popover.permittedArrowDirections = []
}
self.present(activityVC, animated: true)
}
}
// Define your Singular tracking link as the base link
NSString *referrerBaseLink = @"https://yourdomain.sng.link/Csfge/aknl?_dl=myscheme%3A%2F%2Fmydeeplink/referrer&_smtype=3";
// Get referrer information from user input
NSString *referrerID = self.referrerIDField.text ?: @"unknown_user";
NSString *referrerName = self.referrerNameField.text ?: @"Anonymous";
// Add custom passthrough parameters
NSDictionary *passthroughParams = @{
@"channel": @"sms",
@"campaign_id": @"summer_promo_2025",
@"referral_type": @"friend_invite"
};
// Generate the short referrer link
[Singular createReferrerShortLink:referrerBaseLink
referrerName:referrerName
referrerId:referrerID
passthroughParams:passthroughParams
completionHandler:^(NSString *shortLink, NSError *error) {
if (error) {
// Handle error - retry or show user feedback
NSLog(@"Error creating short link: %@", error.localizedDescription);
// Show error message to user
UIAlertController *alert = [UIAlertController
alertControllerWithTitle:@"Error"
message:@"Failed to create share link. Please try again."
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:@"OK"
style:UIAlertActionStyleDefault
handler:nil]];
[self presentViewController:alert animated:YES completion:nil];
return;
}
if (shortLink && ![shortLink isEqualToString:@""]) {
// Share the short link via iOS Activity Controller
NSString *shareText = [NSString stringWithFormat:@"Join me on this awesome app! %@", shortLink];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]
initWithActivityItems:@[shareText]
applicationActivities:nil];
// For iPad: set popover presentation controller
if (activityVC.popoverPresentationController) {
activityVC.popoverPresentationController.sourceView = self.view;
activityVC.popoverPresentationController.sourceRect = CGRectMake(
CGRectGetMidX(self.view.bounds),
CGRectGetMidY(self.view.bounds),
0, 0
);
activityVC.popoverPresentationController.permittedArrowDirections = 0;
}
[self presentViewController:activityVC animated:YES completion:nil];
}
}];
Melhores práticas de implementação
Tratamento de erros
Implemente um tratamento de erros robusto no handler de conclusão para gerenciar falhas de rede, parâmetros inválidos ou problemas do servidor.
- Lógica de nova tentativa: Implemente backoff exponencial para erros transitórios de rede
- Feedback do usuário: Exiba mensagens de erro claras quando a criação do link falhar
- Opção de fallback: Forneça métodos alternativos de compartilhamento (por exemplo, compartilhe o Singular Link completo se a criação do link curto falhar)
-
Validação:
Verifique os parâmetros antes de chamar
createReferrerShortLinkpara detectar problemas antecipadamente
Rastreamento e análise
Aproveite as informações do referenciador para criar loops virais e medir o crescimento orgânico.
Melhor prática: Use IDs de referenciador consistentes que correspondam ao seu sistema interno de identificação de usuários. Isso permite:
- Atribuir novas instalações a usuários referenciadores específicos
- Recompensar usuários por indicações bem-sucedidas
- Rastrear o coeficiente viral e as métricas de K-factor
- Identificar seus defensores de marca mais valiosos
Expiração do link
Planeje o ciclo de vida de 30 dias do link na sua estratégia de compartilhamento.
Importante: Os links curtos expiram após 30 dias. Para campanhas de longo prazo ou recursos de compartilhamento persistentes, gere novos links curtos periodicamente ou use o Singular Link completo como fallback.
Casos de uso comuns
Programas de indicação no aplicativo
Permita que os usuários convidem amigos diretamente do seu aplicativo com links de indicação personalizados.
- Sistema de recompensas: Rastreie as indicações e recompense os usuários por inscrições de amigos bem-sucedidas
- Compartilhamento social: Integre-se com o iOS Activity Controller para Messages, Mail e mídias sociais
- Convites pessoais: Inclua o nome do referenciador na mensagem compartilhada para personalização
Conteúdo gerado pelo usuário
Crie links compartilháveis quando os usuários gerarem conteúdo que desejam compartilhar com outras pessoas.
- Atribuição de conteúdo: Rastreie qual conteúdo gera mais instalações de aplicativos
- Reconhecimento do criador: Atribua novos usuários aos criadores de conteúdo para gamificação
- Marcação de campanha: Adicione parâmetros dinâmicos com base no tipo ou categoria de conteúdo
Convites para eventos
Gere links exclusivos para convites de eventos que rastreiam quais participantes trazem novos usuários.
- Contexto do evento: Inclua o ID do evento e os detalhes nos parâmetros do link
- Rastreamento de participantes: Meça a propagação viral de evento para evento
- Efeitos de rede: Identifique os eventos com as maiores taxas de conversão