我想得到递延深链接后,发送到我的应用程序通过“测试应用程序链接”FB测试工具。
我在Xcode项目设置中提供了AppID,并在AppDelegate文件中实现了fetchDeferredAppLick方法。此外,我还在file帐户和xcode项目info.plist文件中设置了所有必要的应用程序设置。
但它仍然没有在FB应用程序设置中给我显示绿色的检查点。

当我通过点击“测试深度链接”向应用程序发送深度链接时,我会在提示符中得到“无法为所选平台发送深度链接通知”的消息。

那么,对于我已经实现了fetchDeferredAppLink方法并提供了AppID这一事实,如何在应用程序fb设置中获得绿色检查点呢?
应用程序设置:


我的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
}
}我的info.plist:

PS。我可以在模拟器上登录FB帐户。fetchDeferredAppLink方法返回零。
发布于 2020-09-14 20:27:29
您应该在设置中指定account id。
如果您有免费的开发人员帐户-删除推送通知从您的Xcode项目。
然后,在您的物理设备上,您应该安装Facebook应用程序并登录到您注册应用程序的帐户中。
插上你的设备。
通过FB测试工具发送延迟深度链接(标记两个复选框)。
从物理设备上的Xcode运行您的应用程序。要启动应用程序,您可以从您的手机设置( -> General -> Device Management -> Developer app -> Trust )中显示信任。
现在你的应用程序应该运行,你应该得到延迟深链接和绿色复选标记附近的第一张照片上的第三个选项应该出现。
https://stackoverflow.com/questions/63758456
复制相似问题