如果我的应用程序不在App Store中,如何测试Firebase动态链接?

时间:2016-09-21 00:22:55

标签: firebase app-store firebase-dynamic-links

我希望能够在点击动态链接时打开应用并打印参数(即使它未发布)。

有办法做到这一点吗?

2 个答案:

答案 0 :(得分:28)

是的!事实上,我在getting started video中完成了这个过程,我建议您查看是否还没有。

但是,一般来说,你可以测试"打开我的应用程序,如果我安装了它"只需单击动态链接即可完成流程。如果你的应用程序安装在设备上,它应该打开就好了;即使它不是已发布的应用程序。

如果您想测试未安装的流程,这也非常简单。

  • 首先,在项目设置中为您的Firebase项目提供应用商店ID。它可以是任何有效的App Store ID - 它不一定适合您的应用。
  • 然后生成一个新的动态链接。
  • 这次,当您点击这个新链接时,它会带您到应用程序商店获取您上面列出的ID。您不需要实际安装此应用程序 - 只需将其添加到应用程序商店列表即可。
  • 现在,继续并重新安装并运行您的应用。如果一切正常,它应该为您检索并显示动态链接数据。

答案 1 :(得分:0)

我遇到了同样的问题,在花了很多时间试图找到解决方案后,按照 Todd Kerpelman post 解释的调试说明,我可以确定 firebase 没有发送通用链接第一个应用程序启动并发送了具有以下结构的方案 URL:

[bundle_id]://google/link/?deep_link_id=[firebase_universal_link]

确定后,我在 Firesabe SDK 中找到了 dynamicLinkFromCustomSchemeURL 方法,我可以通过动态链接在第一次启动应用时解决我的问题。

/**
 * @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.
 */