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 partilhar por SMS, redes sociais ou convites na aplicação.
Crie links curtos de forma dinâmica para que os utilizadores possam partilhá-los com amigos e convidá-los a descarregar e utilizar a sua aplicação. Cada link curto rastreia o utilizador 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 utilizador que partilha 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 utilizador 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 uma ligação curta com parâmetros personalizados e implementar a lógica de partilha 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 gerir 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 utilizador: Exibir mensagens de erro claras quando a criação de links falhar
- Opção de retorno: Fornecer métodos de partilha alternativos (por exemplo, partilhar a Ligação Singular completa se a criação de uma ligação curta falhar)
-
Validação: Verificar os parâmetros antes de chamar
CreateReferrerShortLinkpara detetar problemas antecipadamente
Controlo 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 utilizadores. Isto permite-lhe:
- Atribuir novas instalações a utilizadores de referência específicos
- Recompensar os utilizadores 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 partilha.
Importante: As hiperligações curtas expiram ao fim de 30 dias. Para campanhas de longo prazo ou funcionalidades de partilha 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 utilizadores convidem amigos diretamente da sua aplicação com links de referência personalizados.
- Sistema de recompensa: Acompanhe as referências e recompense os utilizadores por inscrições bem sucedidas de amigos
- Partilha social: Integração com folhas de partilha nativas da plataforma para SMS, WhatsApp, e-mail e redes sociais
- Convites pessoais: Inclua o nome do referenciador na mensagem partilhada para personalização
Conteúdo gerado pelo utilizador
Crie links partilháveis quando os utilizadores geram conteúdos que querem partilhar com outros.
- Atribuição de conteúdo: Acompanhe qual conteúdo gera mais instalações de aplicativos
- Reconhecimento do criador: Atribuir novos utilizadores 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 ligações exclusivas para convites de eventos que monitorizam os participantes que trazem novos utilizadores.
- 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