首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >首次从应用商店安装应用程序时,Firebase动态链接不起作用

首次从应用商店安装应用程序时,Firebase动态链接不起作用
EN

Stack Overflow用户
提问于 2017-01-05 03:28:52
回答 2查看 3.5K关注 0票数 28

我使用Firebase动态链接来分享我的应用程序(>=IOS 9),并邀请人们参加活动(我的意思是,如果你有应用程序,你可以用DeepLink加入活动,如果你没有,我会在加入活动之前把你送到应用商店下载应用程序)。

我遵循Firebase文档的步骤:

  • 我正在https://app_code.app.goo.gl/apple-app-site-association.
  • If获取相关的JSON我的应用程序已安装,DeepLink运行良好。
  • 如果我的应用程序未安装,深度链接会将您送到应用程序商店,但当您第一次打开应用程序商店时,它不起作用,您无法加入活动。

下面是我在第一次安装时获取链接的代码:

didFinishLaunchingWithOption中:

代码语言:javascript
复制
    FIROptions.default().deepLinkURLScheme =  "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
    FIRApp.configure()

基于Firebase文档,在第一次打开时,我使用了以下函数:

代码语言:javascript
复制
//MARK: First entry
//when your app is opened for the first time after installation on any version of iOS.
func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    print("00000000000000000")
    FIRCrashMessage("Link during first installation")
    downloadEventWithDeepLink = true
    downloadUrl = url
    return application(app, open: url, sourceApplication: nil, annotation: [:])

}

//same as previous but for older version ios 8 (not relevant)
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    let dynamicLink = FIRDynamicLinks.dynamicLinks()?.dynamicLink(fromCustomSchemeURL: url)
    if let dynamicLink = dynamicLink {

        downloadEventWithDeepLink = true
        downloadUrl = dynamicLink.url
        return true
    }

    return false
}

在我的例子中,downloadEventWithDeepLink是一个标志(全局),我在用户登录到我的应用程序(并在那里使用downloadUrl变量)后检查。我在设置中做错了什么?

另外,我不知道如何调试它。有没有办法在Xcode中模拟Appstore的首次安装?以确定是否调用了前面的函数(Open Url)?

谢谢你的帮忙!

EN

回答 2

Stack Overflow用户

发布于 2020-01-12 01:10:39

我认为测试你的实现是通过删除应用程序并单击链接,一旦它将你带到应用程序商店,你不会从那里安装应用程序,而是从Xcode安装,你应该收到动态链接调用。

作为一个建议,不要太担心这一点,你应该专注于测试你的动态链接是否确实打开了应用程序。测试应用程序在启动和关闭时是否正常工作。

如果你在重定向到你的应用程序时遇到问题,请检查你是否在url类型中注册了捆绑包标识符,并在capabilities选项卡中将你的域名添加为applinks:your_dynamic_links_domain。如果您使用的是自定义域,还必须将其注册到您的info.plist中。

我从未在我的项目中设置过FIROptions.default().deepLinkURLScheme变量,所有这些变量都工作得很好

票数 1
EN

Stack Overflow用户

发布于 2017-04-13 17:13:05

我也有同样的问题,在安装后没有收到链接。问题是我的url方案没有正确设置。

为此,我在目标的Info部分更改了URL类型:我在标识符和URL方案字段中设置了包ID。

我还在firebase的设置代码中添加了一行:

代码语言:javascript
复制
FIRApp.configure()
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41471807

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档