首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iOS -测试让Facebook延迟深度链接

iOS -测试让Facebook延迟深度链接
EN

Stack Overflow用户
提问于 2020-09-05 20:58:38
回答 1查看 1.1K关注 0票数 1

我想得到递延深链接后,发送到我的应用程序通过“测试应用程序链接”FB测试工具。

我在Xcode项目设置中提供了AppID,并在AppDelegate文件中实现了fetchDeferredAppLick方法。此外,我还在file帐户和xcode项目info.plist文件中设置了所有必要的应用程序设置。

但它仍然没有在FB应用程序设置中给我显示绿色的检查点。

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

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

应用程序设置:

我的AppDelegate代码:

代码语言:javascript
复制
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方法返回零。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-09-14 20:27:29

您应该在设置中指定account id。

如果您有免费的开发人员帐户-删除推送通知从您的Xcode项目。

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

插上你的设备。

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

从物理设备上的Xcode运行您的应用程序。要启动应用程序,您可以从您的手机设置( -> General -> Device Management -> Developer app -> Trust )中显示信任。

现在你的应用程序应该运行,你应该得到延迟深链接和绿色复选标记附近的第一张照片上的第三个选项应该出现。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63758456

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档