我正在使用 Firebase 动态链接来分享我的应用程序 (>=IOS 9) 并邀请人们参加活动(我的意思是,如果你有应用程序,你可以通过 DeepLink 加入活动,如果你没有,我会在加入活动之前将您发送到应用商店以下载该应用)。
我遵循 Firebase 文档步骤:
- 我在https://app_code.app.goo.gl/apple-app-site-association获得了相关的 JSON 。
- 如果我的应用程序已安装,DeepLink 运行良好。
- 如果我的应用没有安装,Deeplink会把你带到应用商店,但第一次打开时,它不起作用,你不能参加活动。
这是我在首次安装时获取链接的代码:
在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)?
谢谢你的帮助!