Guía de solución de problemas de deep linking y deferred deep linking (DDL) - FAQ

Esta guía te muestra los problemas de deep linking y deferred deep linking (DDL) más comunes que vemos con los Singular Links y cómo resolverlos.

Definiciones rápidas

Término Qué significa
Deep Link Abre una pantalla o contenido específico dentro de tu app; solo funciona si la app ya está instalada.
Deferred Deep Link (DDL) Envía a un nuevo usuario primero a la App Store o Play Store y luego lo dirige a una pantalla específica la primera vez que abre la app después de instalarla.
Passthrough ( _p ) Un parámetro que transporta datos personalizados a través del link hacia la app.
Fallback / Landing Page Adonde llegan los usuarios cuando no se puede abrir la app.
Social Landing Page Una página web que se muestra antes de redirigir a los usuarios a la app o a la tienda de apps; común en las campañas de redes sociales.

Antes de empezar: limitaciones de los Universal Links (iOS)

Los Universal Links están controlados por completo por iOS, no por Singular. Algunos comportamientos simplemente no se pueden cambiar una vez que un link se configura de cierta manera. Entender esto desde el principio te ahorrará tiempo:

  • Si la app está instalada, iOS siempre intentará abrirla directamente ; en ese caso, las landing pages y las URL de fallback se omiten.
  • Este comportamiento no se puede cambiar después. Un link creado con un deep link no se puede forzar para que envíe a los usuarios existentes a la App Store en su lugar.
  • El archivo AASA de Apple (Apple App Site Association) solo se actualiza al instalar o actualizar la app ; no de forma instantánea ni a pedido.
  • Las redirecciones rompen los Universal Links. Requieren un toque directo, sin envoltura de links ni redirecciones intermedias.

Qué significa esto para ti:

  • Si necesitas un link que siempre vaya a la App Store, debe crearse sin un deep link desde el principio.
  • Un código QR o una campaña en vivo que ya usa un Universal Link no puede tener este comportamiento cambiado de manera confiable.
  • Las social landing pages solo aparecerán si la app no se puede abrir.

Problemas comunes y cómo solucionarlos

1. El DDL abre la app, pero llega a la página de inicio en lugar de a la pantalla correcta

Causas probables:

  • El manejador de deep links no está completamente implementado en la app
  • La app no está leyendo el deep link resuelto del Singular SDK
  • Los prerrequisitos del DDL no se cumplen por completo

Qué verificar:

  1. Prueba el deep link directamente (sin pasar por el Singular link).
  2. Confirma que tu SingularLinkHandler esté implementado y lea correctamente:
    • getDeeplink()
    • isDeferred()
    • getPassthrough()
  3. Verifica que el DDL esté habilitado ( should_index_ddl = true ).

Si el deep link funciona cuando se prueba directamente, pero no a través del Singular link, el problema casi siempre está en la lógica de navegación de tu app, no en el link en sí.

2. El link abre la App Store en lugar de la app

En iOS (Universal Links): Esto normalmente significa que la configuración del Universal Link está incompleta. Verifica:

  • El Team ID y el iOS App Scheme están configurados correctamente en Singular
  • Los Associated Domains están agregados en Xcode
  • El archivo AASA existe e incluye el link ID correcto

Consejo para builds de dev/QA: Si estás probando en un build de dev o QA, es posible que tu dispositivo aún no tenga el archivo AASA más reciente. Intenta reinstalar la app después de reiniciar el dispositivo.

En Android: Esto normalmente apunta a intent filters mal configurados. Verifica:

  • La huella SHA256 de App Links está configurada correctamente (si usas App Links)
  • assetlinks.json es accesible bajo tu dominio de Singular
  • Los intent filters coinciden con lo configurado en la página de Singular Apps

Si todo lo anterior está en orden y el problema continúa, lo más probable es que el problema esté en la lógica de tu manejador de deep links.

3. Safari muestra un error al hacer clic en el link

Error típico: "Safari no puede abrir la página porque la dirección no es válida."

Por qué ocurre esto:

  • Safari tiene limitaciones conocidas al manejar ciertos Universal Links para nuevos usuarios
  • _force_redirect=1 está presente en el link

Este es un comportamiento esperado , y el flujo debería continuar de la siguiente manera: el usuario ve el error → toca OK → se le solicita abrir la App Store.

4. El deep link funciona, pero faltan los datos de passthrough

Causa probable: El parámetro passthrough ( _p ) no está correctamente agregado o codificado en URL.

Mejores prácticas:

  • Codifica siempre en URL los valores JSON antes de agregarlos al link
  • Lee los datos de passthrough desde singularLinkParams.passthrough

Los datos de passthrough están disponibles para ambos : deep links y deferred deep links, por lo que si faltan, el problema casi siempre está en la codificación o la obtención.

5. El link siempre abre la app: no se puede forzar una redirección a la tienda

Por qué ocurre esto: Una vez que un Singular link se crea con un deep link, siempre intentará abrir la app si está instalada. Esto se controla a nivel del SO:

  • iOS: regido por el archivo AASA
  • Android: regido por la asociación del certificado SHA256

No hay forma de anular esto después. Si quieres un link que siempre envíe a los usuarios a la tienda, debe crearse sin un deep link desde el principio.

6. El deferred deep link falla en Safari, pero funciona en Chrome

Causa raíz: iCloud Private Relay de Apple está habilitado en el dispositivo.

Por qué rompe el DDL: Private Relay cambia la dirección IP entre el clic y la instalación, por lo que la IP del clic y la IP de la instalación no coinciden, lo que rompe la atribución probabilística.

Recomendación:

  • Deshabilita iCloud Private Relay mientras pruebas
  • Prueba usando Chrome u otro navegador que no sea Safari
7. El link va a la pantalla de inicio o a una página web en lugar de a la social landing page

Por qué ocurre esto: El link está configurado con un deep link, que siempre tiene prioridad sobre una landing page cuando la app está instalada.

Regla clave: App + Deep Link siempre gana sobre una landing page. Una social landing page solo aparecerá si la app realmente no se puede abrir.

8. El link no es válido o los eventos no aparecen después de probar con un deep link

Causa probable: El tracking link que estás usando para probar tiene doble codificación de URL, lo que hace que el dispositivo o Singular no puedan resolverlo.

Por qué ocurre esto: Cuando un Singular Link que contiene parámetros de deep link (como _dl o _p ) se copia desde ciertos entornos (por ejemplo, Slack, clientes de correo o herramientas de mensajería), la URL puede codificarse por segunda vez. Por ejemplo:

  • Correcto (codificación simple): https://yourapp.sng.link/Xxxxx/yyyy?_dl=myapp%3A%2F%2Fstory&_p=%7B%22story_id%22%3A%22BananaStory%22%7D
  • Inválido (doble codificación): https%3A%2F%2Fyourapp.sng.link%2FXxxxx%2Fyyyy%3F_dl%3Dmyapp%3A%2F%2Fstory%26_p%3D%7B%22story_id%22%3A%22BananaStory%22%7D

Un link con doble codificación no redirigirá correctamente, y la instalación o el clic resultantes pueden no aparecer en los registros de atribución de Singular.

Qué verificar:

  1. Copia siempre los tracking links directamente desde la página de Singular Manage Links , no desde un mensaje de Slack u otra herramienta que pueda haber recodificado la URL.
  2. Verifica que el link comience con https:// (no https%3A%2F%2F ). Si ves caracteres codificados en porcentaje al comienzo mismo de la URL, todo el link tiene doble codificación.
  3. Usa una herramienta de decodificación de URL (por ejemplo, urldecoder.org ) para comprobar si el link se decodifica a un formato de Singular Link válido.
  4. Decodifica el link una vez y usa la URL resultante para probar.

Nota: El valor del parámetro _p (passthrough) todavía debe estar codificado en URL (por ejemplo, %7B%22story_id%22%3A%22BananaStory%22%7D para {"story_id":"BananaStory"} ). Solo la estructura de la URL externa en sí no debe tener doble codificación.

9. Limitación conocida del navegador: Samsung Internet (Android)

Problema: Los usuarios que hacen clic en un Singular link desde el navegador Samsung Internet pueden ser redirigidos a la Google Play Store, incluso cuando la app ya está instalada y el link está configurado correctamente.

Lo que hemos observado:

  • Google Chrome: el link abre la app como se espera
  • Samsung Internet: el mismo link redirige a la Play Store en su lugar

Esto puede ocurrir tanto si el link se abre directamente en Samsung Internet como si está incrustado en una página web y se hace clic desde allí.

Causa raíz: Samsung Internet tiene una configuración de privacidad integrada que bloquea por defecto que las apps se abran externamente.

  • Cuando está habilitada: el navegador bloquea el deep link y recurre a la Play Store
  • Cuando está deshabilitada: el link abre la app correctamente, coincidiendo con el comportamiento de Chrome

Hemos confirmado que se trata de un problema de configuración del navegador, no de un problema de configuración de Singular : Android App Links y las huellas SHA-256 están configuradas correctamente, y el comportamiento del link es consistente en todas partes una vez que se desactiva esta configuración.

Qué significa esto para ti: Algunos usuarios de Samsung pueden llegar a la Play Store incluso con la app instalada, según sus configuraciones de privacidad individuales del navegador. Esto no se puede controlar de forma programática de nuestro lado.

Si quieres orientar a los usuarios afectados: Puedes indicarles que Samsung Internet podría bloquear por defecto los links que abren apps, y que habilitar "Abrir apps externas" (o similar) en la configuración de Privacidad de Samsung Internet restaurará la experiencia esperada dentro de la app.

10. ¿Por qué no funciona mi deep link desde las apps de redes sociales?

Por qué ocurre esto: Cuando los usuarios hacen clic en un Singular Link desde dentro de ciertos navegadores in-app de redes sociales, el navegador puede bloquear los Universal Links estándar de iOS o los App Links de Android. Como resultado, la app puede abrirse correctamente, pero el deep link no se pasa a la app, lo que hace que los usuarios lleguen a la pantalla de inicio predeterminada en lugar del destino previsto.

Para abordar esto, Singular ofrece la Social Landing Page , una página de aterrizaje intermedia que ayuda a preservar el deep link y a dirigir de forma confiable a los usuarios al destino correcto dentro de la app.

¿Qué plataformas son compatibles?

La Social Landing Page es compatible con:

  • iOS
  • Android (navegadores in-app de Facebook, Facebook Messenger, Facebook Messenger Lite e Instagram)
  • Partner Links, incluyendo:
    • Facebook Web
    • TikTok Ads Web
    • X (Twitter) Web
    • Snapchat Web

¿Cómo habilito la Social Landing Page?

Al crear o editar un Singular Link, habilita Landing Page en Social Link Settings .

Esta opción está disponible para:

  • Links de Custom Source
  • Links de Mobile Web-to-App
  • Partner links

Nota: Si tu link ya tiene habilitada la iOS Landing Page, el soporte para Android también se habilita automáticamente; no se requiere configuración adicional.

¿Cuándo debo usar la Social Landing Page?

Habilita la Social Landing Page siempre que ejecutes campañas web-to-app a través de plataformas sociales compatibles. Ayuda a garantizar que los usuarios sean dirigidos al contenido previsto dentro de la app en lugar de a la pantalla de inicio de la app, mejorando la experiencia de deep linking y reduciendo los deep links fallidos causados por los navegadores in-app de redes sociales.

Lista de verificación de solución de problemas (prueba esto antes de contactar a Soporte)

  • [ ] Probaste el deep link directamente, sin pasar por Singular
  • [ ] Probaste tanto un flujo de usuario ya instalado como un flujo de instalación nueva
  • [ ] Verificaste que el manejador del SDK esté implementado correctamente
  • [ ] Confirmaste los prerrequisitos de plataforma para iOS o Android
  • [ ] Deshabilitaste iCloud Private Relay al probar el DDL en Safari
  • [ ] Confirmaste que no se use envoltura de links ni acortador de URL
  • [ ] Copiaste el tracking link directamente desde la página de Singular Manage Links (no desde Slack, correo u otra herramienta de mensajería que pueda tener doble codificación de la URL)

¿Aún necesitas ayuda? Contacta a Soporte

Para ayudarnos a investigar lo más rápido posible, incluye:

  • El tracking link completo que usaste
  • Tipo de dispositivo, versión del SO y navegador
  • Si la app estaba instalada o no en el momento del clic
  • Comportamiento esperado vs. comportamiento real
  • Capturas de pantalla, si están disponibles
  • Una grabación de pantalla corta que muestre: el navegador utilizado, el clic en el link y el comportamiento resultante (apertura de la app, redirección a la tienda, error, etc.)

Proporcionar esta información desde el principio nos ayuda a reducir el ida y vuelta y a brindarte una resolución más rápido.