Criação de links de referência curtos
Gere links de referência curtos e compartilháveis que permitem a atribuição de usuário a usuário e rastreiam instalações de aplicativos a partir de referências orgânicas.
Requisito de versão: Esta funcionalidade requer a versão 1.0.0 ou superior do SDK. Os links curtos permanecem ativos por 30 dias após a criação.
Visão geral
O que são links curtos de referência
Os links curtos transformam os Singular Links longos e cheios de parâmetros em URLs compactos e seguros, convenientes para compartilhar por SMS, redes sociais ou convites no aplicativo.
Crie links curtos de forma dinâmica para que os usuários possam compartilhá-los com amigos e convidá-los a baixar e utilizar o seu aplicativo. Cada link curto rastreia o usuário que o referiu, permitindo-lhe 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 referência:
- Link único: Um link de rastreamento básico que direciona os usuários para o download do seu aplicativo. Consulte as Perguntas frequentes sobre links singularespara 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 Parâmetros do link de rastreamento
- 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 SDK
Criar link de referência curto
Gera um link de referência curto com parâmetros personalizados e um manipulador de retorno de chamada para estados de sucesso e erro.
Assinatura do método:
public static void createReferrerShortLink(
string baseLink,
string referrerName,
string referrerId,
Dictionary<string, string> parameters,
Action<string, string> callback
)
Parâmetros:
- baseLink: O URL original do link de rastreamento Singular
- referrerName: Nome de exibição do usuário de referência
- referrerId: Identificador único para o usuário de referência
- parameters: Dicionário que contém parâmetros dinâmicos adicionais (opcional, passe null se não houver nenhum)
-
callback: Função de retorno de chamada com parâmetros
(string shortLinkURL, string error)
Exemplo de utilização
Criar um link curto com parâmetros personalizados e implementar a lógica de compartilhamento na chamada de retorno de sucesso.
using UnityEngine;
using Singular;
using System.Collections.Generic;
public class ReferralManager : MonoBehaviour
{
public void ShareReferralLink()
{
// Create custom parameters for the link
Dictionary<string, string> parameters = new Dictionary<string, string>()
{
{ "channel", "sms" },
{ "campaign_id", "summer_promo_2025" },
{ "referral_type", "friend_invite" }
};
// Generate the short referrer link
SingularSDK.createReferrerShortLink(
"https://sample.sng.link/D52wc/cuvk?pcn=test", // Base Singular Link
"John Doe", // Referrer name
"user_12345", // Referrer ID
parameters, // Custom parameters
OnShortLinkCreated // Callback
);
}
// Callback method that receives the short link URL or error
private void OnShortLinkCreated(string shortLinkURL, string error)
{
if (!string.IsNullOrEmpty(shortLinkURL))
{
// Success - short link was created
Debug.Log($"Generated short link: {shortLinkURL}");
// Share the link using your preferred sharing method
ShareLink(shortLinkURL);
}
else if (!string.IsNullOrEmpty(error))
{
// Error occurred during link creation
Debug.LogError($"Error creating short link: {error}");
// Handle error - retry or show user feedback
ShowErrorMessage("Failed to create share link. Please try again.");
}
}
private void ShareLink(string shortLinkURL)
{
// Example: Use Unity's native share functionality
string shareMessage = $"Join me on this awesome app! {shortLinkURL}";
#if UNITY_ANDROID
ShareOnAndroid(shareMessage);
#elif UNITY_IOS
ShareOnIOS(shareMessage);
#else
// Fallback: Copy to clipboard
GUIUtility.systemCopyBuffer = shortLinkURL;
Debug.Log("Link copied to clipboard");
#endif
}
#if UNITY_ANDROID
private void ShareOnAndroid(string message)
{
using (AndroidJavaClass intentClass = new AndroidJavaClass("android.content.Intent"))
using (AndroidJavaObject intentObject = new AndroidJavaObject("android.content.Intent"))
{
intentObject.Call<AndroidJavaObject>("setAction", intentClass.GetStatic<string>("ACTION_SEND"));
intentObject.Call<AndroidJavaObject>("setType", "text/plain");
intentObject.Call<AndroidJavaObject>("putExtra", intentClass.GetStatic<string>("EXTRA_TEXT"), message);
using (AndroidJavaClass unity = new AndroidJavaClass("com.unity3d.player.UnityPlayer"))
using (AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject>("currentActivity"))
{
AndroidJavaObject chooser = intentClass.CallStatic<AndroidJavaObject>(
"createChooser", intentObject, "Share via"
);
currentActivity.Call("startActivity", chooser);
}
}
}
#endif
#if UNITY_IOS
private void ShareOnIOS(string message)
{
// iOS native sharing implementation
// You can use a plugin like NativeShare or implement UIActivityViewController
Debug.Log($"Sharing on iOS: {message}");
}
#endif
private void ShowErrorMessage(string message)
{
// Your UI error display logic
Debug.LogWarning(message);
}
}
Melhores práticas de implementação
Tratamento de erros
Implemente um tratamento de erros robusto na resposta de chamada para gerenciar falhas de rede, parâmetros inválidos ou problemas de servidor.
- Lógica de repetição: Implementar backoff exponencial para erros de rede transitórios
- Feedback do usuário: Exibir mensagens de erro claras quando a criação de links falhar
- Opção de retorno: Fornecer métodos de compartilhamento alternativos (por exemplo, compartilhar a Singular Link completa se a criação de um link curto falhar)
-
Validação: Verificar os parâmetros antes de chamar
createReferrerShortLinkpara detectar problemas antecipadamente
Controle e análise
Aproveite as informações do referenciador para criar loops virais e medir o crescimento orgânico.
Melhores práticas: Utilize IDs de referenciador consistentes que correspondam ao seu sistema interno de identificação de usuários. Isto permite-lhe:
- Atribuir novas instalações a usuários de referência específicos
- Recompensar os usuários por referências bem sucedidas
- Acompanhar o coeficiente viral e as métricas do fator K
- Identificar os seus defensores de marca mais valiosos
Expiração do link
Planeie o ciclo de vida do link de 30 dias na sua estratégia de compartilhamento.
Importante: Os links curtos expiram ao fim de 30 dias. Para campanhas de longo prazo ou funcionalidades de compartilhamento persistentes, gere periodicamente novos links curtos ou utilize o Link Singular completo como alternativa.
Casos de uso comuns
Programas de indicação no aplicativo
Permita que os usuários convidem amigos diretamente do seu aplicativo com links de referência personalizados.
- Sistema de recompensa: Acompanhe as referências e recompense os usuários por inscrições bem sucedidas de amigos
- Compartilhamento social: Integração com folhas de compartilhamento nativas da plataforma para SMS, WhatsApp, e-mail e redes 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 geram conteúdos que querem compartilhar com outros.
- Atribuição de conteúdo: Acompanhe qual conteúdo gera mais instalações de aplicativos
- Reconhecimento do criador: Atribuir novos usuários a criadores de conteúdos para gamificação
- Marcação de campanhas: Adicionar parâmetros dinâmicos com base no tipo ou categoria de conteúdo
Convites para eventos
Gerar links exclusivos para convites de eventos que monitorizam os participantes que trazem novos usuários.
- Contexto do evento: Incluir ID e detalhes do evento nos parâmetros do link
- Acompanhamento de participantes: Medir a propagação viral de evento para evento
- Efeitos de rede: Identificar eventos com as taxas de conversão mais elevadas