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

在Firebase Functions中用Node接收SKAdNetwork回传无法读取请求体

问题分析与解决办法

核心错误:端点路径不匹配

Apple的SKAdNetwork要求回传请求必须发送到**路径为/.well-known/skadnetwork/report-attribution/**的端点,但你在info.plist中配置的地址是https://us-central1-XXX.cloudfunctions.net/skan/,缺少了Apple强制要求的路径后缀,导致Apple不会向这个地址发送回传请求。

同时你的Express路由定义了/.well-known/skadnetwork/report-attribution/,结合Firebase Functions的路径前缀skan,实际可访问的完整有效路径是https://us-central1-XXX.cloudfunctions.net/skan/.well-known/skadnetwork/report-attribution/,这才是符合Apple要求的端点地址。

解决步骤

1. 修正info.plist中的端点地址

将NSAdvertisingAttributionReportEndpoint的值修改为符合Apple要求的完整路径:

<key>NSAdvertisingAttributionReportEndpoint</key>
<string>https://us-central1-XXX.cloudfunctions.net/skan/.well-known/skadnetwork/report-attribution/</string>

2. 确保Express解析请求体

Express默认不会自动解析POST请求的请求体,你需要添加中间件来处理SKAdNetwork的回传数据。SKAdNetwork回传为JSON格式,可添加express.json()中间件:

const app = require("express")();
// 添加JSON请求体解析中间件
app.use(express.json());

app.post("/.well-known/skadnetwork/report-attribution/", function(req, res) {
  // 现在可正常读取req.body
  console.log("SKAdNetwork回传数据:", req.body);
  return res.sendStatus(200);
});

exports.skan = functions.https.onRequest(app);

如果遇到JSON解析失败(比如回传为原始二进制格式),可改用express.raw()中间件后手动解析:

app.use(express.raw({ type: '*/*' }));

app.post("/.well-known/skadnetwork/report-attribution/", function(req, res) {
  try {
    const data = JSON.parse(req.body.toString());
    console.log("SKAdNetwork回传数据:", data);
  } catch (err) {
    console.error("解析回传数据失败:", err);
  }
  return res.sendStatus(200);
});

3. 验证端点可达性

用curl模拟SKAdNetwork的POST请求,测试端点是否能正常接收数据:

curl -X POST -H "Content-Type: application/json" -d '{"test": "skan-sample-data"}' https://us-central1-XXX.cloudfunctions.net/skan/.well-known/skadnetwork/report-attribution/

之后查看Firebase Functions日志,确认是否能打印出请求体内容。

额外注意事项

  • 确保Firebase Functions已部署成功,且端点可公开访问(无需身份验证)。
  • SKAdNetwork自然回传存在延迟,测试时可使用Apple官方的SKAdNetwork测试工具触发测试回传,缩短等待时间。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 16:54:53