关于 __CAPGO_KEEP_0__ 的常见问题,如何解决 __CAPGO_KEEP_1__ 或 Updater 中的最常见问题,以及 OTA 的使用和管理

常见问题

如果您在这里找不到答案,请问一下!无论是提交问题还是在 Discord 上工作

什么是“code push”?

“什么是“code push”?”

Code push,也被称为“远程更新”(OTA),是一项云服务,允许Capacitor开发者在生产环境中部署应用程序更新。Capgo目前支持Android、iOS和Electron。

“Code 推送”是指 React Native 社区中使用的部署特性名称 Microsoft 和 Expo,但它们都没有支持Capacitor。

是否需要将Capgo CLI版本与我的插件或Capacitor版本匹配?

是否需要将Capgo CLI版本与我的插件或Capacitor版本匹配?

不需要。始终使用最新的Capgo CLInpx @capgo/cli@latest. CLI 和 Capgo 控制台遵循自己的版本管理,并且与任何受支持的更新插件的主版本保持兼容。 Capgo 插件遵循 Capacitor 主版本;请参见 Capgo 版本管理 关于什么是LTS标签的 @lts-v7.

我们使用“包”一词来指代可以应用到发布中更新它以使用新 Capgo 的补丁。

命令用于生成包,从您的新本地 code 开始,然后将其发送给您的用户。 npx @capgo/cli@latest bundle upload 命令用于生成一个从您的新本地code中打包的 bundle,随后将其发送给您的用户。

直接链接到是否有Delta更新文件路径限制?

是否有Delta更新文件路径限制?

Yes:

  • 零字节文件: CLI 日志 Ignoring empty file... 并排除空文件从delta文件中。它不会停止上传,所以一个空文件可以改变结果包而不停止部署。不要在Delta包路径中包含零字节文件。
  • 包含空格的路径: 当一个包路径包含空格时,Delta上传会早期失败并显示明确的错误。重命名文件或目录以移除空格,然后上传Delta更新。

查看 Delta更新 查看

我们的项目板也公开,位于: https://github.com/orgs/Cap-go/projects

我们的团队也在公开中运作,因此您可以随时看到我们正在工作的内容。我们很乐意通过Github问题或 Discord.

是否可以与团队一起使用Capgo

直接链接到我可以使用Capgo与我的团队吗?

标题:我可以使用__CAPGO_KEEP_0__与我的团队吗?

See 查看 团队

Does Capgo store my source code?

Does Capgo 存储我的源 code?

不。Capgo 服务器永远不会看到你的源 code。当你运行 npx @capgo/cli@latest bundle upload, Capgo 存储一个 zip 文件的最小化/编译的 code - 与浏览器接收的相同的 code,而不是你的源 code。

为了额外的安全性,你有两个选项:

  • 端到端加密: 在上传之前对你的包进行加密,保护它在存储和传输中,并防止第三方使用你的私钥生成有效的加密更新。这不会使已发布的 Web 资产无法逆向工程,因为公共密钥在分发的应用中。
  • 外部 URL 上传: 将包存储在你的服务器上,并只提供 Capgo 下载链接,并且有选项 --external <url>

请参见我们的隐私政策: https://capgo.app/privacy

是否包文件是私密数据?

标题: Are bundle files private data?

不。Bundle 文件是公共的 Web 资产,旨在由您的应用程序用户下载。任何知道 Bundle URL 的人都可以获取这些文件,Capgo 在设置和文档中告知用户这一点。

访问 Bundle 文件不被认为是数据泄露。不要将机密信息、凭据、个人数据或受管制数据放入应用程序包中。如果您需要为高安全性用例提供更强的保密性,请使用端到端加密,但仍然从安全报告的角度将发送的应用程序code和资产视为公共。

我可以在 CI 系统中使用 Capgo 吗?

标题: 我可以在 CI 系统中使用 Capgo 吗?

是。Capgo 是旨在从 CI 系统中使用的。我们已经发布了一个关于 Android 和 Github Actions 和 iOS,以及 GitLab. 其他 CI 系统应该类似。

如果您遇到任何问题,请不要犹豫,通过 GitHub 或 Discord 联系我们。

如何与 Firebase Remote Config 或 Launch Darkly 相关联?

如何与 Firebase Remote Config 或 Launch Darkly 相关联?

Code 推送允许在设备上添加新 code 或替换 code。 Firebase Remote Config 和 Launch Darkly 都是配置系统。它们允许您更改应用程序的配置,而无需发布新版本。它们旨在取代 code。

这个功能会增加多少依赖项的脚步?

这个功能会增加多少依赖项的脚步?

我们没有最近测量,但我预计 code 推送库将在 Capacitor 应用程序中添加小于 1MB 的依赖项。我们知道如何使其更小,当这成为优先事项时,我们会这样做。如果大小是一个阻塞,请告诉我们!

Capgo 在 iOS 18.4 Simulator 上是否可用?

Does Capgo work on the iOS 18.4 Simulator?

由于 iOS 18.4 Simulator 的上游问题,Capgo 在此环境下无法正常运行。请在真机上或使用其他 iOS 模拟器版本进行测试。

查看 React Native 的详细信息: facebook/react-native#50510

code 是否支持大型应用?

Does code push work with large applications?

是的。code push 无论应用大小都可以更新。如上所述 below,Capgo 可以更改您的应用程序中的任何大小的 code。

下面

我可以用 Capgo code 推送什么?

标题:我可以用 Capgo code 推送什么?

我们看到各种用途,包括:

  • 紧急修复生产应用程序。
  • 将bug修复发送给使用较旧版本应用程序的用户。
  • 不断发送(例如每小时)。

注意,大多数应用商店不允许发送 code,该 code 会显著改变应用程序的行为。请参见 以下 更多信息。

A MAU 是一个月度活跃设备。一个设备在一个滚动的 30 天周期内与 Capgo 联系,算作一个 MAU。同一台物理设备用于两个不同的原生 app ID,算作每个 app ID 一次;它们之间不会被合并。

如果您的版本仅在 web 层或更新路由上有所不同,请使用一个原生 app ID 和 channels。这样可以将版本放在一个 Capgo app 下,发布更简单。使用不同的原生 app ID 时,版本需要不同的 bundle ID、签名身份、权限集或商店列表。

在 iOS 上, v7.25.0+ 会保留随机的、app-scoped 设备 ID,通过 Keychain 进行正常的重装。在 Android 上,请使用 v7.50.1+ (或 v5.50.1+ 和 v6.50.1+ 在这些发布线上,ID只在Android Backup/Restore保留应用偏好时才会恢复。禁用备份、排除这些偏好或清除应用数据会生成一个新的设备ID。更新应用程序不会创建一个新的设备ID。

对于测试和开发构建,关闭生产频道上的开发构建和模拟器分发。控制分发,而不是MAU:设备仍然可以在联系Capgo时计算。为了将其排除在生产使用之外,禁用实时更新并不要调用生产Capgo端点。请参见 测试原生构建无实时更新 测试原生构建无实时更新

什么不能用Capgo code推送?

标题:什么不能用Capgo code推送?

Capgo无法改变原生code,例如Java、Kotlin、Objective-C、Swift、原生插件或原生配置。这些更改需要发布一个新的原生应用程序。对于商店审查范围,请参见 应用商店和Google Play政策.

是否可以通过Capgo更新capacitor.config.ts更改?

Section titled “是否可以通过 capacitor.config.ts 更新 Capgo?””

No. Short rule: Capgo 可以发送生成的 web build 文件夹,包括 HTML、CSS、JavaScript、资产和纯 JavaScript 包裹的更改。 capacitor.config.ts,原生插件配置、原生包安装或升级以及必须更新 iOS 或 Android 项目的任何内容。 npx cap sync 或 npx cap copy Page/area: Capacitor live-update alternatives comparison page. Role: Long marketing or legal paragraph. Seen in: page alternatives.astro. Preserve Capgo product/brand and developer terms exactly. Message key `alternatives_cta_questions` (Alternatives CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `appflow_cta_questions`). Page/area: Appflow comparison / migration marketing copy. Role: Long marketing or legal paragraph. Seen in: page alternatives/ionic-appflow.astro. Preserve Capgo product/brand and developer terms exactly. Message key `appflow_cta_questions` (Appflow CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `capwesome_cta_questions`). Page/area: Capawesome comparison page. Role: Long marketing or legal paragraph. Seen in: page alternatives/capawesome.astro. Preserve Capgo product/brand and developer terms exactly. Message key `capwesome_cta_questions` (Capwesome CTA Questions). | HTML text fragment from a longer Capgo UI string (parent key `consulting_faq_subtitle`). Page/area: Consulting services page. Role: Section subtitle or tagline. Seen in: page consulting.astro. Preserve Capgo product/brand and developer terms exactly. Message key `consulting_faq_subtitle` (Consulting FAQ Subtitle). | Page/area: Appflow comparison / migration marketing copy. Role: Short UI label or navigation item. Seen in: page alternatives/ionic-appflow.astro, page ionic-enterprise-plugins.astro, page solutions/ionic-enterprise-plugins.astro. Message key `appflow_plugins_or` (Appflow Plugins Or).

The Capacitor configuration file is read at native build time and compiled into the native app binary. If you need to change your Capacitor configuration, you must:

  1. Update capacitor.config.ts 更新
  2. 本地npx cap sync 重新构建您的原生应用(
  3. 后跟原生构建)

Does Capgo submit to the stores for me?

标题: Does Capgo 为我提交到商店吗?

Capgo Build 可以编译和签署一个准备好的原生 iOS 或 Android 项目,并且当配置时,提交已签名的结果到 App Store Connect 或 Google Play。您可以保留您的私有依赖项、Web 构建、Capacitor 同步和自定义原生准备;Capgo 接收原生项目以进行原生构建步骤。

查看 Capgo 构建 和 和 构建配置参考

Capgo 在磁盘上存储什么并且在哪里

直接链接到 Capgo 存储在磁盘上的什么和在哪里?

The Capgo updater (included in your application when you build your app) caches the latest downloaded bundle in the only directory that capacitor allow to load code. On Android, this is located in /data/user/0/com.example.app/code_cache/capgo_updater 尽管该路径的基础由 Android 系统提供,并且可以在运行时动态更改。 在 iOS 设备上,数据存储在 Library/Application Support/capgo.

Capgo 命令行工具(例如 npx @capgo/cli@latest bundle upload)在磁盘上安装在 npm 缓存中,您的登录信息存储在您的主目录中 ~/.capgo.

如何与 Capacitor 热重载相关?

标题:如何与 Capacitor 热重载相关?

Capacitor 的热重载是一个开发时特性。 Code 推送是用于生产的。

热重载是 Capacitor 的一个特性,允许您在开发期间在设备上更改 code。它需要在您的本地机器上连接代理来构建 Capacitor 应用程序。

Code 推送是一个允许您在生产中更改 code 的特性。我们将使用各种不同的技术来实现这一点,具体取决于平台。

Capgo code 推送支持哪些类型的更改?

标题:Capgo code 推送支持哪些类型的更改?

Capgo可以改变任何JScode。这包括应用code和生成的code。 package.json 只要它们不需要原生code更改。

我们没有计划支持原生code(例如Android上的Java/Kotlin或iOS上的Objective-C/Swift),并且工具将警告您如果它检测到您已更改原生code,因为它将不会包含在捆绑包中。

支持Web吗?

支持Web吗?

Code推送对于Web不需要,因为Web应用已经以这种方式工作。当用户打开Web应用时,它会从服务器下载最新版本,如果需要。

如果您有使用code推送的Web场景,我们很想知道!

iOS、Android、Mac、Windows、Linux等是否支持?

iOS、Android、Mac、Windows、Linux等是否支持?

是的。

我们目前主要关注Android、iOS和Electron的支持,并且code在所有三个平台上都已经生产就绪。

Capgo支持哪些操作系统版本?

关于Capgo支持哪些操作系统版本的部分

Capgo支持的Android版本与Capacitor支持的版本相同。

Capacitor目前支持AndroidAPI级别22+和iOS 13.0+: https://capacitorjs.com/docs/main/reference/%E6%8F%90%E5%8D%87%E6%8E%A7%E5%88%B6

Capgo支持哪些Capacitor版本?

关于Capgo支持哪些Capacitor版本的部分

Capgo目前仅支持Capacitor的最新稳定版本。我们也可以支持Capacitor的较旧版本,但我们还没有建立必要的基础设施来维护这些版本。我们打算在未来支持更多的Capacitor版本,包括我们的企业客户的任何版本。 https://github.com/Cap-go/capgo/issues/1100

Capgo 跟踪 Capacitor 稳定版本并在稳定发布后几小时内进行更新。我们的更新系统是自动化的,更新时间约几分钟。我们还进行了额外的手动验证步骤,最后发布到我们的服务器上。

Capgo 只更新 Capacitor 网页层:HTML、CSS、JavaScript 和资产,已经在应用程序的 WebView 中运行。它不会改变原生二进制文件、原生插件、权限、特权、签名或商店元数据。

对于原生更改和可能影响应用程序已审查目的或功能的材料更改,请使用原生商店发布。保持 live updates 在您提交并向用户透露的应用程序体验中。

Capgo 是否保证 App Store 或 Google Play 的批准?

标题:Capgo 是否保证 App Store 或 Google Play 的批准?

不。苹果和谷歌将根据每个应用程序和发布的具体情况进行审查,Capgo 不能保证个别批准或审查结果。您的团队仍然负责应用程序的内容、披露、更新范围和遵守当前商店政策。

为了审查和发布计划,请直接阅读官方政策: Apple App Store Review 指南 和 Google Play 设备和网络滥用政策.

我可以在我国使用 Capgo 吗?

我可以在我国使用 Capgo 吗?

我们没有尝试限制任何国家对 Capgo 的访问。

我们认识到一些国家对从该国访问的 URL 有限制。 Capgo 目前使用 Cloudflare 云进行托管,包括 R2 存储和 Cloudflare 工作者。

Capgo 使用的以下 URL:

  • https://api.capgo.app — 由命令行工具用于与 __CAPGO_KEEP_0__ 服务器进行交互,以及用户设备上的 __CAPGO_KEEP_1__ 更新器来检查更新。 npx @capgo/cli Capgo 服务器和用户设备上的 Capgo 更新器的命令行工具用于交互。
  • https://*.r2.cloudflarestorage.com — 由命令行工具使用 npx @capgo/cli 命令行工具用于上传和下载包

如果您国家的所有这些URL都可访问,那么Capgo应该正常工作。

如果您的地区需要阻止访问任何这些URL,请告知我们,我们可以与您合作找到解决方案。代理服务器是其中一种选择。

我可以自行托管Capgo吗?

自行托管Capgo

是的。企业版支持在您自己的基础设施中运行更新器后端的许可自主托管Capgo部署。请参阅 自主托管更新器 了解部署模型和端点。

code推送是否需要互联网才能工作?

标题:code 是否需要互联网才能工作?

__CAPGO_KEEP_0__ 需要互联网才能工作。您可以想象一下,运行一个服务器来分发更新,独立于互联网,但某种形式的网络连接是必要的,以便将更新传输到设备。

Capgo 如何受到网络连接不稳定的影响?

标题:Capgo 如何受到网络连接不稳定的影响?

Capgo 更新器(在您使用 Capgo 构建应用程序时包含在您的应用程序中)是设计为对网络连接问题有抵抗力的。

Capgo 的默认更新行为是,当应用程序启动时,它会警告 Capgo 更新器,后者会在一个单独的线程中发起一个网络请求到 Capgo 服务器,要求更新。我们故意使用一个单独的线程,以避免阻塞应用程序可能正在执行的其他任务。如果网络请求失败或超时,更新器会简单地尝试再次检查下一次应用程序启动时。

Capgo 命令行工具(例如 npx @capgo/cli@latest bundle upload)需要网络连接才能正常工作。如果您正在使用 Capgo 分发应用程序,请确保您的 CI 系统具有网络连接。

如果用户长时间未更新并错过了更新会发生什么?

Section titled “如果用户长时间不更新并错过更新?”

我们的实现始终向请求更新的设备发送一个特定于设备的更新,确保请求者始终处于最新版本。因此,如果用户长时间不更新,他们将会错过中间更新。

更新服务器可以更改以支持响应下一个增量版本或最新版本,根据您的应用程序的需求。请告诉我们,如果替代更新行为对您很重要。

Capgo 是 Capacitor 的一个插件,添加了 code 推送。Capgo 不是 Capacitor 的替代品。您可以继续使用您已经熟悉并喜欢的 Capacitor 工具。

我们跟踪 Capacitor 的最新稳定版本,并更新我们的 code 推送插件,使其与其兼容。

默认情况下,Capgo 更新器在应用程序启动时检查更新。它在后台线程运行,不会阻塞 UI 线程。任何更新都会在用户使用应用程序时安装,并在下一次应用程序重启时应用。

它也可以通过 Capgo 手动运行更新器 @capgo/capacitor-updater 通过包来实现,通过它可以在任何时候触发更新,包括通过推送通知

Capgo 更新器的设计使得当网络不可用,或者服务器下线或无法访问时,应用程序将继续正常运行。即使您选择从我们的服务器删除更新,所有客户端也将继续正常运行

我们添加了回滚补丁的功能。最简单的方法是简单地将之前的包附加到您的频道中来撤销

我需要保留我的app_id吗?

标题:我需要保留我的app_id吗?

不。 app_id 包含在您的应用程序中的

可以从 __CAPGO_KEEP_0__ 服务器上获取最新版本的应用程序,但他们无法推送更新到您的应用程序或访问您的 __CAPGO_KEEP_1__ 帐户的任何其他方面 app_id can fetch the latest version of your app from Capgo servers, but they cannot push updates to your app or access any other aspect of your Capgo account.

什么信息会发送到Capgo服务器?

什么信息会发送到Capgo服务器?

__CAPGO_KEEP_0__服务器接收的完整数据清单、接口行为和隐私控制都在 合规.

设置 statsUrl: '' 以禁用显式更新统计报告。您还可以将 statsUrl 发送到代理或您控制的端点;请参阅 在自托管基础设施中处理统计。更新检查仍然需要一个应用范围的设备标识符,以便Capgo可以选择正确的更新并衡量每月活跃设备。

的 子处理器列表 是我们最新的公共真实来源,提供了供应商、处理位置、传输机制和变更历史。

我可以使用 Capgo 为 HIPAA-sensitive 应用程序吗?

标题:我可以使用 Capgo 为 HIPAA-sensitive 应用程序吗?

是的,但您的合规负责人需要选择正确的部署模型。 Capgo 云目前尚未呈现为 HIPAA 合规的托管统计处理器。 默认情况下,更新器数据是设备范围的,并且不与已知应用程序用户相关联,许多团队使用该模型成功。

对于更严格的审查,您可以地理定位插件流量,设置为空字符串禁用统计,仅自主托管统计端点或使用许可的自主托管。 不要使用电子邮件、用户 ID、患者 ID、员工 ID或任何将更新器遥测映射回个人值的值。 statsUrl 参见 CapacitorUpdater.setCustomId(...) HIPAA 合规

See 我可以在欧洲保留 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 数据吗? 直接链接到我可以在欧洲保留 __CAPGO_KEEP_0__ __CAPGO_KEEP_1__ 数据吗?

能否在欧洲保留Capgo live update数据?

欧洲是否可以保留Capgo live update数据?

Yes. Apps that need EU data residency for Capgo Cloud plugin traffic can set the updater endpoints to the EU host:

  • updateUrl: https://plugin.eu.capgo.app/updates
  • statsUrl: https://plugin.eu.capgo.app/stats
  • channelUrl: https://plugin.eu.capgo.app/channel_self

使用所有三个欧盟URL一起使用,以便更新检查、统计和通道自我分配使用相同的区域数据路径。因为这些值存储在 capacitor.config.ts生产移动应用程序需要原生发布才能使现有安装使用新端点。

查看 数据位置 以获取精确的Capacitor和Electron示例。

Capgo支持哪些平台?

Capgo支持哪些平台?

目前,Capgo支持Android、iOS和Electron。所有平台均已生产就绪。

Capgo用于iOS、Android或Electron的使用可以独立决定。您可以根据需要为Android和App Store构建的ipa以及Electron通道设置您的通道策略。

Capgo 可以(相对容易地)支持桌面或嵌入式目标。如果这些对您很重要,请告知我们。

Capgo 与 Google Play 测试轨道或 Apple TestFlight 有何交互?

标题:Capgo 与 Google Play 测试轨道或 Apple TestFlight 有何交互?

每个应用商店都有独立的机制来将应用分发给有限的用户群(例如“内部测试”、“封闭测试”等)。这些机制都是将用户分段并将特定版本的应用分发给每个群组的方法。

遗憾的是,这些机制并不是所有允许第三方检测应用是否安装在特定的测试轨道或通过 TestFlight 的。因此,我们无法可靠地获取这些群组的组成信息,也无法可靠地根据这些群组来控制对 Capgo 补丁的访问。 https://zh-cn.stackoverflow.com/questions/53291007/如何让安卓应用识别Google Play测试跟踪 https://stackoverflow.com/questions/26081543/how-to-tell-at-runtime-whether-an-ios-app-is-running-through-a-testflight-beta-i

如果您想根据用户群来控制 Capgo 的可用性,有 4 个潜在的选项:

  1. 使用独立的频道为每个组。这种方法最直接,但需要您管理多个频道。您可能已经有dev频道和prod频道,具有不同的可用性。您可以更新dev频道,验证它,然后单独更新prod频道。我们建议在版本控制中使用branch / tag来帮助跟踪与每个发布相关的源代码。
  2. 通过 @capgo/capacitor-updater package
  3. Capgo allow creare its own opt-in mechanism on a per-device basis (similar to Test Tracks or TestFlight, just platform agnostic). This allow your QA team to opt-in to bundle before they’re promoted to the general public.
  4. Use 使用 渐进式发布 --rollout-percentage-bps 向随机、粘性的一部分频道分发候选包。设置从0-100%的发布范围,或使用

您可以在您的控制台中随时升级或降级您的计划: https://console.capgo.app/设置/组织/计划

我的账单周期何时重置?

关于何时重置我的账单周期的部分

Billing periods are reset automatically every month on the month you first subscribed to Capgo. For example, if you subscribed on the 15th of the month, your billing period will reset on the 15th of every month.

您可以在您的控制台中随时取消您的订阅: https://console.capgo.app/设置/组织/计划

是否可以预付一年费用?

预付一年费用

是。您可以在组织计划设置中选择年度计费 组织计划设置.

什么会计入存储,是否可以改变保留期限?

什么会计入存储,是否可以改变保留期限?

存储包括保留的历史包及其Delta资产,以及您的通道。您可以在应用设置中控制未使用的包保留期限。与活动通道或发布相关的包将继续被保护,以便它们可用于交付和回滚。

是否会将区域复制的存储或带宽乘以?

区域复制是否会增加存储或带宽?

不。无论哪个区域提供服务,存储都只计算一次。带宽也不会因为区域而被乘以:请参见 如何计算带宽?.

Capgo:

  • 带宽仅计算设备实际从__CAPGO_KEEP_0__下载的文件: 差异更新: --delta当您上传时,设备只下载自已有版本以来变化的文件。只下载变化的文件。未变化的文件,如大图像或字体,不会再次下载,且不花费任何费用。请参见 差异更新.
  • 边缘缓存: 如果请求的文件或完整的zip文件已经在边缘缓存中缓存,那么下载不会计入您的带宽。这适用于Delta文件和完整的zip文件。
  • 下载恢复: 如果下载被中断,设备会从中断点继续下载。已经下载的部分不会再次下载或计算。
  • 完整zip: 没有或设备在插件版本中没有Delta支持的上传完整的zip文件。它只会在它不从边缘缓存中服务时才会计算。 --delta为了保持带宽低,上传时使用

并将较少更改的大型资产放在稳定的文件路径中。 --delta 企业版SLA包含什么内容?

直接链接到企业版SLA包含什么内容?

What does the Enterprise SLA include?

section 企业服务水平协议 查看完整条款。

统计和分析

统计和分析

您的仪表板中的统计数据每晚 UTC 时间更新。 统计数据是从以下计算的: 月活跃用户 在过去的 30 天滚动时间段内

如何生成设备 ID

如何生成设备 ID

设备 ID 在首次运行设备时生成,用于去重设备安装和根据用户安装的设备(例如每月活跃用户)进行计费,而不是总数或总数的补丁安装。

MAU 是一种比安装数量更好的解决方案来定价 Capgo, 因为它更准确地反映了每台设备的实际成本 Capgo。

设备 ID 持久性:

  • iOS: 从 v7.25.0 开始,设备 ID 存储在 Keychain 中并在正常重装时保持不变。
  • Android: 使用 v7.50.1+ (或 v5.50.1+/v6.50.1+ 在这些发布线上)。设备 ID 只有在 Android 备份/还原保留应用首选项时才会恢复。
  • Electron: 设备 ID 存储在安全存储中。
  • Android 陷阱: 禁用备份、排除相关首选项或清除应用数据会生成一个新的设备 ID。Android v7.25.0 至 v7.50.0 可以在备份启用时重新安装后生成一个新的设备 ID。

设备 ID 是应用范围内的,支持实时更新分发和 MAU 去重;它不是广告或跨应用跟踪标识符。

设备 ID 列表将在应用通过更新器或统计端点与 Capgo 检查后列出。设备不需要安装补丁才能在设备列表中出现。

为什么我的设备数量与MAU不一致?

标题:为什么我的设备数量与MAU不一致?

设备列表和MAU基于不同的信号。

设备列表显示每个设备的最新已知元数据,例如设备ID、平台、插件版本、OS版本、原生版本、渠道、安装的包和可用请求国家。请求国家是最新有效的两位code从Cloudflare处理的请求中接收到的,而不是GPS或应用提供的位置。没有有效国家的请求不会清除最后有效的值。Capgo更新元数据时应用检查,但重复检查相同元数据的应用可能不会改变行或其最后更新时间。

MAU计算账单窗口内的不同活跃设备数量。该活动可以在设备元数据保持不变时增加,因此设备数量和MAU可能不同。

如何为不同平台设置不同的更新?

标题:如何为不同平台设置不同的更新?

您可以为每个平台创建一个渠道,并在每个渠道中禁用平台特定的更新。

在iOS渠道中禁用Android更新,在Android渠道中禁用iOS更新。

然后上传每个渠道的包,以便为每个平台设置不同的更新。

如果您需要同时更新两个平台,请将一个包链接到多个频道。无需重复创建包。

继续阅读FAQ

继续阅读FAQ

如果您正在使用 FAQ 为了计划live update的交付,连接它 Capgo Capgo __CAPGO_KEEP_0__ 概述 功能 功能 更新行为 关于更新行为的实现细节 更新类型 关于更新类型的实现细节