Я хотел бы иметь возможность открывать приложение и распечатывать параметры, когда я нажимаю на динамическую ссылку (даже если она не опубликована).
Есть ли способ сделать это?
Я хотел бы иметь возможность открывать приложение и распечатывать параметры, когда я нажимаю на динамическую ссылку (даже если она не опубликована).
Есть ли способ сделать это?
Да! Фактически, я подробно описываю этот процесс в видеоролике о начале работыS (часть 1), (часть 2), которую я рекомендую вам проверить, если вы еще этого не сделали.
Но, вообще говоря, вы можете протестировать поток Open my app, если он у меня установлен, просто щелкнув динамическую ссылку. Если ваше приложение установлено на устройстве, оно должно нормально открыться; даже если это не опубликованное приложение.
Если вы хотите протестировать неустановленный поток, это тоже довольно просто.
application: UIApplication, continue userActivity: NSUserActivity, restorationHandler
, но когда приложение НЕ установлено, вызывается метод app: UIApplication, open url: URL, options
. @ Тодд Керпельман, это правильно?
- person Tom Spee; 27.03.2019
Я столкнулся с теми же проблемами и потратил много часов, пытаясь найти решение, и следуя инструкциям по отладке, объясненным Тоддом Керпельманом post, я мог определить, что firebase не отправила универсальную ссылку при первом запуске приложения и отправила URL-адрес схемы со следующей структурой:
[bundle_id]://google/link/?deep_link_id=[firebase_universal_link]
Определив это, я нашел метод dynamicLinkFromCustomSchemeURL
внутри Firesabe SDK и смог решить свою проблему при первом запуске приложения с помощью динамических ссылок.
/**
* @method dynamicLinkFromCustomSchemeURL:
* @abstract Get a Dynamic Link from a custom scheme URL. This method parses URLs with a custom
* scheme, for instance, "comgoogleapp://google/link?deep_link_id=abc123". It is suggested to
* call it inside your |UIApplicationDelegate|'s
* |application:openURL:sourceApplication:annotation| and |application:openURL:options:|
* methods.
* @param url Custom scheme URL.
* @return Dynamic Link object if the URL is valid and has link parameter, otherwise nil.
*/
- (nullable FIRDynamicLink *)dynamicLinkFromCustomSchemeURL:(NSURL *)url
NS_SWIFT_NAME(dynamicLink(fromCustomSchemeURL:));
/**
* @method dynamicLinkFromUniversalLinkURL:completion:
* @abstract Get a Dynamic Link from a universal link URL. This method parses the universal link
* URLs, for instance,
* "https://example.page.link?link=https://www.google.com&ibi=com.google.app&ius=comgoogleapp".
* It is suggested to call it inside your |UIApplicationDelegate|'s
* |application:continueUserActivity:restorationHandler:| method.
* @param URL Custom scheme URL.
* @param completion A block that handles the outcome of attempting to get a Dynamic Link from a
* universal link URL.
*/
- (void)dynamicLinkFromUniversalLinkURL:(NSURL *)url
completion:(FIRDynamicLinkUniversalLinkHandler)completion
NS_SWIFT_NAME(dynamicLink(fromUniversalLink:completion:));
/**
* @method dynamicLinkFromUniversalLinkURL:
* @abstract Get a Dynamic Link from a universal link URL. This method parses universal link
* URLs, for instance,
* "https://example.page.link?link=https://www.google.com&ibi=com.google.app&ius=comgoogleapp".
* It is suggested to call it inside your |UIApplicationDelegate|'s
* |application:continueUserActivity:restorationHandler:| method.
* @param url Custom scheme URL.
* @return Dynamic Link object if the URL is valid and has link parameter, otherwise nil.
*/