自托管 Umami 实现 iOS 应用分析:免重量级 SDK,数据统计更精准!
鲁纳·奥维森·耶尔巴克相关信息涉及领导力、产品与技术包含项目、文章、演讲、关于等方面。使用自托管的 Umami 进行 iOS 应用分析2026 年 7 月 14 日发布阅读时长 7 分钟标签有分析、iOS、应用、开源、Fly、Cloudflare。因已自托管 Umami希望在应用中有同样体验且无需重量级分析 SDK、请求 IDFA 权限、借助第三方收集数据所以创建了开源 Swift 包 umami - swift可在同一仪表盘看到与网站相同的访客和访问数据。我的 Umami 实例支持应用分析情况每个应用在 Umami 中注册为网站显示在网站列表中与真实网站并列还展示应用真实图标。应用概览页面与网站类似访客数、访问数和页面浏览量统计方式相同。应用各个屏幕将自身报告为页面如健身追踪应用 Simplest Workout Tracker 的日历、年度总结、设置页面和记录健身页面会显示在页面列表中能知道用户使用应用的部分。实现方式umami - swift 是无依赖的开源 Swift 包公共 API 简洁。configure 方法需传入网站 ID 和主机字符串主机是在 Umami 中添加网站时输入的域名应用使用伪域名baseURL 可指向自己的 Umami 实例配置时会将启动页面浏览和 app_started 事件加入队列应用启动信息会显示在 Umami 概览页面。track 方法用于发送带有可选额外数据字典的命名事件screen 方法用于发送指定屏幕的页面浏览信息两个方法都会先将数据存入磁盘再批量发送无网络启动应用也不会丢失数据且不影响 UI。将其集成到应用中将 umami - swift 集成到应用只需几个步骤一是在 Xcode 中选择“文件”→“添加包依赖项”粘贴链接设置规则添加产品到应用目标使用 Package.swift 的项目在 dependencies 中添加相关内容并添加产品到目标。二是在 Umami 仪表盘为应用添加新网站给应用一个稳定伪域名复制生成的网站 ID。三是在应用启动时调用一次 Umami.configure 方法传入网站 ID、域名和 Umami 实例。四是运行应用在 Umami 仪表盘中打开应用网站页面app_started 事件应在几秒钟内出现表明事件数据正常传输。同一后端的不同客户端Umami 的跟踪脚本与 /api/send 和 /api/batch 两个端点交互接受 JSON 格式请求体不需要 API 密钥或签名请求通过有效负载中的 website - id 识别网站。Swift 应用可直接调用这些端点发送相同格式 JSON 数据设置合适的 User - Agent蜜罐机制同样适用于应用。准确统计唯一用户Umami 以访客和访问统计流量网页端通过对 IP 地址和 User - Agent 进行无 cookie 哈希计算确定访客身份应用中 umami - swift 自行提供访客 ID每个事件携带 UUIDUmami 作为访客标识符接受。该 UUID 随机生成仅存在于内存日历日期变更时更新不写入设备数据每次应用启动视为新访客以一天为上限与 Umami 无 cookie 网页跟踪方式一致不涉及 IDFA 或应用跟踪透明度无法跨应用、安装或日期跟踪用户。页面浏览量让概览页面数据准确Umami 通过页面浏览量计算访客数、访问数和页面浏览次数带有 name 的有效负载是自定义事件仅发送命名事件时概览页面数据显示为零事件只显示在“事件”列表中。客户端在每次应用启动和返回前台时发送一个 / 页面的浏览量让概览页面显示真实数据应用屏幕也可参与统计Umami.screen 方法会发送页面浏览量屏幕会显示在 Umami 页面列表中。不受广告拦截器影响浏览器请求会经过广告拦截器或隐私扩展拦截器可看到完整 URL/np/ 路径可避开问题。应用更难被拦截iOS 上 Safari 内容拦截器仅适用于 Safari 浏览器系统级拦截器或 DNS 拦截器只能看到 DNS 查找和 TLS 握手时的域名路径信息加密浏览器中能拦截 Umami 的规则在应用中无法匹配普通自托管实例默认不会被拦截。umami - swift 直接与 Fly 源服务器通信不经过 Cloudflare Worker但 /np/ 代理仍有作用。在 Umami 中显示应用图标Umami 在仪表盘上每个网站旁显示小图标从 DuckDuckGo 的 favicon 服务根据注册域名获取应用使用伪域名注册显示灰色地球图标。自托管可改变这种情况Umami 读取 FAVICON_URL 环境变量可替换 favicon 服务设置指向 Cloudflare Worker。请求 /icons/ 时Worker 会比对域名与应用列表匹配则返回应用真实图标其他情况重定向到 DuckDuckGo 的 favicon 服务网站仍显示原有图标。这是美观上的改进现在应用显示真实图标。相关文章推荐包括为 Scratch a Saying 添加一些小亮点2026 年 7 月 17 日阅读时长 2 分钟、使用 Cloudflare、Fly 和 Supabase 自托管 Umami2026 年 7 月 11 日阅读时长 8 分钟、SinceTag 现已上架 Mac App Store2026 年 6 月 13 日阅读时长 1 分钟。还有上一篇、主页、下一篇等导航信息以及项目、文章、演讲、关于、隐私政策、联系我们、Github、领英、订阅源等相关内容。

相关新闻

frab 会议系统用户手册:从议程安排到参会者管理全攻略

frab 会议系统用户手册:从议程安排到参会者管理全攻略

frab 会议系统用户手册:从议程安排到参会者管理全攻略 【免费下载链接】frab conference management system 项目地址: https://gitcode.com/gh_mirrors/fr/frab frab 是一款强大的会议管理系统,专为社区会议打造,支持从会议创建、演讲…

2026/7/19 19:12:20 阅读更多 →
Bloom在生产环境的应用:Crisp如何处理250 RPS的API流量

Bloom在生产环境的应用:Crisp如何处理250 RPS的API流量

Bloom在生产环境的应用:Crisp如何处理250 RPS的API流量 【免费下载链接】bloom :cherry_blossom: HTTP REST API caching middleware, to be used between load balancers and REST API workers. 项目地址: https://gitcode.com/gh_mirrors/bloom/bloom Bloo…

2026/7/19 19:12:20 阅读更多 →
深入Unipacker架构:理解其模拟引擎和API调用实现机制

深入Unipacker架构:理解其模拟引擎和API调用实现机制

深入Unipacker架构:理解其模拟引擎和API调用实现机制 【免费下载链接】unipacker Automatic and platform-independent unpacker for Windows binaries based on emulation 项目地址: https://gitcode.com/gh_mirrors/un/unipacker Unipacker是一款基于模拟技…

2026/7/19 19:12:20 阅读更多 →

最新新闻

互联网大厂常见Java面试题及答案汇总(2026持续更新)

互联网大厂常见Java面试题及答案汇总(2026持续更新)

金九银十即将来袭,又是一个跳槽的好季节,准备跳槽的同学都摩拳擦掌准备大面好几场,今天为大家准备了互联网面试必备的 1 到 5 年 Java 面试者都需要掌握的面试题,分别 JVM,并发编程,MySQL,Tomca…

2026/7/20 0:15:40 阅读更多 →
ngx_output_chain_get_buf

ngx_output_chain_get_buf

1 定义 ngx_output_chain_get_buf 函数 定义在 src/core/ngx_output_chain.cstatic ngx_int_t ngx_output_chain_get_buf(ngx_output_chain_ctx_t *ctx, off_t bsize) {size_t size;ngx_buf_t *b, *in;ngx_uint_t recycled;in ctx->in->buf;size ctx->buf…

2026/7/20 0:13:39 阅读更多 →
python数据可视化技巧的100个练习 -- 31. 类别数据的点图

python数据可视化技巧的100个练习 -- 31. 类别数据的点图

重要性★★★☆☆ 难度★★☆☆☆ 你是一家零售公司的数据分析师。你的经理要求你可视化最近产品发布的客户满意度评级分布。评级是分类的,范围从“非常不满意”到“非常满意”。创建一个点图以显示每个评级类别的频率。使用 Python 进行数据处理和可视化。在代码中生成输入…

2026/7/20 0:12:39 阅读更多 →
智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

智能体走进物理世界,千里科技携舱驾协同成果亮相WAIC 2026

在2026世界人工智能大会(WAIC 2026)举办期间,千里科技董事长、阶跃星辰董事长印奇作为特邀嘉宾出席大会开幕式并在大会主论坛(上午场)发表主题演讲《当智能体进入物理世界》。在印奇看来,"智能体"…

2026/7/20 0:12:39 阅读更多 →
商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

商汤大装置发布“技术-生态-商业”闭环布局,共启“国产AI基础设施规模化商用元年”

7月18日,在WAIC 2026商汤科技 “基座大模型架构创新与生态合作论坛”上,商汤科技联合创始人、大装置事业群总裁杨帆发表《智变共生——加速AI基础设施持续升级》主题演讲,系统呈现了商汤大装置国产AI基础设施“技术-生态-商业”闭环布局&…

2026/7/20 0:12:39 阅读更多 →
2026年具身智能领域代表性机器人产品观察:普渡一脑多形底座与实景落地解析

2026年具身智能领域代表性机器人产品观察:普渡一脑多形底座与实景落地解析

前言2026年被行业视为具身智能从"实验室炫技"走向"规模化量产"的关键拐点。据弗若斯特沙利文《全球商用服务机器人市场研究报告》,普渡科技以23%市占率位居全球商用服务机器人第一,业务覆盖85+个国家和地区,累…

2026/7/20 0:11:39 阅读更多 →

日新闻

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

2026 WAIC:努比亚二代“豆包手机”NaviX Ultra亮相,智能体验全面升级!

7月18日智东西消息,在2026 WAIC期间,努比亚联合字节豆包打造的二代“豆包手机”努比亚NaviX Ultra首次亮相,相比一代有诸多升级。智能体手机理念中兴通讯终端事业部总裁、努比亚总裁倪飞表示,智能体手机要从人操作手机变为手机帮人…

2026/7/20 0:00:34 阅读更多 →
努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra亮相WAIC,智能体手机能否让用户生活更简单?

努比亚NaviX Ultra:外观与功能双升级在2026 WAIC期间,首次亮相的努比亚NaviX Ultra吸引了众多目光。它是努比亚联合字节豆包打造的二代“豆包手机”,与一代努比亚M153相比,外观设计变化较大。其机身背部搭载横向排布的大尺寸影像模…

2026/7/20 0:00:34 阅读更多 →
C# 将逗号分割的字符串转换为long,并添加到List<long>

C# 将逗号分割的字符串转换为long,并添加到List<long>

目录 方法1:使用Split和Convert.ToInt64 方法2:使用LINQ的Select和ToList 方法3:使用TryParse进行异常安全转换(推荐) 如果您喜欢此文章,请收藏、点赞、评论,谢谢,祝您快乐每一天…

2026/7/20 0:00:34 阅读更多 →

周新闻

Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/19 0:00:40 阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/20 4:31:26 阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/19 0:00:40 阅读更多 →

月新闻