You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Facebook iOS SDK自动调用Graph API触发应用级速率限制问询

问题背景

在排查某iOS应用反复触发Graph API应用级速率限制(错误码#4)时,发现Facebook iOS SDK 18.x及旧版本会自动发起大量未手动调用的Graph API请求。该应用仅用SDK实现App Events功能,未集成Facebook Login,初始化代码如下:

ApplicationDelegate.shared.application(application, didFinishLaunchingWithOptions: launchOptions)
Settings.shared.graphAPIVersion = "v21.0"

速率限制响应显示请求量超标(total_cputime为0%,仅因请求数量过多):

HTTP/2 403
x-app-usage: {"call_count":9542,"total_cputime":0,"total_time":490}
(#4) Application request limit reached

速率限制控制台显示24小时内Top请求端点均为SDK自动调用:

EndpointCalls / 24h
gr:get:Application~173,000
gr:get:Application/ios_skadnetwork_conversion_config~143,000
gr:get:Application/model_asset~34,000

每次应用启动时,设备日志都会多次出现以下提示:

FBSDKLog: starting with Graph API v2.4, GET requests for
/<APP_ID>/model_asset should contain an explicit "fields" parameter

SDK发起的GET /<app-id>/model_asset和GET /<app-id>/ios_skadnetwork_conversion_config请求未携带fields参数,且未缓存响应而是重复发起请求(该现象与已知SDK问题表现一致)。

已尝试的无效操作

  • 后台设置:关闭"Automatic event logging",设置"Log in-app events automatically"为"否"
  • 禁用Automatic Advanced Matching
  • 设置Settings.shared.graphAPIVersion = "v21.0"(请求确实使用v21.0版本,但请求数量未减少)

对比同代码库的Android应用(使用react-native-fbsdk-next)无此问题,Android端的ModelManager.kt会主动传递fields参数。


问题
  1. 仅集成App Events的情况下,该请求量是否正常?是否为配置错误或已知SDK回归问题?
  2. 如何让SDK缓存/model_asset和/ios_skadnetwork_conversion_config的响应,避免每次启动重复请求?
  3. Settings.shared.isAutoLogAppEventsEnabled = false是否能停止/ios_skadnetwork_conversion_config和gr:get:Application调用,还是仅停止事件POST请求?
  4. 除了fork SDK添加fields参数外,是否有官方支持的方法减少这些自动请求?

内容的提问来源于stack exchange,提问作者Daniel Taub

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 07:23:11