Skip to content

Commit 7efafd4

Browse files
committed
Enhance integration documentation by clarifying the use of checkUpdate and useUpdate() for retrieving updateInfo. Added a callout to explain the benefits of decoupling update logic from check logic, improving overall component independence.
1 parent 01076aa commit 7efafd4

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

site/pages/docs/integration.mdx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,16 @@ function App() {
142142
}
143143
```
144144
145-
其中`checkUpdate`方法可以用来手动触发更新检查。检查后会返回[`updateInfo`](api#async-function-checkupdate)(注意在 v10.26.0 版本之前,`checkUpdate`方法本身没有返回值,只能从`useUpdate()`返回的`updateInfo`中获取,且我们仍然推荐优先使用`useUpdate()`来获取),有三种情况:
145+
其中`checkUpdate`方法可以用来手动触发更新检查。虽然这个方法会返回[`updateInfo`](api#async-function-checkupdate)(仅限 v10.26.0+ 版本),但我们仍然推荐优先使用`useUpdate()`来获取`updateInfo`
146+
147+
<Callout type="info">
148+
依赖`useUpdate()`而不是`checkUpdate`来获取`updateInfo`,这样做虽然一开始可能觉得不太直观,但可以将**检查逻辑**和**更新逻辑**完全解耦,使更新流程上的各个组件不需要互相依赖和影响。
149+
比如检查更新的按钮只管调用`checkUpdate`,而某个不相干的显示小红点的组件只管从 `useUpdate()` 中获取`updateInfo`,而主要的下载流程完成可以写一个单独的`useEffect`,这几者之间并不需要考虑先后顺序、组件层级或者传递数据。
150+
又比如你可能在多处都有检查更新的调用,比如 app 启动时、前后台切换时,又或者使用 deeplink 和扫码,这些不同的检查逻辑也不用重复去实现后续的更新逻辑。
151+
</Callout>
152+
153+
154+
`updateInfo` 有三种情况:
146155
147156
1. `{expired: true}`:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),开发者应该在 pushy 的管理后台添加一个更新下载链接,并自行提示用户下载。如需在应用内执行 apk 更新,还需配置[安装权限](/docs/api#async-function-downloadandinstallapkurl)。
148157

0 commit comments

Comments
 (0)