SDK de Android - Soporte para enlaces cortos de referencia

Creación de enlaces cortos de referencia

Genera enlaces cortos de referencia compartibles que habiliten la atribución de usuario a usuario y rastreen instalaciones de aplicaciones desde referencias orgánicas.

Requisito de versión: Esta funcionalidad requiere SDK versión 12.1.1 o superior. Los enlaces cortos permanecen activos durante 30 días después de su creación.

Descripción general

Qué son los enlaces cortos de referencia

Los enlaces cortos transforman los Singular Links largos y llenos de parámetros en URLs compactas y seguras, convenientes para compartir mediante SMS, redes sociales o invitaciones in-app.

Crea enlaces cortos dinámicamente para que los usuarios puedan compartirlos con amigos para invitarlos a descargar y usar tu aplicación. Cada enlace corto rastrea al usuario referente, lo que te permite medir el crecimiento viral y atribuir nuevas instalaciones a defensores específicos.


Requisitos de implementación

Componentes requeridos

Reúne estos elementos antes de crear un enlace corto de referencia:

  • Singular Link: Un enlace de rastreo base que dirige a los usuarios a la descarga de tu aplicación. Consulta Singular Links FAQ para obtener instrucciones de configuración
  • Parámetros dinámicos: Parámetros personalizados opcionales para agregar contexto al enlace. Ve las opciones disponibles en Parámetros de enlaces de rastreo
  • Información del referente: Nombre e ID del usuario que comparte el enlace para habilitar la atribución de nuevas instalaciones al referente

Método del SDK

createReferrerShortLink

Genera un enlace corto de referencia con parámetros personalizados y handlers de callback para estados de éxito y error.

Firma del método:

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

Parámetros:

  • baseLink: La URL del enlace de rastreo de Singular original
  • referrerName: Nombre para mostrar del usuario referente
  • referrerId: Identificador único del usuario referente
  • parameters: JSONObject que contiene parámetros dinámicos adicionales (opcional)
  • handler: Interfaz de callback con los métodos onSuccess y onError (requerido)

ShortLinkHandler define dos métodos abstractos (onSuccess(String link) y onError(String error)), por lo que no es una interfaz Kotlin SAM. Siempre impleméntala como una expresión de objeto (Kotlin) o una clase anónima (Java) con ambos métodos definidos. Un null handler o un SDK no inicializado provoca que la llamada se descarte silenciosamente: verifica que Singular.init() se haya ejecutado antes de invocar este método.

onError puede dispararse sincrónicamente antes de cualquier solicitud de red cuando falla la validación (por ejemplo, un enlace base inválido). Implementa verificaciones defensivas de null en tu callback para que pueda ejecutarse en el hilo que llama o en un hilo en segundo plano.


Ejemplo de uso

Crea un enlace corto con parámetros personalizados e implementa la lógica de compartir en el callback de éxito.

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()
        }
    }
)

Mejores prácticas de implementación

Manejo de errores

Implementa un manejo robusto de errores en el callback onError para gestionar fallos de red, parámetros inválidos o problemas del servidor.

  • Lógica de reintento: Implementa backoff exponencial para errores transitorios de red
  • Retroalimentación al usuario: Muestra mensajes de error claros cuando falla la creación del enlace
  • Opción alternativa: Proporciona métodos alternativos de compartir (por ejemplo, comparte el Singular Link completo si la creación del enlace corto falla)
  • Validación: Verifica los parámetros antes de llamar a createReferrerShortLink para detectar problemas temprano

Rastreo y analítica

Aprovecha la información del referente para construir bucles virales y medir el crecimiento orgánico.

Mejor práctica: Usa IDs de referente consistentes que coincidan con tu sistema interno de identificación de usuarios. Esto te permite:

  • Atribuir nuevas instalaciones a usuarios referentes específicos
  • Recompensar a los usuarios por referencias exitosas
  • Rastrear el coeficiente viral y las métricas de K-factor
  • Identificar a tus defensores de marca más valiosos

Expiración del enlace

Planifica el ciclo de vida del enlace de 30 días en tu estrategia de compartir.

Importante: Los enlaces cortos expiran después de 30 días. Para campañas a largo plazo o funciones de compartir persistentes, genera nuevos enlaces cortos periódicamente o usa el Singular Link completo como alternativa.


Casos de uso comunes

Programas de referidos in-app

Permite a los usuarios invitar a amigos directamente desde tu aplicación con enlaces de referidos personalizados.

  • Sistema de recompensas: Rastrea referidos y recompensa a los usuarios por registros exitosos de amigos
  • Compartir social: Integra con Android Share Sheet para SMS, WhatsApp, correo electrónico y redes sociales
  • Invitaciones personales: Incluye el nombre del referente en el mensaje compartido para personalización

Contenido generado por el usuario

Crea enlaces compartibles cuando los usuarios generen contenido que quieran compartir con otros.

  • Atribución de contenido: Rastrea qué contenido genera más instalaciones de aplicaciones
  • Reconocimiento de creadores: Atribuye nuevos usuarios a los creadores de contenido para la gamificación
  • Etiquetado de campañas: Agrega parámetros dinámicos basados en el tipo o categoría de contenido

Invitaciones a eventos

Genera enlaces únicos para invitaciones a eventos que rastreen qué asistentes traen nuevos usuarios.

  • Contexto del evento: Incluye el ID del evento y los detalles en los parámetros del enlace
  • Rastreo de asistentes: Mide la propagación viral de un evento a otro
  • Efectos de red: Identifica eventos con las tasas de conversión más altas