Tengo un problema al recibir Firebase Dynamic Links con las nuevas URL personalizadas. Creé un "abc0.page.link", configuré todo para crearlo en código desde la aplicación.

Pero al recibir, recibo este mensaje en LOG:

[Firebase / Analytics] [I-ACS023000] La consulta de URL de Deep Link Web está vacía

No pasa nada, y se maneja es falso.

- (BOOL)application:(UIApplication *)application
continueUserActivity:(NSUserActivity *)userActivity
 restorationHandler:
 #if defined(__IPHONE_12_0) && (__IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_12_0)
(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> *_Nullable))restorationHandler {
#else
    (nonnull void (^)(NSArray *_Nullable))restorationHandler {
#endif  // __IPHONE_12_0
 //(void (^)(NSArray *))restorationHandler {

    NSLog(@"continueUserActivity called, withUser: %@, useractivity: %@, webpageurl: %@", self.user.uid, userActivity, userActivity.webpageURL);
  calledFromURL = YES;
  BOOL handled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:userActivity.webpageURL
                                                          completion:^(FIRDynamicLink * _Nullable dynamicLink,
                                                                       NSError * _Nullable error) {
        NSLog(@"continueUserActivity called");
        if (error) {
            NSLog(@"dynamic link error: %@", error.localizedDescription);
animated:YES completion:nil];
            }
            else {
}
}];
return handled;
}

¿Cuál es el problema aquí? ¡Gracias de antemano!

3
Besfort Abazi 16 oct. 2018 a las 15:57

2 respuestas

La mejor respuesta

Estaba teniendo exactamente el mismo problema con respecto a Dynamic Links. Estaba usando estas líneas en mi Podfile:

pod 'Firebase/DynamicLinks'
pod 'Firebase/Analytics'

Al igual que ordenó el tutorial oficial de Firebase.

Sin embargo, mi aplicación todavía usaba el pod pod 'Google/Analytics' en ese momento, que ha quedado obsoleto y debería cambiarse a Firebase Analytics.

Este pod de análisis de Google tiene una dependencia común con los pods de Firebase (si recuerdo correctamente, "Firebase / Core"), pero como es una versión antigua y obsoleta, se requiere que sus dependencias estén por debajo de una determinada versión. Entonces, a pesar de que no había especificado una versión de pod DynamicLinks en mi Podfile, la dependencia anterior solo permitía que estuviera actualizada hasta una cierta versión, mucho más antigua que la actualizada. Descubrí esto cuando intenté usar la herramienta de autodiagnóstico [0] como se sugiere en la documentación, y mi código no pudo encontrar la herramienta.

Entonces, la solución alternativa que utilicé fue:

  • Elimine el pod de Google / Analytics de mi Podfile. Cuando hice eso y ejecuté pod update, todos los pods relacionados con Firebase estaban en la misma versión que en el sitio web de CocoaPods [1], es decir, estaban actualizados.

  • Todavía quería usar el antiguo Google Analytics por un tiempo, ya que necesitaba que los enlaces dinámicos funcionaran más rápido de lo que se necesitaría para cambiar a Firebase Analytics, por lo que importé manualmente las bibliotecas estáticas para Google Analytics ( libGoogleAnalytics.a) y sus encabezados. Entonces funcionó bien. Dado que ya no está en Podfile, no obtendré cambios automáticamente, sin embargo, no creo que sea un problema con un Pod obsoleto.

Si su problema estaba realmente relacionado con esto, no creo que esta sea la solución sugerida. Debe usar Firebase Analytics lo antes posible, ya que Google Analytics para dispositivos móviles se cerrará en octubre de este año.

Supongo que las funciones de Firebase solían tener diferentes formas de analizar y traducir enlaces dinámicos que no son compatibles con los enlaces creados por la consola en la actualidad, por lo que devuelve una consulta de URL vacía.

[0] - https://firebase.google.com/docs/dynamic-links/ depurar

[1] - https://cocoapods.org/

3
Naslausky 6 jun. 2019 a las 18:49

Tienes que configurar FirebaseDynamicLinksCustomDomains en el info.plist

https://firebase.google.com/docs/dynamic-links/custom-domains

0
Tejero Lucas 22 abr. 2020 a las 06:43