我使用Firebase动态链接来分享我的应用程序(>=IOS 9),并邀请人们参加活动(我的意思是,如果你有应用程序,你可以用DeepLink加入活动,如果你没有,我会在加入活动之前把你送到应用商店下载应用程序)。
我遵循Firebase文档的步骤:
下面是我在第一次安装时获取链接的代码:
在didFinishLaunchingWithOption
中:
FIROptions.default().deepLinkURLScheme = "com.jerem.ProjectAlphaSasasa"
// "com.jerem.ProjectAlphaSasasa" is my app bundle Identifier
FIRApp.configure()
基于Firebase文档,在第一次打开时,我使用了以下函数:
//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)?
谢谢你的帮忙!
发布于 2020-01-12 01:10:39
我认为测试你的实现是通过删除应用程序并单击链接,一旦它将你带到应用程序商店,你不会从那里安装应用程序,而是从Xcode安装,你应该收到动态链接调用。
作为一个建议,不要太担心这一点,你应该专注于测试你的动态链接是否确实打开了应用程序。测试应用程序在启动和关闭时是否正常工作。
如果你在重定向到你的应用程序时遇到问题,请检查你是否在url类型中注册了捆绑包标识符,并在capabilities选项卡中将你的域名添加为applinks:your_dynamic_links_domain
。如果您使用的是自定义域,还必须将其注册到您的info.plist中。
我从未在我的项目中设置过FIROptions.default().deepLinkURLScheme
变量,所有这些变量都工作得很好
发布于 2017-04-13 17:13:05
我也有同样的问题,在安装后没有收到链接。问题是我的url方案没有正确设置。
为此,我在目标的Info部分更改了URL类型:我在标识符和URL方案字段中设置了包ID。
我还在firebase的设置代码中添加了一行:
FIRApp.configure()
FIROptions.default().deepLinkURLScheme = "fr.machin.ES5"
https://stackoverflow.com/questions/41471807
复制相似问题