围栏:reportEvent() 方法

实验性: 这是一种 实验性技术
在生产环境中使用此功能之前,请仔细查看 浏览器兼容性表

reportEvent() 方法是 Fence 接口的一种方法,它通过 信标 将报告数据发送到一个或多个通过 registerAdBeacon() 方法注册的特定 URL,用于收集广告拍卖结果。

注意: setReportEventDataForAutomaticBeacons() 提供了类似的报告数据提交功能,只是在这种情况下,提交是通过导航触发的,而不是通过显式方法调用触发的。

语法

js
reportEvent(event)

参数

事件

表示要发送的数据的对象或字符串。

  • 对象值定义了要发送的特定报告事件。必需的属性如下
    事件类型

    表示要报告的事件类型的字符串,例如,您可能对广告被点击的次数感兴趣。此字符串可以是任何相关的事件名称(例如 click)。这需要与关联的 registerAdBeacon() 调用中指定的事件类型匹配,该调用是在 Protected Audience API 工作程序中进行的。

    事件数据

    表示要发送数据的字符串。

    目的地

    包含一个或多个枚举值数组,表示目标类型。这些是参与方,它们将通过其注册的 URL(即通过 registerAdBeacon())接收数据。可能的值包括

    • "buyer":广告拍卖中的出价者。
    • "seller":运行广告拍卖的顶级卖家。
    • "component-seller":多级拍卖中组件拍卖的卖家。
    • "direct-seller":直接运行买方出价拍卖的卖家。如果广告是单级拍卖,则使用值 "seller"。如果广告是多级拍卖,则使用值 "component-seller"
    • "shared-storage-select-url"Shared Storage API 存储位置,如 Window.sharedStorage.selectURL() 方法调用中定义。
  • 字符串值表示 eventType,例如 "click"(请参阅前面 eventType 的定义)。当 eventType 字符串作为 reportEvent() 的值传递时,它会触发所有有条件地基于该事件类型(例如,通过 PrivateAggregation.contributeToHistogramOnEvent())进行的私人聚合贡献被发送。

返回值

无(Undefined)。

示例

js
window.fence.reportEvent({
  eventType: "click",
  eventData: JSON.stringify({ clickX: "123", clickY: "456" }),
  destination: ["buyer", "seller"],
});

规范

规范
围栏框架
# dom-fence-reportevent

浏览器兼容性

BCD 表仅在启用 JavaScript 的浏览器中加载

另请参阅