Fence: reportEvent() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

实验性: 这是一项实验性技术
在生产中使用此技术之前,请仔细检查浏览器兼容性表格

Fence 接口的 reportEvent() 方法会触发通过 beacon 将报告数据提交到通过 registerAdBeacon() 方法注册的一个或多个特定 URL。这些 URL 属于 Protected Audience API,用于收集广告竞价结果。

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

语法

js
reportEvent(event)

参数

event

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

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

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

    eventData

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

    destination

    一个包含一个或多个枚举值(表示目标类型)的数组。这些是参与方,它们将通过其注册的 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() 的值传递时,它将触发所有以该事件类型为条件的 Private Aggregation 贡献(例如,通过 PrivateAggregation.contributeToHistogramOnEvent())的发送。

返回值

无(Undefined)。

示例

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

规范

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

浏览器兼容性

另见