[英]iOS - Test getting Facebook deferred deep link
我想在通过“Test App Link”FB 测试工具将其发送到我的应用程序后获得延迟的深层链接。
我在 Xcode 项目设置中提供了 AppID,并在 AppDelegate 文件中实现了 fetchDeferredAppLick 方法。 以及我在 FB 开发帐户和 xcode 项目 info.plist 文件中设置了所有必要的应用程序设置。
但它仍然没有在 FB 应用程序设置中向我显示绿色复选标记。
当我通过单击“测试深层链接”向应用程序发送深层链接时,在提示中收到“无法为所选平台发送深层链接通知”消息。
那么如何在应用程序 fb 设置中获得关于我已经实现 fetchDeferredAppLink 方法并提供 AppID 的事实的绿色复选标记?
应用程序设置:
我的 AppDelegate 代码:
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AppEvents.activateApp()
ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
AppLinkUtility.fetchDeferredAppLink { (url, error) in
if let error = error {
print("Received error while fetching deferred app link: \(error)")
} else if let url = url {
print("Deeplink is \(url)")
// should open cautch deeplink here
if #available(iOS 10, *) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url)
}
} else { // url is nil
print("\nNo app link available\n")
}
}
// MARK: - OneSignal
let onesignalInitSettings = [kOSSettingsKeyAutoPrompt: false]
// add OneSignal app id
OneSignal.initWithLaunchOptions(launchOptions, appId: "", handleNotificationAction: nil, settings: onesignalInitSettings)
OneSignal.inFocusDisplayType = OSNotificationDisplayType.notification;
// to show the iOS push notification prompt
OneSignal.promptForPushNotifications(userResponse: { accepted in
print("User accepted notifications: \(accepted)")
})
return true
}
// MARK: - Track App Installs and App Opens
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
ApplicationDelegate.shared.application(app, open: url, sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String, annotation: options[UIApplication.OpenURLOptionsKey.annotation])
return true
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
ApplicationDelegate.shared.application(application, open: url, sourceApplication: sourceApplication, annotation: annotation)
return true
}
}
我的信息.plist:
附注。 我可以在模拟器上登录 FB dev 帐户。 fetchDeferredAppLink 方法返回 nil。
您应该在 FB App Advanced 设置中指定添加帐户 ID。
如果您有免费的开发者帐户 - 从您的 Xcode 项目中删除推送通知。
然后在您的物理设备上,您应该安装 Facebook 应用程序并登录到您注册应用程序的帐户。
插入您的设备。
通过 FB 测试工具发送延迟的深层链接(标记两个复选框)。
在您的物理设备上从 Xcode 运行您的应用程序。 对于要启动的应用程序,您可以通过手机设置 -> 常规 -> 设备管理 -> 开发者应用程序 -> 信任来显示信任。
现在您的应用程序应该可以运行了,您应该会看到延迟的深层链接,并且应该会出现第一张照片上第三个选项附近的绿色复选标记。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.