ios - google - Firebase Dynamic Link no funciona cuando se instala la aplicación desde appstore por primera vez
firebase dynamic links php (1)
Estoy usando Firebase Dynamic Link para compartir mi aplicación (> = IOS 9) e invitar a personas a eventos (quiero decir que si tiene la aplicación, puede unirse al evento con DeepLink y si no lo tiene, enviarlo a la tienda de aplicaciones para descargar la aplicación antes de unirse al evento).
Sigo el paso de documentos de Firebase:
- Obtengo el JSON relevante en https://app_code.app.goo.gl/apple-app-site-association .
- Si mi aplicación está instalada, el DeepLink está funcionando muy bien.
- Si mi aplicación no está instalada, el Deeplink lo envía a la tienda de aplicaciones, pero cuando se abre por primera vez, no funciona y no puede unirse al evento.
Aquí está mi código para obtener el enlace en la primera instalación:
en didFinishLaunchingWithOption
:
FIROptions.default().deepLinkURLScheme = "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
FIRApp.configure()
y en base a los documentos Firebase, en la primera apertura, estoy usando las siguientes funciones:
//MARK: First entry
//when your app is opened for the first time after installation on any version of iOS.
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
print("00000000000000000")
FIRCrashMessage("Link during first installation")
downloadEventWithDeepLink = true
downloadUrl = url
return application(app, open: url, sourceApplication: nil, annotation: [:])
}
//same as previous but for older version ios 8 (not relevant)
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url)
if let dynamicLink = dynamicLink {
downloadEventWithDeepLink = true
downloadUrl = dynamicLink.url
return true
}
return false
}
En mi caso, downloadEventWithDeepLink
es una marca (global) que compruebo después de que el usuario inicie sesión en mi aplicación (y use la variable downloadUrl). ¿Qué estoy haciendo mal con la configuración?
Además, no sé cómo depurarlo. ¿Hay una manera de simular una primera instalación de Appstore en Xcode? ¿Para saber si las funciones anteriores (Open Url) son llamadas?
¡Gracias por tu ayuda!
Tuve el mismo problema con el enlace que no se recibió después de la instalación. El problema era que mi esquema de url no estaba correctamente configurado.
Para que funcione, cambié los tipos de URL en la parte de información de mi objetivo: configuro la ID del paquete en el campo de identificador y esquemas de URL.
También agrego una línea en mi código de configuración de firebase:
FIRApp.configure()
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5"