对于出海团队来说,用户获取成本越来越高,如何让已经触达的用户反复回访、持续转化,成了决定投放 ROI 的关键因素。PWA 推送通知(Push Notification)正是解决这个问题的利器——不需要上架 Google Play,不需要用户下载安装 APK,只要用户在 Android 浏览器中授权一次,就能通过系统级通知直接触达。2026 年,Web Push 在 Android Chrome、Samsung Internet、Edge 等主流浏览器上已经全面成熟,本文将从出海实操角度,手把手带你完成 Android PWA 推送通知的完整配置。

想提升广告点击后的转化率?联系 DeepClick 获取方案

出海场景下,为什么 PWA 推送通知不可或缺

跨境电商、出海游戏、社交应用等业务场景中,用户通过 Meta Ads 或 Google Ads 点击广告进入落地页后,绝大部分不会立即转化。传统做法是通过再营销广告去”捞回”这些用户,但 CPM 持续走高,cookie 追踪能力又在退化。PWA 推送通知提供了一条零成本的”直连”通道:用户授权后,你可以在任意时间发送通知,将用户拉回你的 PWA 站点。

举几个典型出海场景:

  • 跨境电商:用户浏览了商品但未下单,30 分钟后推送”限时优惠即将结束”提醒,挽回弃购。
  • 出海游戏:通知玩家每日签到奖励、限时活动,提升日活和留存。
  • 社交/内容平台:推送好友动态、新内容更新,增加打开频率。
  • SaaS 工具:提醒用户完成未完成的操作流程或试用到期通知。

相比原生 App 推送,PWA 推送的最大优势在于免安装——用户在浏览器中访问你的网站,授权通知权限,即可开始接收。这对于还没有在目标市场建立 App 下载心智的出海团队来说,是极具性价比的留存手段。

前置条件:HTTPS、Service Worker 与 Manifest

Service Worker 推送通知架构流程图

在开始配置推送通知之前,确保你的 PWA 满足以下基本要求:

HTTPS 是强制要求。Service Worker 只能在安全源(HTTPS)下注册,这是浏览器的硬性安全策略。出海站点建议使用 Cloudflare 或类似 CDN 服务,既能获取免费 SSL 证书,又能加速全球访问。如果你的落地页加载速度还没有优化到位,这一步也值得一并处理。

Service Worker 文件。Service Worker 是服务器和浏览器之间的”桥梁”,负责处理后台推送事件。即使用户没有打开你的网页,Service Worker 也能接收推送消息并展示通知。你需要在网站根目录创建一个 sw.js 文件。

Web App Manifest。配置 manifest.json,包含应用名称、图标、启动 URL、显示模式等信息。这不仅是推送通知的基础,也是 PWA 可安装性的核心配置。

第一步:配置 Firebase Cloud Messaging(FCM)

FCM 是目前 Web Push 最主流的推送服务。配置步骤如下:

  1. 创建 Firebase 项目:进入 Firebase Console,新建项目,在”项目设置 → Cloud Messaging”中确认 Cloud Messaging API (V2) 已开启。
  2. 获取 VAPID 密钥:在”Web 推送证书”区域生成密钥对,复制公钥用于前端订阅。
  3. 安装 Firebase SDK:在前端项目中安装并初始化 Firebase。
  4. 创建 firebase-messaging-sw.js:这是 Firebase 要求的专用 Service Worker 文件,放在网站根目录,负责处理后台消息。
// firebase-messaging-sw.js
importScripts('https://www.gstatic.com/firebasejs/10.12.0/firebase-app-compat.js');
importScripts('https://www.gstatic.com/firebasejs/10.12.0/firebase-messaging-compat.js');

firebase.initializeApp({
  apiKey: "你的_API_KEY",
  projectId: "你的项目ID",
  messagingSenderId: "你的发送者ID",
  appId: "你的应用ID"
});

const messaging = firebase.messaging();
messaging.onBackgroundMessage((payload) => {
  const { title, body, icon } = payload.notification;
  self.registration.showNotification(title, {
    body,
    icon: icon || '/icons/icon-192.png'
  });
});

第二步:注册 Service Worker 并获取推送令牌

在主页面的 JavaScript 中注册 Service Worker,并在用户授权后获取 FCM 推送令牌:

// 注册 Service Worker
if ('serviceWorker' in navigator) {
  const registration = await navigator.serviceWorker.register('/firebase-messaging-sw.js');
  console.log('SW 注册成功:', registration.scope);
}

// 获取推送令牌
import { getMessaging, getToken } from 'firebase/messaging';
const messaging = getMessaging();

async function subscribeToPush() {
  const token = await getToken(messaging, {
    vapidKey: '你的VAPID公钥',
    serviceWorkerRegistration: await navigator.serviceWorker.ready
  });
  if (token) {
    // 将 token 发送到你的服务器存储
    await fetch('/api/save-token', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ token })
    });
  }
}

拿到的 token 需要存储在后端数据库中,后续发送推送时通过 FCM API 指定 token 推送到对应设备。

第三步:正确处理通知权限请求

通知权限请求是整个流程中最关键的 UX 环节。千万不要在页面加载时直接弹出浏览器原生权限弹窗——Chrome 已经会对这种行为进行抑制,甚至自动拒绝。

推荐采用渐进式展示的两步法:

  1. 先展示自定义提示:用自己的 UI 组件(横幅、弹窗、卡片)向用户说明通知的价值,例如”开启通知,第一时间获取专属折扣”。
  2. 用户点击”开启”后,再调用浏览器原生权限 API:只对有明确意愿的用户触发授权,大幅提升同意率。

一旦用户在原生弹窗点击”拒绝”,你就无法再次请求——只能引导用户手动到浏览器设置中开启。所以这一步务必谨慎。

第四步:推送消息处理与 Android 富通知

Android Chrome 支持丰富的通知功能,出海团队应充分利用:

  • 富媒体图片:通过 image 属性在通知中展示大图,适合电商促销场景。
  • 操作按钮:最多添加两个行动按钮(如”立即购买””稍后查看”),降低用户决策门槛。
  • 角标(Badge):状态栏小图标,增强品牌辨识度。
  • 分组与替换:tag 属性对同类通知分组,避免用户收到过多相似通知。
self.addEventListener('push', (event) => {
  const data = event.data ? event.data.json() : {};
  event.waitUntil(
    self.registration.showNotification(data.title || '新消息', {
      body: data.body || '您有一条新通知',
      icon: '/icons/icon-192.png',
      image: data.image,
      actions: [
        { action: 'open', title: '查看详情' },
        { action: 'dismiss', title: '稍后再说' }
      ],
      data: { url: data.click_url || '/' }
    })
  );
});

第五步:点击追踪与留存指标

发送通知只是开始,效果衡量同样重要。在 Service Worker 中监听 notificationclick 事件,记录点击行为:

self.addEventListener('notificationclick', (event) => {
  event.notification.close();
  const targetUrl = event.notification.data?.url || '/';
  event.waitUntil(
    fetch(`/api/track-click?tag=${event.notification.tag}`)
      .then(() => clients.openWindow(targetUrl))
  );
});

关键指标包括:

  • 送达率:成功推送到设备的比例。
  • 点击率(CTR):用户点击通知的比例。
  • 转化率:点击后完成目标动作(下单、注册等)的比例。
  • 退订率:用户关闭通知权限的比例。

结合无 Cookie 的点击后追踪方案,可以构建完整的用户旅程分析,从广告点击到推送召回,打通全链路数据。

出海常见踩坑与解决方案

Android 电池优化导致通知被屏蔽。这是出海最常遇到的问题之一。小米、OPPO、vivo、华为等中国品牌手机在海外市场份额不低,它们的系统级省电策略比原生 Android 更激进,可能会杀死 PWA 的后台 Service Worker。解决方案是在用户引导流程中加入”关闭电池优化”的操作指引。

不同地区的用户对通知的接受度差异大。东南亚市场用户对推送通知接受度较高,欧美用户则更敏感。建议根据目标市场调整推送频率和内容策略,避免因过度推送导致退订。

FCM 在部分地区的可达性问题。FCM 依赖 Google 服务,在 Google 服务受限的地区可能不可靠。出海团队需要根据目标市场评估是否需要备用推送通道。

Token 过期与刷新。FCM Token 会在用户清除浏览器数据或浏览器更新时失效。务必实现 token 刷新机制,定期清理无效 token,避免推送失败率攀升。

实施清单

最后,总结一份可执行的配置清单:

  • 确认网站使用 HTTPS,SSL 证书有效。
  • 创建并注册 Service Worker,处理 push 和 notificationclick 事件。
  • 配置 Firebase Cloud Messaging 项目,获取 VAPID 密钥。
  • 实现两步权限请求——先自定义提示,再触发原生弹窗。
  • 利用 Android 的富通知功能——大图、操作按钮、角标。
  • 搭建后端 Token 存储,实现刷新与清理逻辑。
  • 接入数据追踪,监控送达率、点击率、转化率、退订率。
  • 针对目标市场的电池优化问题提供用户引导。
  • 根据市场差异制定推送频率与内容策略
  • 在 Chrome、Samsung Internet、Edge 等多浏览器上充分测试。

PWA 推送通知是出海团队低成本留存用户的核心武器。配合智能流量分发和精细化的落地页优化,你可以在不依赖应用商店的前提下,构建一套完整的用户触达和再营销体系。


广告有点击,但转化一直上不去?

DeepClick 专注 Meta 广告点击后链路优化,通过回流、再曝光与落地页优化,帮助出海广告团队平均提升 CVR 30%+,降低 CPA。

预约免费诊断

发表评论

Trending

了解 安卓PWA中文站 的更多信息

立即订阅以继续阅读并访问完整档案。

继续阅读