# 默认事件

<Aside type="note">
从 SDK 5.2.2 版本开始提供
</Aside>

## 什么是默认事件

默认事件 (Default Events) 是用户在应用或网站中执行的基础交互，不受其行业或功能限制。这些关键用户行为构成了客户沟通的核心，可用于任何产品和客户生命周期的任何阶段。

对于最新的 SDK 版本，默认事件是开箱即用的。除了 PW_InAppPurchase（详见下文）之外，它们不需要额外设置。

要查找并激活 Pushwoosh 中可用的默认事件，请按以下步骤操作：

1.  导航到 **Audience** (受众) 部分中的 **Events** (事件) 选项卡。
2.  点击 **Create Event** (创建事件)。
3.  从下拉菜单中选择 **Default Event** (默认事件)。
4.  在弹出窗口中，选择所需的事件并点击 **Activate** (激活)。

<img src="/events-default-events-1.webp" alt="默认事件下拉菜单，显示可激活的事件"/>

激活后，默认事件可用于基于行为的消息传递。例如，将它们用作 Customer Journey 中的[基于触发器的入口 (Trigger-based Entry)](/zh/product/customer-journey/journey-elements#trigger-based-entry) 或 In-App 消息的触发器。

<Aside type="tip">
要了解如何使用默认事件在 Pushwoosh 中创建营销活动并自动将免费用户转化为付费客户，请观看此教程：
<YouTube id="Nlv2l8kfyxU" playlabel="YouTube 视频：如何使用默认事件在 Pushwoosh 中创建营销活动并自动将免费用户转化为付费客户"/>
</Aside>

## 设备和应用使用情况

### PW_DeviceRegistered

此事件对每个设备仅触发**一次**，即在**首次启动应用**和 SDK 初始化时。顾名思义，此事件跟踪设备在您应用中的注册情况。

**使用案例**

*   为新注册用户发起引导活动。使用 PW_DeviceRegistered 事件将基于触发器的入口添加到引导 [Customer Journey](/zh/product/customer-journey/pushwoosh-journey-overview/) 中。
*   通过事件统计数据，识别为您带来更多新用户的获客活动。
*   在用户首次访问时就与他们互动。通过由 DeviceRegistered 事件触发的 [In-App 消息](/zh/product/messaging-channels/in-apps/?utm_source=docs&utm_medium=post&utm_campaign=default_events)迎接他们。

<img src="/events-default-events-2.webp" alt="由 DeviceRegistered 事件触发的 In-App 消息，用于引导新用户"/>

### PW_DeviceUnregistered

当应用被卸载，或用户选择退订电子邮件或推送通知时，此事件会触发。

**事件属性**

*   **message_id** (string)
*   **message_code** (string)
*   **campaign_id** (string)

**使用案例**

*   当用户决定停止使用您的应用时，挽留他们。例如，您可以向每个卸载应用的用户发送一封包含特别优惠的[电子邮件](/zh/product/messaging-channels/emails/)。
*   与已从您的某个渠道退订的用户保持沟通。例如，如果用户不想再接收推送通知，您可以发送一封[电子邮件](/zh/product/messaging-channels/emails/)或显示一条 [In-App 消息](/zh/product/messaging-channels/in-apps/)，鼓励他们更频繁地使用应用。

### PW_ApplicationOpen

_仅适用于移动应用_

当用户在其设备上**每次启动您的移动应用**时，都会触发 ApplicationOpen 事件。

**事件属性**

*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **application_version** (string)：应用版本。

**使用案例**

*   基于 ApplicationOpen 事件的统计数据，收集用户留存统计信息。
*   为在应用中活跃的用户开展 In-App 消息营销活动。

### PW_ScreenOpen

_仅适用于移动应用_

每当用户在您的**移动应用中查看特定屏幕**时，此事件就会触发。

**事件属性**

*   **application_version** (string)：应用版本。
*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **screen_name** (string)：从您的应用中获取的技术屏幕名称。

**使用案例**

*   通过使用 PW_ScreenOpen 事件启动 Customer Journey，向对特定应用部分表现出兴趣的用户发送完全相关的消息。
*   评估并提高促销活动的有效性。对您的优惠进行两个或多个版本的 [A/B/n 测试](/zh/product/customer-journey/journey-elements#abn-split)，等待 ScreenOpen 事件发生，然后查看哪个内容表现最佳。
*   了解哪些应用屏幕访问量最大。按屏幕名称筛选事件统计数据。

### PW_ApplicationMinimized

_仅适用于移动应用_

当用户在其设备上最小化（但不是强制停止）应用时，此事件会触发。

**事件属性**

*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **application_version** (string)：应用版本。

**使用案例**

*   跟踪 ApplicationOpen 和 ApplicationMinimized 事件之间的平均会话时长。
*   在应用在后台运行时发送推送通知，以吸引用户注意力并让他们返回应用。

### PW_UserIdle

_仅适用于移动应用_

<Aside type="caution" icon="setting" title="需要开发者协助">
要开始接收 PW_UserIdle 事件，您需要开发团队的帮助。请与他们分享下面的 SDK 设置说明。
</Aside>

当用户在您的应用内，但在可配置的一段时间内未与屏幕互动时，此事件会触发。与在用户离开应用后触发的 PW_ApplicationMinimized 不同，PW_UserIdle 在用户仍在应用内时触发。它捕捉了用户注意力下降、犹豫或分心的时刻。可将其用作服务器端信号，以显示及时的 In-App 消息、提供帮助或引导用户进行下一步操作。

默认情况下，在两个平台上都禁用了空闲检测。当超时键缺失或设置为 `0` 时，不会发送 PW_UserIdle 事件。要启用它，请在您应用的平台配置中设置超时时间（最少 30 秒）：

*   **iOS：** 将 `Pushwoosh_IDLE_TIMEOUT_SECONDS` 键（Number，最少 30）添加到您应用的 Info.plist 中。
*   **Android：** 将 `com.pushwoosh.idle_timeout_seconds` 元数据（integer，最少 30）添加到您的 **AndroidManifest.xml** 中。

**事件属性**

*   **screen_name** (string)：用户进入空闲状态的屏幕。在 Android 上，当当前屏幕是嵌套的时，格式为 `ActivityName/FragmentName`。否则为活动名称。在 iOS 上，当嵌套时，格式为 `ParentVC/ChildVC`。否则为视图控制器名称。
*   **idle_seconds** (integer)：已过的配置的空闲超时时间。
*   **session_duration** (integer)：自应用上次进入前台以来的秒数。
*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **application_version** (string)：应用版本。

**行为**

*   每个前台会话最多触发**一次**。返回后台再回到前台会开始一个新的会话。
*   当软键盘打开、模态对话框或系统提示在屏幕上以及应用在后台时，计时器会自动暂停。
*   与屏幕的物理交互（触摸、滚动和输入）会重置计时器。

**使用案例**

*   当用户在高意向屏幕（购物车、定价、结账）上停留而未采取行动时，触发 In-App 优惠或情境助手。
*   当用户在引导步骤中停滞时，显示提示或教程。
*   通过按 `screen_name` 筛选空闲事件统计数据，识别用户失去动力的地方。

### PW_ApplicationExit

_仅适用于移动应用_

<Aside type="caution" icon="setting" title="需要开发者协助">
要开始接收 PW_ApplicationExit 事件，您需要开发团队的帮助。请与他们分享下面的 SDK 设置说明。
</Aside>

当用户将应用置于后台并且在可配置的超时时间内**未返回**时，此事件会触发。与在用户离开时立即触发的 PW_ApplicationMinimized 不同，PW_ApplicationExit 仅在配置的延迟结束后触发。它确认用户已真正离开会话，而不是短暂切换应用。可用于重新吸引在流程中途放弃会话的用户，或在确认退出后触发后续营销活动。

默认情况下，退出意图检测是禁用的。要启用它，请在您应用的平台配置中设置超时时间（10-30 秒，超出此范围的值会自动调整）：

*   **Android：** 将 `com.pushwoosh.exit_intent_timeout_seconds` 元数据（integer，10-30）添加到您的 **AndroidManifest.xml** 中。
*   **iOS：** 将 `Pushwoosh_APPLICATION_EXIT_TIMEOUT_SECONDS` 键（Number，10-30）添加到您应用的 **Info.plist** 中。

**事件属性**

*   **screen_name** (string)：用户将应用置于后台时最后活动的屏幕。
*   **session_duration** (integer)：自应用上次进入前台以来的秒数。
*   **exit_intent_seconds** (integer)：事件触发前经过的有效超时时间（10-30 秒）。
*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **application_version** (string)：应用版本。

**行为**

*   当应用进入后台时计时器启动，如果用户在超时前返回，计时器将**取消**。
*   屏幕名称和会话持续时间在应用进入后台时捕获，而不是在事件触发时。
*   如果退出意图检测被禁用（超时键为 `0` 或未设置），则不会触发该事件。

**使用案例**

*   重新吸引放弃购买或注册流程的用户。触发推送通知或电子邮件，附带提醒或折扣。
*   为未完成关键操作（例如，离开购物车或在引导中途停止）就退出的用户启动赢回 Customer Journey。
*   通过按 `screen_name` 筛选事件统计数据，识别高流失率的屏幕。

## 网页

### PW_SiteOpened

_仅适用于网页_

每当用户打开您网站的任何页面时，SiteOpened 事件就会触发。

**事件属性**

*   **device_type** (integer)：设备类型代码。详情请参阅 [registerDevice](/zh/developer/api-reference/device-api#registerdevice)。
*   **title** (string)：访问页面的标题。
*   **url** (string)：访问页面的 URL。

**使用案例**

*   分析您的网站流量分布，并比较用户打开特定网站页面的次数。为此，请按其属性筛选事件统计数据。
*   在用户访问网站后，通过相关的沟通进行跟进。构建一个以针对特定 `title` 或 `url` 属性设置的 SiteOpened 事件开始的旅程。

<img src="/events-default-events-4.webp" alt="网站流量分析，显示页面访问统计和用户行为模式"/>

## 商业

### PW_InAppPurchase

_仅适用于移动应用_

<Aside type="caution" icon="setting" title="需要开发者协助">
要设置 In-App Purchase 事件，您需要开发团队的帮助。请与他们分享该指南。
</Aside>

每当用户在您的应用中购买应用内项目时，InAppPurchase 事件就会触发。例如付费订阅、游戏机制元素、应用内货币等。

<Aside type="note">
请记住，这些项目必须在您应用的 App Store 页面上指定。
</Aside>

要实现 In-App Purchase 事件：

*   **iOS：** 在您的控制面板中激活 PW_InAppPurchase 事件。将 Pushwoosh iOS SDK 的 `Pushwoosh_PURCHASE_TRACKING_ENABLED` 参数设置为 `yes`。
*   **Android：** 在您的控制面板中激活 PW_InAppPurchase 事件。[使用本指南](/zh/developer/pushwoosh-sdk/android-sdk/customizing-android-sdk-50#in-app-purchase-tracking)配置向 Pushwoosh 发送购买信息。

**事件属性**

*   **productIdentifier** (string)：从 App Store 获取。
*   **quantity** (integer)：购买的项目数量。
*   **transactionDate** (string)：购买日期。
*   **status** (string)：购买状态。

**使用案例**

*   收集应用内购买的统计数据。
*   开展促销活动并跟踪其成功情况。在促销消息后设置“等待触发器”事件。

<img src="/events-default-events-5.webp" alt="Customer Journey 配置，显示带有 In-App Purchase 事件的“等待触发器”步骤"/>

<Aside type="tip">
您可以将 PW_InAppPurchase 映射为[转化事件](/zh/product/audience-data-and-segmentation/events/conversion-events/)的收入来源，而无需添加新代码，以便在 RFM 分群、旅程归因和 ManyMoney AI 中使用其收入。
</Aside>

## 推送通知

### PW_NotificationSend

_仅适用于移动和网页_

当 Pushwoosh 消息发送到用户设备时，此事件会触发一次。

**事件属性**

*   **message_id** (string)
*   **message_code** (string)
*   **campaign_id** (string)

**使用案例**

*   跟踪消息是否已发送，无论使用何种渠道。
*   根据发送的消息数量创建用户 [Segments](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)。
*   在 [Events history (事件历史)](/zh/product/audience-data-and-segmentation/user-explorer/#events-history) 中查看发送给用户的所有消息，并分析用户的后续行为。

### PW_NotificationOpen

_仅适用于移动和网页_

每当用户打开通过 Pushwoosh 发送的推送通知时，此事件就会触发。

**使用案例**

*   配置[发送推送的最佳时间](/zh/product/messaging-channels/push-notifications/send-push-notifications/one-time-push#optimal-time-paid-subscription-required)。
*   根据特定时间段内的通知表现创建 [Segments](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)。

## 电子邮件

### PW_EmailSent

_仅适用于电子邮件_

当一封电子邮件发送到电子邮件提供商时，此事件会触发一次。请检查 **status_code** 以了解结果。

**事件属性**

*   **message_id** (string)：消息的 ID。
*   **message_code** (string)：特定电子邮件消息的唯一标识符。
*   **status_code** (integer)：电子邮件提供商为此发送尝试返回的投递状态码。
*   **campaign_id** (string)：营销活动的 ID。仅当电子邮件作为营销活动的一部分发送时包含。
*   **campaign_code** (string)：营销活动的唯一代码。当发送是营销活动的一部分且营销活动查找成功时包含。即使 **campaign_id** 存在，**campaign_code** 也可能缺失。

**使用案例**

*   使用 **status_code** 跟踪发送结果，与电子邮件之后是否被打开或点击无关。
*   根据发送的电子邮件数量创建用户 [Segments](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)。
*   在 [Events history (事件历史)](/zh/product/audience-data-and-segmentation/user-explorer/#events-history) 中查看发送给用户的所有电子邮件，并分析用户的后续行为。

### PW_EmailOpen

_仅适用于电子邮件_

当用户打开通过 Pushwoosh 发送的电子邮件时，此事件会触发。

**事件属性**

*   **campaign_code** (string)：与电子邮件关联的营销活动的唯一代码。
*   **campaign_id** (string)：营销活动的 ID。
*   **message_code** (string)：特定电子邮件消息的唯一标识符。
*   **message_id** (string)：消息的 ID。
*   **opened_by** (string)：触发打开的人或物：`user` 表示收件人真实打开，或 `ampp` 表示由 [Apple 邮件隐私保护](/zh/product/statistics-and-analytics/messaging-statistics/email-statistics#opened-unique) 预取跟踪像素触发的自动打开。

**使用案例**

*   跟踪电子邮件打开情况，以识别积极与您的电子邮件互动的用户。使用此数据创建后续营销活动，例如向打开促销电子邮件的用户发送折扣码。
*   如果用户打开电子邮件但未完成期望的操作（例如，进行购买），您可以触发后续电子邮件，附带提醒或个性化优惠。
*   分析各营销活动的打开率，以优化您的主题行和电子邮件发送时间策略，适用于产品发布或季节性促销等营销活动。
*   创建一个基于 **PW_EmailOpen** 且 **opened_by** 等于 `user` 的 [segment](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)，以定位打开电子邮件的收件人，排除 AMPP 触发的打开。

### PW_EmailLinkClicked

_仅适用于电子邮件_

每当用户点击电子邮件中的链接时，此事件就会触发。

**事件属性**

*   **message_id** (string)
*   **message_code** (string)
*   **campaign_id** (string)
*   **redirect_link** (string)
*   **original_link** (string)

**使用案例**

*   为点击电子邮件中特定链接的用户开展有针对性的营销活动。
*   向忽略第一封电子邮件中链接的用户发送另一条消息，以鼓励他们点击链接（或采取其他行动）。

## In-App 消息

### PW_InAppShown

_仅适用于移动应用_

当向用户显示 In-App 消息时，此事件会触发。

**事件属性**

*   **message_code** (string)：与 In-App 消息关联的特定消息的唯一标识符。
*   **message_id** (integer)：消息的 ID。
*   **campaign_code** (string)：与 In-App 消息关联的营销活动的唯一代码。
*   **campaign_id** (integer)：触发 In-App 消息的营销活动的 ID。
*   **rich_media_code** (string)：在 In-App 消息中显示的富媒体内容的唯一标识符。
*   **inapp_code** (string)：标识所显示的特定 In-App 消息的唯一代码。

**使用案例**

*   跟踪 In-App 消息的查看频率，以调整您的消息策略，例如移除可能惹恼用户的冗余消息。
*   使用 In-App 消息的展示数据来评估促销活动（如限时抢购或订阅升级）的覆盖范围。
*   如果显示了 In-App 消息但未被点击，您可以触发后续操作，例如发送包含类似内容的推送通知以加强消息。

### PW_InAppClicked

_仅适用于移动应用_

当用户通过点击与 In-App 消息互动时，此事件会触发。

**事件属性**

*   **message_code** (string)：与 In-App 消息关联的特定消息的唯一标识符。
*   **message_id** (integer)：消息的 ID。
*   **campaign_code** (string)：与 In-App 消息关联的营销活动的唯一代码。
*   **campaign_id** (integer)：触发 In-App 消息的营销活动的 ID。
*   **rich_media_code** (string)：在 In-App 消息中显示的富媒体内容的唯一标识符（如果适用）。
*   **inapp_code** (string)：标识被点击的特定 In-App 消息的唯一代码。
*   **element_id** (string)：In-App 消息中被点击的特定元素的标识符（例如，按钮或链接）。
*   **link** (string)：与被点击元素关联的 URL 或深层链接。

**使用案例**

*   分析点击行为，以识别用户最常互动的按钮或链接，并优化未来的 In-App 消息设计。例如，在订阅升级活动中测试不同的 CTA。
*   根据用户点击触发自动化操作，例如将用户重定向到特定产品页面或发送推送通知。

## 短信

### PW_SMSSent

_仅适用于短信_

当一条短信发送到短信提供商时，此事件会触发一次。请检查 **status_code** 以了解结果。

**事件属性**

*   **message_id** (string)：消息的 ID。
*   **message_code** (string)：特定短信消息的唯一标识符。
*   **status_code** (integer)：短信提供商为此发送尝试返回的投递状态码。用它来区分成功与失败。
*   **campaign_id** (string)：营销活动的 ID。仅当短信作为营销活动的一部分发送时包含。
*   **campaign_code** (string)：营销活动的唯一代码。当发送是营销活动的一部分且营销活动查找成功时包含。即使 **campaign_id** 存在，**campaign_code** 也可能缺失。

**使用案例**

*   使用 **status_code** 跟踪发送结果，无论在同一旅程中其他地方使用何种渠道。
*   根据发送的短信数量创建用户 [Segments](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)。
*   在 [Events history (事件历史)](/zh/product/audience-data-and-segmentation/user-explorer/#events-history) 中查看发送给用户的所有短信，并分析用户的后续行为。

## WhatsApp

### PW_WhatsAppSent

_仅适用于 WhatsApp_

当一条 WhatsApp 消息发送到 WhatsApp 提供商时，此事件会触发一次。请检查 **status_code** 以了解结果。

**事件属性**

*   **message_id** (string)：消息的 ID。
*   **message_code** (string)：特定 WhatsApp 消息的唯一标识符。
*   **status_code** (integer)：WhatsApp 提供商为此发送尝试返回的投递状态码。用它来区分成功与失败。
*   **campaign_id** (string)：营销活动的 ID。仅当 WhatsApp 消息作为营销活动的一部分发送时包含。
*   **campaign_code** (string)：营销活动的唯一代码。当发送是营销活动的一部分且营销活动查找成功时包含。即使 **campaign_id** 存在，**campaign_code** 也可能缺失。

**使用案例**

*   使用 **status_code** 跟踪发送结果，与投递或已读状态无关。
*   根据发送的 WhatsApp 消息数量创建用户 [Segments](/zh/product/audience-data-and-segmentation/segmentation/create-segments/by-events)。
*   在 [Events history (事件历史)](/zh/product/audience-data-and-segmentation/user-explorer/#events-history) 中查看发送给用户的所有 WhatsApp 消息，并分析用户的后续行为。

### PW_WhatsAppReceived

_仅适用于 WhatsApp_

当通过系统接收到一条 WhatsApp 消息时，此事件会触发。

**事件属性**

*   **message** (string)：接收到的消息内容。对于位置消息，包含 `"latitude,longitude"` 格式的坐标（例如 `"55.751244,37.618423"`）。
*   **latitude** (number)：共享位置的纬度。仅当用户分享其当前位置时包含。
*   **longitude** (number)：共享位置的经度。仅当用户分享其当前位置时包含。

**使用案例**

*   响应收到的 WhatsApp 消息，自动化后续操作（例如启动 Customer Journey 或跟踪用户参与事件）。
*   根据用户的 WhatsApp 消息互动对用户进行分群，以实现有针对性的消息传递或个性化营销活动。
*   当用户分享其位置时，使用 `latitude` 和 `longitude` 属性触发基于位置的旅程。