我正在使用Firebase动态链接分享我的应用(> = IOS 9)并邀请其他人参加活动(我的意思是,如果你有应用,你可以加入DeepLink的活动,如果你没有它,我会在加入活动之前将你送到appstore下载应用程序。)
我按照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)?
感谢您的帮助!
答案 0 :(得分:1)
我认为通过删除应用程序并单击链接来测试实现,一旦将您带到App Store,您无需从那里安装应用程序,而是从Xcode安装,您应该会收到动态链接打电话。
建议不要担心太多,您应该专注于测试动态链接是否在应用程序打开的情况下打开应用程序。在应用启动和关闭时测试其是否正常运行。
如果您在重定向到应用程序时遇到问题,请检查是否已在URL类型中注册了捆绑标识符,并在功能标签中将域添加为blscrapeR
。
如果您使用的是自定义域,则还必须将其注册到info.plist中。
我从未在项目中设置applinks:your_dynamic_links_domain
变量,并且它们都可以正常工作
答案 1 :(得分:-1)