微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iOS-测试让Facebook推迟深层链接

如何解决iOS-测试让Facebook推迟深层链接

通过“测试应用链接” FB测试工具将其发送到我的应用后,我想获得延迟的深层链接

我已经在Xcode项目设置中提供了AppID,并在AppDelegate文件中实现了fetchDeferredAppLick方法。以及在FB开发人员帐户和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,sourceApplication: String?,annotation: Any) -> Bool {
        ApplicationDelegate.shared.application(application,sourceApplication: sourceApplication,annotation: annotation)
        return true
    } 
}

我的信息列表:

PS。我可以在模拟器上登录FB开发者帐户。并且fetchDeferredAppLink方法返回nil。

解决方法

您应该在FB App Advanced设置中指定添加帐户ID。

如果您有免费的开发者帐户,请从您的Xcode项目中删除推送通知。

然后,您应该在物理设备上安装Facebook应用并登录到您注册应用所使用的帐户。

插入设备。

通过FB测试工具发送延迟的深度链接(选中两个复选框)。

从Xcode在物理设备上运行您的应用程序。对于要启动的应用程序,您可以从手机的设置->常规->设备管理->开发人员应用程序->信任中显示对它的信任。

现在您的应用程序应该可以运行了,您应该获得延迟的深层链接,并且应该在第一张照片的第三个选项附近出现绿色的对勾。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。