使用 Google 代码和 GTM 衡量网站效果

作者:nunumick 发布时间:05 Apr 2024 分类: blog

博客网站用一套代码分别在国内站点和 Github站点进行部署,为了观测不同渠道的用户效果,需要在效果跟踪上进行区分。

关于网站效果分析,一直以来用的都是 Google Analytics,经历过早期的从 UA(Universal Analytics)到 GA4 的产品升级与迁移。埋点方法使用最新的 gtag.js,现已更名为 Google 代码(Google Tag)。

Google 代码工作原理

Google 代码 (gtag.js) 是可添加到网站中的一段代码,添加这一段代码后您即可使用各种 Google 产品和服务(例如,Google Ads、Google Analytics [分析]、Campaign Manager、Display & Video 360、Search Ads 360)。您可以在整个网站中使用该 Google 代码并将该代码关联到多个目标账号,而无需针对不同的 Google 产品账号管理多个代码。

GA4 的衡量 ID 本质上就是一个 gtag(格式:G-XXXX),每有一个需衡量的对象,就需要一个 gtag 与之匹配。

GA4 gtag 埋点部署代码片段:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'TAG_ID');
</script>

gtag() 方法负责注册衡量 ID,并将网站信息和行为事件传递给 GA4 服务进行分析。

(Read more ...)

标签: gtag , gtm , ga4
<<< EOF

通过 Git Server Hooks 实现网站的多仓库同步与镜像部署

作者:nunumick 发布时间:21 Mar 2024 分类: developer

本网站通过 github-pages & jekyll 构建与托管,系列文章可以参看:blog
因为国内访问 github.io 速度较慢,所以萌生了为网站提速和建设国内外双镜像部署的念头,以下简单记录双镜像建设的思路和操作过程。

工作流程

可以实现一处编写多地部署的方式有很多,比如:

  1. 最原始的:代码提交 github 后再手动到国内服务器更新构建
  2. 国内服务器定时任务更新和构建
  3. webhooks 监听
  4. 服务器架设 git server,本地提交同步提交多个 remote,基于 server hooks 触发构建

由于我还有个 NAS 服务器并已经开通了公网服务,加上公共云服务器,可以做到三地同步部署,这里的想法是以 NAS 做主要的远程代码仓库,以 github 和云服务器做自动部署并提供镜像版网站服务。

如流程示意图所示,源码只 push 到 NAS Git Server,经由 git hook 自动同步至 Github 和云服务器,此举可避免本地仓库管理多个 remote 地址,也可以通过 NAS 的“代理”服务和 Github 保持比较高质量的连接。

NAS 部署 Git Server

群晖系统中可以安装 Git Server 应用。大体上按照官方指引操作即可,有几个小点需要特别注意。

(Read more ...)

标签: nas , jekyll , blog , githooks
<<< EOF

家庭基础设施篇三:构筑智能家居生活服务

作者:nunumick 发布时间:03 Mar 2024 分类: life

现如今面向家庭的智能设备和智控生活体验已经得到非常普遍的应用,一些厂商如小米、涂鸦更是有非常成熟的面向全屋的整套智慧生活方案,可以从房屋装修开始布局,一体化满足各式各样的智控生活诉求。

自家的情况和现在流行新装房屋不同,智控设备和能力属于后期添加。差不多是在 2017 年就采买了许多小米智能插座、开关、传感器,基于小米生态用米家 App 集成管理就可以有良好的使用体验。不过后面又有朋友送来一些涂鸦平台设备,加上家里还有一些仅支持 HomeKit 的监控设备,家里的智能设备由单平台变成了需要在多平台之间切换,再之后购入的设备也基本都支持苹果 HomeKit 和米家双平台,于是在 2020 年基于 HomeBridge 折腾一番,全屋智能设备接入 HomeKit 通过苹果 Home App 进行管理和控制。

苹果新的“家庭”架构

苹果在 2023 年推出的 iOS 16.4 中引入了新的 HomeKit 架构,新的架构进行了多项性能和可靠性优化。全新的架构也明确了 iPad 不能作为家庭中枢使用,转而推荐使用 HomePod: https://support.apple.com/zh-cn/102287。猜测还是商业意图明显。

要在新的“家庭”架构上共享你家的控制权以及接收“家庭”通知,你需要配备一个家居中枢(如 Apple TV 或 HomePod)。在这个新的“家庭”架构中,不支持使用 iPad 作为家居中枢。

所以在新的架构下不得不添置了一个 HomePod 代替原来的 iPad 作为中枢使用,在选择上 HomePod mini 足以应付,不管怎样,应该说苹果公司的生态圈目的是实现了的。

HomeBridge vs HomeAssistant

开源社区中比较热门的两个智能家居解决方案,HomeAssistant 侧重于做独立的智能家居集成平台,定位上类似于 Apple Home、米家、涂鸦、天猫精灵等,它允许我们整合各种智能家居设备和服务,无论这些设备是否支持原生集成,它也有很强的自动化控制能力。而 HomeBridge 如其名称,主要充当桥梁作用,将非 HomeKit 兼容的智能设备桥接到 Apple HomeKit 生态系统中,从而使我们能够通过苹果的 Home 应用或 Siri 语音控制这些设备。

经过多年的迭代发展,HomeAssistant 的上手门槛已大幅降低,插件和集成生态也增强不少,通过添加 HomeKit 集成可以轻松实现与 HomeBridge 同样的能力,将 HomeAssistant 控制的设备桥接到苹果的 HomeKit 中。

HomeBridge 贵在轻量、纯粹、体验好,且 Node.js 项目对前端特别友好,二次开发也不在话下,自由度更高。

于是为了深度体验,在我本次“家庭”架构升级中同时引入了这两个项目,应该说 HomeAssistant 的功能很强大,我只用了它很少的一部分能力来搭建理想中的 Apple HomeKit 生态。

(Read more ...)

标签: homekit , raspberry , homebridge , homeassistant
<<< EOF

家庭基础设施篇二:家用网络配置与服务升级

作者:nunumick 发布时间:21 Feb 2024 分类: life

在过年放假返回杭州的期间,趁着时间相对充裕,便对家里的网络设备和组网方式做了一次整体的配置更新与升级,与之前的方式相比,最主要的变化有两个:

  1. 从运营商获取公网 IP,支持通过公网 IP 直连管理路由器和 NAS 主机
  2. 架设二级路由器,和主路由网络进行隔离,类似分离出生活区和管控区,在二级网络下提供代理、网站、远程桌面等增强服务

其实对家里的网络进行优化的想法很早就是有的,最初是源于想在外面时也能够远程管理联网设备的网络联通状态,比如家里有小朋友的一种很常见情况是经常需要临时开关某个设备(如电视机)的的网络连接。现在路由器大多都提供远程连接也有家长控制模式等,但因为联网方式是经厂商服务器中转,速度非常感人,连接不上的时候大人小孩都要急哭。还有就是之前主路由常驻了科学上网程序,多少会对其他没需求的设备产生一些影响,这次一起调整了。

几番折腾后,整体的网络结构如下,应该说是根据家庭情况和实际需求而设计,有更好的合理性和可玩性。

network

(Read more ...)

标签: network , infrastructure , router
<<< EOF

家庭基础设施篇一:全屋零冷水供暖实践

作者:nunumick 发布时间:21 Nov 2023 分类: life

这是一篇关于家庭 0 冷水计划的实施记录,供暖水平是家庭生活质量是否优质的核心衡量指标,供暖设备也是房屋建设重要的基础设施之一。

0 冷水系统能够在短时间内提供热水,打开水龙头后无需等待立刻可以放出舒适的热水,大大提高了生活品质,特别是在寒冷季节,避免了家庭成员长时间接触冷水的不适。

对于家里有小孩、孩子妈妈这类不耐冷生物的,像北方人一样舒适过冬成了她们每个冬天时期的强诉求。

在用了多年的太阳能热水器坏了之后,新的替换升级方案出炉了。

水路设计

hot water recirculation system

(Read more ...)

标签: heater , infrastructure
<<< EOF