SDK do Android - Suporte a links curtos de referenciador

Criação de links curtos de referenciador

Gere links curtos de referenciador compartilháveis que habilitam 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 12.1.1 ou superior. Os links curtos permanecem ativos por 30 dias após sua 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, redes sociais ou convites in-app.

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 obrigató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 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 de links de rastreamento
  • Informações do referenciador: Nome e ID do usuário que compartilha o link para habilitar 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:

Singular.createReferrerShortLink(
    String baseLink,
    String referrerName,
    String referrerId,
    JSONObject parameters,
    ShortLinkHandler handler
)

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
  • parameters: JSONObject contendo parâmetros dinâmicos adicionais (opcional)
  • handler: Interface de callback com os métodos onSuccess e onError (obrigatório)

ShortLinkHandler define dois métodos abstratos (onSuccess(String link) e onError(String error)), portanto não é uma interface Kotlin SAM. Sempre implemente-a como uma expressão de objeto (Kotlin) ou classe anônima (Java) com ambos os métodos definidos. Um handler null ou um SDK não inicializado faz com que a chamada seja descartada silenciosamente — verifique se Singular.init() foi executado antes de invocar este método.

onError pode ser disparado sincronamente antes de qualquer requisição de rede quando a validação falha (por exemplo, um link base inválido). Implemente verificações defensivas de null em seu callback para que ele possa ser executado tanto na thread chamadora quanto em uma thread em segundo plano.


Exemplo de uso

Crie um link curto com parâmetros personalizados e implemente a lógica de compartilhamento no callback de sucesso.

Kotlin Java
import org.json.JSONObject
import org.json.JSONException

// Create custom parameters for the link
val params = JSONObject()
try {
    params.put("channel", "sms")
    params.put("campaign_id", "summer_promo_2025")
    params.put("referral_type", "friend_invite")
} catch (e: JSONException) {
    Log.e("ShortLink", "Error creating parameters: ${e.message}")
}

// Generate the short referrer link
Singular.createReferrerShortLink(
    "https://sample.sng.link/D52wc/cuvk?pcn=test",  // Base Singular Link
    "John Doe",                                      // Referrer name
    "user_12345",                                    // Referrer ID
    params,                                          // Custom parameters
    object : ShortLinkHandler {
        override fun onSuccess(shortLinkURL: String) {
            Log.d("ShortLink", "Generated: $shortLinkURL")

            // Share the short link via Android Share Sheet
            val shareIntent = Intent(Intent.ACTION_SEND).apply {
                type = "text/plain"
                putExtra(Intent.EXTRA_TEXT,
                    "Join me on this awesome app! $shortLinkURL")
            }
            startActivity(Intent.createChooser(shareIntent, "Share via"))
        }

        override fun onError(error: String) {
            Log.e("ShortLink", "Error creating link: $error")

            // Handle error - retry or show user feedback
            Toast.makeText(
                applicationContext,
                "Failed to create share link. Please try again.",
                Toast.LENGTH_SHORT
            ).show()
        }
    }
)

Melhores práticas de implementação

Tratamento de erros

Implemente um tratamento robusto de erros no callback onError 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 ao usuário: Exiba mensagens de erro claras quando a criação do link falhar
  • Opção alternativa: 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 createReferrerShortLink para detectar problemas antecipadamente

Rastreamento e análise

Aproveite as informações do referenciador para construir 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 que você:

  • Atribua novas instalações a usuários referenciadores específicos
  • Recompense usuários por referências bem-sucedidas
  • Rastreie o coeficiente viral e as métricas de K-factor
  • Identifique seus defensores de marca mais valiosos

Expiração do link

Planeje o ciclo de vida de 30 dias do link em 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 alternativa.


Casos de uso comuns

Programas de indicação in-app

Permita que os usuários convidem amigos diretamente do seu aplicativo com links de indicação personalizados.

  • Sistema de recompensa: Rastreie indicações e recompense usuários por cadastros bem-sucedidos de amigos
  • Compartilhamento social: Integre com o Android Share Sheet 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 gerarem conteúdo que desejam compartilhar com outros.

  • Atribuição de conteúdo: Rastreie qual conteúdo gera o maior número de instalações de aplicativos
  • Reconhecimento de criadores: Atribua novos usuários a criadores de conteúdo para gamificação
  • Marcação de campanhas: Adicione parâmetros dinâmicos baseados no tipo ou categoria de conteúdo

Convites para eventos

Gere links únicos para convites de eventos que rastreiem quais participantes trazem novos usuários.

  • Contexto do evento: Inclua o ID do evento e detalhes nos parâmetros do link
  • Rastreamento de participantes: Meça a disseminação viral de evento para evento
  • Efeitos de rede: Identifique eventos com as maiores taxas de conversão