Firebase Deep Link Web URL-запрос пуст - iOS - PullRequest
0 голосов
/ 16 октября 2018

У меня проблема с получением динамических ссылок Firebase с новыми пользовательскими URL-адресами.Я создал один "abc0.page.link", я настроил все, чтобы создать его в код из приложения.

Но при получении я получаю это сообщение в журнале:

[Firebase / Analytics] [I-ACS023000] URL-адрес Deep Link Web URL пуст

Ничего не происходит, и обработано ложно.

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

В чем здесь проблема?Заранее спасибо!

1 Ответ

0 голосов
/ 06 июня 2019

У меня была точно такая же проблема с динамическими ссылками.Я использовал эти строки в моем Podfile:

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

Точно так же, как в официальном учебнике Firebase, заказанном для.

Однако в то время мое приложение все еще использовало модуль pod 'Google/Analytics', который имеетустарел и должен быть переключен на Firebase Analytics.

Этот модуль Google Analytics имеет общую зависимость с модулями из Firebase (если я правильно помню, «Firebase / Core»), но поскольку это старая устаревшая версия, его зависимости должны быть ниже определенной версии.Поэтому, хотя я не указывал версию модуля DynamicLinks в моем Podfile, старая зависимость позволяла устанавливать только определенную версию, намного более старую, чем современная.Я понял это, когда попытался использовать инструмент самодиагностики [0], как предложено в документации, и мой код не смог найти инструмент.

Итак, я использовал обходной путь:

  • Удалить модуль Google / Analytics из моего подфайла.Когда я сделал это и выполнил pod update, все связанные с Firebase модули были в той же версии, что и на веб-сайте CocoaPods [1], то есть они были обновлены.

  • Я все ещеЯ хотел использовать старую Google Analytics какое-то время, так как мне нужно было, чтобы динамические ссылки работали быстрее, чем нужно для переключения на Firebase Analytics, поэтому я импортировал вручную статические библиотеки для Google Analytics (libGoogleAnalytics.a) и его заголовки.Это работало просто отлично тогда.Поскольку он больше не находится в Podfile, я не буду автоматически получать изменения, однако я не думаю, что это будет проблемой с устаревшим Pod.

Если ваша проблема действительно была связанак этому, я не думаю, что это предлагаемое решение.Вы должны использовать Firebase Analytics как можно скорее, так как Google Analytics для мобильных устройств будет закрыт к октябрю этого года.

Я предполагаю, что функции Firebase раньше использовали разные способы анализа и перевода динамических ссылок, которые не совместимы сссылки сделаны сегодня на консоли, поэтому она возвращает пустой запрос URL.

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

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

...