本页面介绍了如何实时记录用户事件。
如需了解您可以记录的用户事件类型,请参阅 userEvents
对象的 eventType
字段。通过提取用户事件,您可以提高结果的质量。例如,用户事件会影响搜索结果的排名。点击率较高的结果会得到提升,而点击率较低的结果会被埋没。请勿记录尚未导入的文档的用户事件。
如果您使用的应用附加了多个数据存储区,Google 建议您在位置级而非数据存储区级层级注入用户事件。这样一来,系统便可将指定的用户事件发送到与其关联的数据存储区。如需在位置级而非数据存储区级层面上,将用户事件与来自不同 dataStores
的文档一起注入,请参阅 userEvents.write
。
如需批量导入历史用户事件,请参阅导入历史用户事件。
您可以通过以下方式记录用户事件:
如需了解用户事件的 JSON 表示法,请参阅 API 参考文档中的 userEvents
。
准备工作
在导入用户事件之前,请做好以下准备:
- 创建数据存储区和应用。
- 如需了解用户事件要求,请参阅用户事件简介。
使用 JavaScript 像素记录实时用户事件
如需使用 JavaScript 像素记录用户事件,请执行以下操作:
- 为对
userEvents.collect
方法的调用创建 API 密钥。 - 如需查看收集用户事件的 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",
"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" \
--data "{
'eventType': 'view-item',
'userPseudoId': 'visitor0',
'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'
}
}" \\
"https://discoveryengine.googleapis.com/v1/projects/PROJECT_NUMBER/locations/global/dataStores/DATA_STORE_ID/userEvents:write"
C#
试用此示例之前,请按照《Gemini Enterprise 快速入门:使用客户端库》中的 C# 设置说明进行操作。 如需了解详情,请参阅 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 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为本地开发环境设置身份验证。