本页面介绍了如何实时记录用户事件。
如需了解您可以记录的用户事件类型,请参阅 eventType 对象的
userEvents 字段。通过注入用户事件,您可以提高结果的质量。例如,用户事件会影响搜索结果的排名。点击率较高的结果会得到提升,而点击率较低的结果会被埋没。对于尚未导入的文档,请勿记录其用户事件。
如果您使用的应用附加了多个数据存储区,请在位置级而非数据存储区级层级注入用户事件。这样一来,系统便可将给定的用户事件发送到与其关联的数据存储区。在位置级记录用户事件时,您必须在用户事件中添加 engine 字段,以将事件与正确的应用相关联。如需查看包含 engine 字段的用户事件示例,请参阅以下内容:
如需批量导入历史用户事件,请参阅导入历史用户事件。
您可以通过以下方式记录用户事件:
如需了解用户事件的 JSON 表示形式,请参阅
userEvents API 参考文档。
准备工作
在导入用户事件之前,请做好以下准备:
- 创建数据存储区和应用。
- 如需了解用户事件要求,请参阅用户事件简介 。
使用 JavaScript 像素记录实时用户事件
如需使用 JavaScript 像素记录用户事件,请执行以下操作:
- 创建 API 密钥,用于调用
userEvents.collect方法。 - 如需查看收集用户事件的 JavaScript 标记示例,请参阅 JavaScript 像素示例。
创建 API 密钥
如果您使用 JavaScript 像素从用户的浏览器收集用户事件,则需要 API 密钥。
如需为对 userEvents.collect
方法的调用创建 API 密钥,请完成以下步骤:
在 Google Cloud 控制台中,前往凭证页面。
在 Google Cloud 控制台页面顶部的项目列表中,选择 您的项目(该项目可能已被选中)。
点击创建凭据 ,然后选择 API 密钥 。 请勿添加任何引荐来源网址限制。部分用户隐私设置不会 传递引荐来源网址。
- 请记下生成的 API 密钥,将用于调用用户事件日志记录。
为提高安全性,请向您的 API 密钥添加 HTTP 限制,以限制对
https://discoveryengine.googleapis.com/*的 Gemini Enterprise 服务的访问权限。
JavaScript 像素示例
以下示例使用 JavaScript 像素记录 view-item 用户事件。
如需了解用户事件的 JSON 表示形式,请参阅 API 参考文档中的 userEvents。
<script type="text/javascript">
var user_event = {
"eventType" : "view-item",
"userPseudoId": "USER_PSEUDO_ID",
"engine": "projects/PROJECT_ID/locations/LOCATION_ID/collections/default_collection/engines/APP_ID",
"userInfo": {
"userId": "USER_ID"
},
"attributionToken": "ATTRIBUTION_TOKEN",
"tagIds": "TAG_ID",
"documents": [
{
"id": "DOCUMENT_ID"
}
]
};
var _gre = _gre || {};
// Credentials for project.
_gre.apiKey = '[API_KEY]';
_gre.logEvent = user_event;
_gre.projectId = 'PROJECT_ID';
_gre.locationId = 'LOCATION_ID';
_gre.dataStoreId = 'DATA_STORE_ID';
(function() {
var gre = document.createElement('script'); gre.type = 'text/javascript'; gre.async = true;
gre.src = 'https://www.gstatic.com/discoveryengine/v1beta_event.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gre, s);
})();
</script>
使用 userEvents.write 方法记录实时用户事件
REST
您可以使用 userEvents.write 方法从后端服务器直接将用户事件发送到 API。
如要记录用户事件,请向 userEvents.write 方法发送 POST 请求,并提供相应的请求正文。如需了解用户
事件的 JSON 表示形式,请参阅 API 参考文档中的 userEvents。
如果您要在位置级记录用户事件,请使用端点
https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/LOCATION/userEvents:write。
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/userEvents:write" \
-d '{
"eventType": "view-item",
"userPseudoId": "visitor0",
"engine": "projects/PROJECT_NUMBER/locations/global/collections/default_collection/engines/APP_ID",
"eventTime": "2020-01-01T03:33:33.000001Z",
"tagIds": ["321"],
"attributionToken": "ABC",
"attributes": {
"example_text_attribute": {
"text": ["text_1", "text_2"]
},
"example_number_attribute": {
"numbers": [3.14, 42, 1.2345]
}
},
"documents": [{
"id": "abc"
}],
"userInfo": {
"userId": "abc",
"userAgent": "Mozilla/5.0"
},
"pageInfo": {
"uri": "http://example",
"referrerUri": "http://example",
"pageViewId": "currentPageUri"
}
}'
C#
试用此示例之前,请按照 C# 设置说明在 Gemini Enterprise 快速入门:使用 客户端库中进行操作。 如需了解详情,请参阅 Gemini Enterprise C# API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
Go
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Go 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Go API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
Java
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Java API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
Python
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Python 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Python API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。
Ruby
试用此示例之前,请按照 Gemini Enterprise 快速入门:使用客户端库中的 Ruby 设置说明进行操作。 如需了解详情,请参阅 Gemini Enterprise Ruby API 参考文档。
如需向 Gemini Enterprise 进行身份验证,请设置应用默认凭证。 如需了解详情,请参阅为本地开发环境设置身份验证。