我正在尝试遵循以下示例: https://developers.google.com/web/tools/workbox/modules/workbox-google-analytics
我建立了一个Google Analytics(分析)帐户,然后使用https://codelabs.developers.google.com/codelabs/workbox-lab/#0创建了一个PWA。 实验室的PWA按预期工作。
然后,我在Google Analytics(分析)中创建了一个自定义维度(dimension1)和一个自定义指标(metric1)。当我在页面加载代码中发送维度和指标时,它会显示在Google Analytics(分析)报告中。
ga('create', 'UA-125355230-1', 'auto');
//ga('send', 'event', 'category', 'action', { 'metric1': 100 });
ga('set', 'dimension1', 'online');
ga('send', 'pageview');
然后在sw.js(服务工作者js)中,添加了以下代码,如教程中所述:
workbox.googleAnalytics.initialize({
parameterOverrides: {
dimension1: 'offline',
},
hitFilter: (params) => {
const queueTimeInSeconds = Math.round(params.get('qt') / 1000);
params.set('metric1', queueTimeInSeconds);
},
});
我停止了该应用程序,并刷新了index.html几次。我使该应用重新联机,并尝试使用队列名称workbox-background-sync:workbox-google-analytics同步服务工作者。
这会触发后台插件代码,但找不到要发送的任何内容。
当我尝试在devtools中使网络脱机时,结果相同。
在调试器中,最初调用了workbox-google-analytics.dev.js的createRequestWillReplayCallback,但是当我尝试同步时调用的reboxRequests workbox-background-sync.dev.js似乎找不到要重播的内容。
同步
workbox-background-sync-http://localhost:8081
是在indexedDB中创建的,但是请求下的queueName似乎为空:
我想念什么?希望获得任何与离线分析结合使用Workbox和测试PWA的指示或帮助。