SDK de Unity - Soporte de enlaces cortos de referencia

Documento

Creación de enlaces de referencia cortos

Genere enlaces de referencia cortos y compartibles que permitan la atribución de usuario a usuario y el seguimiento de las instalaciones de aplicaciones a partir de referencias orgánicas.

Requisitos de versión: Esta funcionalidad requiere la versión 1.0.0 o superior del SDK. Los enlaces cortos permanecen activos durante 30 días tras su creación.

Los enlaces cortos transforman los Singular Links largos y llenos de parámetros en URLs compactas y seguras, cómodas para compartir a través de SMS, redes sociales o invitaciones dentro de la aplicación.

Cree enlaces cortos de forma dinámica para que los usuarios puedan compartirlos con sus amigos e invitarles a descargar y utilizar su aplicación. Cada enlace corto realiza un seguimiento del usuario que lo ha recomendado, lo que le permite medir el crecimiento viral y atribuir nuevas instalaciones a promotores específicos.


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

  • Enlace singular: Un enlace de seguimiento base que dirige a los usuarios a la descarga de su aplicación. Consulte las preguntas frecuentes sobre enlaces singularespara obtener instrucciones de configuración
  • Parámetros dinámicos: Parámetros personalizados opcionales para añadir contexto al enlace. Ver las opciones disponibles en Parámetros del enlace de seguimiento
  • Información del remitente: Nombre e ID del usuario que comparte el enlace para permitir la atribución de nuevas instalaciones al remitente.

Genera un enlace de referencia corto con parámetros personalizados y un controlador de devolución de llamada para los estados de éxito y error.

Firmadel método:

public static void CreateReferrerShortLink(
    string baseLink,
    string referrerName,
    string referrerId,
    Dictionary<string, string> parameters,
    Action<string, string> callback
)

Parámetros:

  • baseLink: La URL original del enlace de seguimiento de Singular
  • referrerName: Nombre para mostrar del usuario remitente
  • referrerId: Identificador único del usuario remitente
  • parameters: Diccionario que contiene parámetros dinámicos adicionales (opcional, pasar null si ninguno)
  • callback: Función de devolución de llamada con parámetros (string shortLinkURL, string error)

Cree un enlace corto con parámetros personalizados e implemente la lógica de compartición en la devolución de llamada de éxito.

C#
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);
    }
}

Implemente una sólida gestión de errores en la llamada de retorno para gestionar fallos de red, parámetros no válidos o problemas del servidor.

  • Lógica de reintentos: Implementar un reintento exponencial para errores de red transitorios.
  • Comentarios del usuario: Visualización de mensajes de error claros cuando falla la creación de enlaces
  • Opción alternativa: Proporcionar métodos alternativos para compartir (por ejemplo, compartir el enlace singular completo si falla la creación del enlace corto).
  • Validación: Verifique los parámetros antes de llamar a CreateReferrerShortLink para detectar problemas con antelación.

Aproveche la información de los remitentes para crear bucles virales y medir el crecimiento orgánico.

Práctica recomendada: Utilice identificadores de referencia coherentes que coincidan con su sistema interno de identificación de usuarios. Esto le permitirá

  • Atribuir las nuevas instalaciones a usuarios de referencia específicos.
  • Recompensar a los usuarios por sus referencias
  • Realizar un seguimiento del coeficiente viral y las métricas del factor K
  • Identificar a sus defensores de marca más valiosos

Planifique el ciclo de vida de los enlaces de 30 días en su estrategia de compartición.

Importante: Los enlaces cortos caducan a los 30 días. Para campañas a largo plazo o funciones de compartición persistentes, genere nuevos enlaces cortos periódicamente o utilice el Enlace Singular completo como alternativa.


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

  • Sistema de recompensas: Realice un seguimiento de las recomendaciones y recompense a los usuarios por las inscripciones exitosas de amigos.
  • Compartir en redes sociales: Integración con hojas de uso compartido nativas de la plataforma para SMS, WhatsApp, correo electrónico y redes sociales.
  • Invitaciones personales: incluya el nombre del recomendante en el mensaje compartido para personalizarlo.

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

  • Atribución de contenidos: Rastrea qué contenido impulsa más instalaciones de aplicaciones
  • Reconocimiento de creadores: Atribuya los nuevos usuarios a los creadores de contenidos para la gamificación.
  • Etiquetado de campañas: Añada parámetros dinámicos basados en el tipo o la categoría del contenido

Genere enlaces únicos para invitaciones a eventos que realicen un seguimiento de los asistentes que traen nuevos usuarios.

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