最新项目是面向海外,所以使用一些海外版的SDK,把一些问题记录下来,和大家一起分享。
一 AdjustSDK
https://dev.adjust.com/zh/sdk/ios/?version=v4
1.1 [Adjust]v: Response: {"timestamp":"2024-09-05T03:51:35.750Z+0000","message":"Session failed (request check interval failed (Ignoring too frequent session. Last session: 2024-09-05T03:36:02, this session: 2024-09-05T03:51:35, interval: 15m33s, min interval: 20m)) (app_token:x5gm47txl728 adid:29fcd808c0c1d018d4e1bc8f13ae8b49)","error":"Session failed (request check interval failed (Ignoring too frequent session. Last session: 2024-09-05T03:36:02, this session: 2024-09-05T03:51:35, interval: 15m33s, min interval: 20m)) (app_token:x5gm47txl728 adid:29fcd808c0c1d018d4e1bc8f13ae8b49)"}
首次安装请求卸载太过频繁 ,Adjust 要求是20分钟的间隔。
1.2 {"app_token":"x5gm47txl728","adid":"29fcd808c0c1d018d4e1bc8f13ae8b49","timestamp":"2024-09-05T03:20:36.145Z+0000","message":"Attribution found","attribution":{"tracker_token":"unattr","tracker_name":"No User Consent","network":"No User Consent","state":"installed"}}
没有追踪权限导致。
跟踪权限弹窗非常容易被其他权限弹窗覆盖掉,导致无法追踪,保证这个弹窗的时机,不被别的弹窗覆盖,比如系统的网络权限弹窗就会覆盖这个###
Adjust SDK 收集的数据通常是在应用发布到 App Store 后才会开始有效。这是因为 Adjust SDK 主要用于跟踪用户行为、归因和广告效果,而这些功能依赖于真实用户的交互和活动。
主要原因如下:
- 真实用户数据:
○ 在应用发布到 App Store 后,用户才会下载并使用应用,从而产生真实的使用数据。开发者在开发和测试阶段通常不会有足够的用户数据来进行有效的分析。
- 归因和跟踪:
○ Adjust SDK 的核心功能是归因,即确定用户是通过哪个广告或渠道下载应用的。这需要用户在真实环境中与广告互动,只有在应用上线后才能收集到这些信息。
- 测试环境:
○ 在开发和测试阶段,您可以使用模拟器或测试设备进行一些基本的功能测试,但这些测试不会产生真实的归因数据。Adjust 提供了一些测试工具和环境,但这些通常不反映真实的用户行为。
- 数据延迟:
○ 即使在应用发布后,数据的收集和处理也可能需要一些时间。Adjust SDK 会在后台收集数据,并在一定时间后将其发送到 Adjust 的服务器进行分析。
开发阶段的建议
在开发和测试阶段,您可以:
●使用测试设备:在真实设备上进行测试,以确保 SDK 正常工作。
●启用调试模式:在 Adjust SDK 中启用调试模式,以便在开发过程中查看日志和调试信息。
●模拟用户行为:通过模拟用户行为来测试 SDK 的功能,但请注意,这些数据不会反映真实的用户行为。
二 FBSDK
https://developers.facebook.com/docs/app-events/getting-started-app-events-ios
Setter for 'isAdvertiserTrackingEnabled' is deprecated: The setAdvertiserTrackingEnabled flag is not used for FBSDK v17+ on iOS 17+ as the FBSDK v17+ now relies on ATTrackingManager.trackingAuthorizationStatus.
这个警告表示在iOS 17及更高版本上,Facebook SDK v17及更高版本不再使用setAdvertiserTrackingEnabled标志,而是依赖于ATTrackingManager.trackingAuthorizationStatus。因此,设置'isAdvertiserTrackingEnabled'属性是过时的操作。您应该更新您的代码以遵循新的SDK要求,并使用ATTrackingManager.trackingAuthorizationStatus来管理广告跟踪授权状态。
https://developers.facebook.com/docs/app-events/guides/advertising-tracking-enabled/#guidance-for-fb-sdk-for-ios-17-0-0-or-later-versions
FBSDKLog: starting with Graph API v2.4, GET requests for /1188626909058252/ios_skadnetwork_conversion_config should contain an explicit "fields" parameter