gpt4 book ai didi

ios - 带有 iOS 14 的 AppsFlyer

转载 作者:行者123 更新时间:2023-12-04 12:29:50 31 4
gpt4 key购买 nike

我正在处理一个现有项目,之前从未使用过 AppsFlyer。
在旧版本的 AppsFlyer 中,我们使用 AppDelegate 中的这些行对其进行了初始化

    AppsFlyerTracker.shared().appsFlyerDevKey = appsflyerKey
AppsFlyerTracker.shared().appleAppID = appId

AppsFlyerTracker.shared().trackAppLaunch()
并使用跟踪事件
     AppsFlyerTracker.shared().trackEvent("Started", withValues: prop)
但是在最新版本的 AppsFlyer 中,初始类名已经从
AppsFlyerTracker -> AppsFlyerLib
// now event is logged by
AppsFlyerLib.shared().logEvent("Started", withValues: prop)
所以我有两个问题
  • 根据 iOS 14 中的指南,我们需要在任何跟踪之前添加允许用户接受它。 是否也适用于这些 AppsFlyers logEvent 事件 ?
  • 如果我们需要添加权限,那么添加这些行将达到目的 ?
    AppsFlyerLib.shared().waitForATTUserAuthorization(timeoutInterval: 60)
    ATTrackingManager.requestTrackingAuthorization {(状态)在
    }
  • 我没有找到 的替代品AppsFlyerTracker.shared().trackAppLaunch() 在最新 AppsFlyerLib
  • 最佳答案

    如果用户在 iOS 14 以上,则必须添加这些条件
    根据您的问题:

    1. As according to guide lines in iOS 14, we need to add permission for user to accept it before any tracking. Is it applies to these AppsFlyers logEvent event too ?

    答:
    1. if we need to add permission then adding these lines will fill the purpose ?

    答:
    最初您需要添加框架 App Tracking Transparency
    // The following block is optional for applications wishing to give users the option to block IDFA collection.
    // for iOS 14 and above - The user may be prompted to block IDFA collection.
    // If user opts-out, the IDFA will not be collected by the SDK.
    // for iOS 13 and below - The IDFA will be collected by the SDK. The user will NOT be prompted to block collection.
    if #available(iOS 14, *) {
    // Set a timeout for the SDK to wait for the IDFA collection before handling app launch
    // If timeout expires before user asks to block IDFA collection, the IDFA will be collected.
    AppsFlyerLib.shared().waitForATTUserAuthorization(timeoutInterval: 60)
    // Show the user the Apple IDFA consent dialog (AppTrackingTransparency)
    // MUST be called here before start() in order to prevent IDFA collection by the SDK
    ATTrackingManager.requestTrackingAuthorization { (status) in
    }
    }
    上面的完成处理程序提示以下两点
  • 完成处理程序将根据用户决定授予或拒绝使用应用程序跟踪的权限而被调用。
  • 如果对请求授权的访问受到限制,将立即调用完成处理程序。

  • 还有你的最后一个问题

    I didn't find alternate for AppsFlyerTracker.shared().trackAppLaunch() in the latest AppsFlyerLib


    答:
    func applicationDidBecomeActive(_ application: UIApplication) {
    // Start the SDK (start the IDFA timeout set above, for iOS 14 or later)
    if #available(iOS 14, *) {
    AppsFlyerLib.shared().start()
    }else{
    AppsFlyerTracker.shared().trackAppLaunch()
    }
    }
    您可以获得 sample project由 AppsFlyer 团队提供。

    关于ios - 带有 iOS 14 的 AppsFlyer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66310113/

    31 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com