2

我已将 AppsFlyer SDK 集成到我的项目中。我设法让深层链接正常工作。我在 OneLink 中创建的任何链接都会根据需要打开应用程序。但是我无法访问链接参数。我已经实现了以下所有委托方法,如下所示:

func onAppOpenAttribution(_ attributionData: [AnyHashable : Any]!) {
    print("Test 1")
}

func onAppOpenAttributionFailure(_ error: Error!) {
    print("Test 2")
}

func onConversionDataReceived(_ installData: [AnyHashable : Any]!) {
    print("Test 3")
}

func onConversionDataRequestFailure(_ error: Error!) {
    print("Test 4")
}

当我的应用从深层链接打开时,没有一个会被调用。我在这里想念什么?在我在控制面板中配置的 URL 中,我已mycompany://配置为Mobile deeplink URL. 对此的任何指示都会很棒。谢谢!

4

3 回答 3

3

我只需要:

  1. 重新启动我的 Xcode

  2. 重新下载配置文件

3) 当你点击链接时,确保你在一个带有 Xcode 项目背景的真实设备上。

  1. 确保在 AppDelegate 文件AppsFlyerTracker.shared().delegate = self中的方法中。didFinishLaunchingWithOptions
于 2017-12-20T21:31:56.000 回答
3

如果您还没有,请将以下方法添加到您的委托:

// Reports app open from a Universal Link for iOS 9
- (BOOL) application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray *_Nullable))restorationHandler {    
    [[AppsFlyerTracker sharedTracker] continueUserActivity:userActivity restorationHandler:restorationHandler];
    return YES;
}

这会将链接数据传递给 AppsFlyer Tracker,onAppOpenAttribution因此应该调用它。

于 2017-08-08T16:23:09.607 回答
1

根据 AppsFlyer 文档:初始化 SDK,需要检查以下条件:

  • AppsFlyerTracker.shared.trackAppLaunch()发布时UIApplication.didBecomeActiveNotification或在函数中调用applicationDidBecomeActive(_:)
  • AppsFlyerTracker.shared.isStopTracking = false
  • 传递userActivity给通用链接(http:// 或 https://)AppsFlyerManager.shared.continue(_)application(_:continue:restorationHandler:)
  • 将 URL 和选项传递给AppsFlyerManager.shared.handleOpen(_:options:)inapplication(_:open:options:)以获取深层链接(自定义方案)。
  • 将跟踪器委托设置为AppsFlyerTracker.shared.delegate.

调用后AppsFlyerTracker.shared.trackAppLaunch(),委托的回调函数onAppOpenAttribution(_ attributionData:)也会传递链接信息。

于 2020-06-02T03:39:33.230 回答