Я настроил динамические ссылки на консоли Firebase, но они работают правильно только если я иду через браузер (например, Safari). Когда я нажимаю URL-адрес, и он переходит непосредственно к приложению, он не открывает нужную страницу.
Вот как я тестирую ее (на реальном устройстве):
- Iвставил ссылку на короткий URL из firebase в приложение заметок.
- Я долго нажимал и открывал в Safari 2.1. После загрузки страницы я нажимаю «Открыть», и приложение корректно запускается на нужной странице.
- Затем я вернулся в приложение Notes, сделал долгое нажатие и выбрал «Открыть с помощью приложения»
На этом 3-м шаге приложение не запускается на нужной странице.
Причина в том, что когда я запускаю браузер, он запрашивает firebase и возвращает URL со всеми параметрами, но когда он попадает прямо в приложение, он не выполняет запрос.
Воткод:
- (BOOL)application:(UIApplication *)application continueUserActivity:(nonnull 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
BOOL handled = [[FIRDynamicLinks dynamicLinks] handleUniversalLink:userActivity.webpageURL
completion:^(FIRDynamicLink * _Nullable dynamicLink,
NSError * _Nullable error) {
NSString *quickActionLinker = [Properties getStringValue:@"quickActionsLinker"];
NSString *action = [dynamicLink.url absoluteString];
[QuickActionsHandler handleQuickAction:quickActionLinker fromCode:[action componentsSeparatedByString:@"https://"][1] main:self.main];
}];
return handled;
}
При запуске через браузер dynamicLink.url возвращает строку, но при непосредственном запуске приложения возвращает ноль.
Есть ли способ выполнить запрос, не заходя в браузер?