Skip to content

Commit

Permalink
update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnylqm committed Feb 24, 2024
1 parent 7858f2b commit 7b1892d
Show file tree
Hide file tree
Showing 4 changed files with 653 additions and 418 deletions.
36 changes: 18 additions & 18 deletions site/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,21 +9,21 @@
"lint": "next lint"
},
"dependencies": {
"@ant-design/icons": "^5.2.6",
"@mdx-js/loader": "^3.0.0",
"@mdx-js/react": "^3.0.0",
"@next/mdx": "^14.0.3",
"@types/node": "20.10.0",
"@types/react": "18.2.38",
"@types/react-dom": "18.2.17",
"antd": "^5.11.4",
"autoprefixer": "10.4.16",
"eslint": "8.54.0",
"eslint-config-next": "14.0.3",
"next": "^14.0.3",
"nextra": "^2.13.2",
"nextra-theme-docs": "^2.13.2",
"postcss": "^8.4.31",
"@ant-design/icons": "^5.3.0",
"@mdx-js/loader": "^3.0.1",
"@mdx-js/react": "^3.0.1",
"@next/mdx": "^14.1.0",
"@types/node": "20.11.20",
"@types/react": "18.2.58",
"@types/react-dom": "18.2.19",
"antd": "^5.14.2",
"autoprefixer": "10.4.17",
"eslint": "8.57.0",
"eslint-config-next": "14.1.0",
"next": "^14.1.0",
"nextra": "^2.13.3",
"nextra-theme-docs": "^2.13.3",
"postcss": "^8.4.35",
"rc-queue-anim": "^2.0.0",
"rc-scroll-anim": "^2.7.6",
"rc-tween-one": "^3.0.6",
Expand All @@ -32,8 +32,8 @@
"react-github-button": "^0.1.11",
"react-media": "^1.10.0",
"react-responsive": "^9.0.2",
"sass": "^1.69.5",
"tailwindcss": "^3.3.5",
"typescript": "^5.3.2"
"sass": "^1.71.1",
"tailwindcss": "^3.4.1",
"typescript": "^5.3.3"
}
}
23 changes: 14 additions & 9 deletions site/pages/docs/changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,49 +4,54 @@ title: 更新日志
type: 其他
---

### 10.1.0(2024-02-24)

- 全新设计的 api 接口,全面 hook 化,更易集成和自定义
- 全面同时支持新老架构和 hermes

### 9.0.0(2023-09-02)

- 初步支持新架构
- 添加事件回调以方便统计

### 8.0.1(2022-07-05)

- 没有update.json文件的情况下不会再报错
- 没有 update.json 文件的情况下不会再报错

### 7.4.1(2022-05-04)

- 修复极少数热更失败的情况

### 7.3.4(2021-11-04)

- 新增快速集成方法。
- 默认使用AndroidX支持库(使用`npx jetify -r`命令转换可以支持老的support库
- 默认使用 AndroidX 支持库(使用`npx jetify -r`命令转换可以支持老的 support 库

### 6.4.0(2021-10-06)

- 新增查看本地版本信息的方法(`getCurrentVersionInfo()`

### 6.3.0(2021-10-04)

- 库文件体积优化

### 6.2.0(2021-08-13)

- 修复android 7及以下版本可能解压失败的问题
- 修复 android 7 及以下版本可能解压失败的问题

### 6.1.0(2021-07-29)

- 修复频繁调用下载更新导致的图片丢失问题

### 6.0.2(2021-05-18)

- 修复android 7及以下版本安装apk报错的问题
- 修复 android 7 及以下版本安装 apk 报错的问题

### 6.0.0(2021-05-04)

- 换用 hdiff 算法,更新所需流量更少,速度更快
- 修复一些少见的崩溃问题

### 5.10.0(2020-12-18)

- 提升 iOS 更新的稳定性
Expand Down
44 changes: 29 additions & 15 deletions site/pages/docs/integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ title: 代码集成
type: 快速入门
---

import { Callout, Steps, Tabs } from "nextra/components";

<Callout type="info">
请注意,当前版本的api经过了完全重构,与之前的版本(v10.0以下)不兼容。如果你需要查看之前版本的文档,请点击[这里](https://v9--pushy-site.netlify.app/)
</Callout>
Expand Down Expand Up @@ -48,7 +50,7 @@ export default function Root() {

### 自定义更新界面

默认配置下,pushy会以系统alert的形式来弹出更新提示,如需自定义更新界面,首先请关闭默认的 alert 弹窗:
默认配置下,pushy 会以系统 alert 的形式来弹出更新提示,如需自定义更新界面,首先请关闭默认的 alert 弹窗:

```diff
const pushyClient = new Pushy({
Expand All @@ -57,10 +59,10 @@ const pushyClient = new Pushy({
});
```

所有更新相关的数据可以通过一个单一的[`usePushy()`](/docs/api#usepushy)hook函数来获取,然后可以根据其提供的数据来自行渲染自定义的界面,如下面的例子:
所有更新相关的数据可以通过一个单一的[`usePushy()`](/docs/api#usepushy)hook 函数来获取,然后可以根据其提供的数据来自行渲染自定义的界面,如下面的例子:

```js
import {Icon, PaperProvider, Snackbar, Banner} from 'react-native-paper';
import { Icon, PaperProvider, Snackbar, Banner } from "react-native-paper";
function App() {
const {
client,
Expand All @@ -71,7 +73,7 @@ function App() {
updateInfo,
packageVersion,
currentHash,
progress: {received, total} = {},
progress: { received, total } = {},
} = usePushy();
const [showUpdateBanner, setShowUpdateBanner] = useState(false);
const [showUpdateSnackbar, setShowUpdateSnackbar] = useState(false);
Expand All @@ -92,41 +94,42 @@ function App() {
setShowUpdateSnackbar(false);
}}
action={{
label: '更新',
label: "更新",
onPress: async () => {
setShowUpdateSnackbar(false);
await downloadUpdate();
setShowUpdateBanner(true);
},
}}>
}}
>
<Text>有新版本({updateInfo.name})可用,是否更新?</Text>
</Snackbar>
)}
<Banner
style={{width: '100%', position: 'absolute', top: 0}}
style={{ width: "100%", position: "absolute", top: 0 }}
visible={showUpdateBanner}
actions={[
{
label: '立即重启',
label: "立即重启",
onPress: switchVersion,
},
{
label: '下次再说',
label: "下次再说",
onPress: () => {
switchVersionLater();
setShowUpdateBanner(false);
},
},
]}
icon={({size}) => (
icon={({ size }) => (
<Icon name="checkcircleo" size={size} color="#00f" />
)}>
)}
>
更新已完成,是否立即重启?
</Banner>
</View>
);
}

```
其中`checkUpdate`方法可以用来手动触发更新检查。检查后会更新返回的[`updateInfo`](api#async-function-checkupdateappkey),有三种情况:
Expand All @@ -137,13 +140,24 @@ function App() {
3. `{update: true}`:当前有新版本可以更新。info 的`name``description`字段可以用于提示用户,而`metaInfo`字段则可以根据你的需求自定义其它属性(如是否静默更新、是否强制更新等等),具体用法可参考[场景实践](bestpractice#%E5%85%83%E4%BF%A1%E6%81%AFmeta-info%E7%9A%84%E4%BD%BF%E7%94%A8)。另外还有几个字段,包含了补丁包的下载地址等。 pushy 会首先尝试耗费流量更少的更新方式。
当返回的`updateInfo``update`字段为true时,即可调用`downloadUpdate`方法来下载更新,此时可以获取到下载的进度数据`progress`。下载完成后可以调用`switchVersion`来立即重启更新,也可以使用`switchVersionLater`来标记下次启动时更新。
当返回的`updateInfo``update`字段为 true 时,即可调用`downloadUpdate`方法来下载更新,此时可以获取到下载的进度数据`progress`。下载完成后可以调用`switchVersion`来立即重启更新,也可以使用`switchVersionLater`来标记下次启动时更新。
### 统计数据
待补充
初始化 Pushy 客户端时可以传入自定义的 logger 函数,其中可以自己记录日志或上报统计数据,比如下面的例子使用 Google Analytics 来上报事件:
以上提及的所有 api 的说明文档可在[这里](api)查看。
```ts
import { getAnalytics, logEvent } from "firebase/analytics";
const analytics = getAnalytics();

const pushyClient = new Pushy({
appKey,
logger: ({ type, data }) => {
logEvent(analytics, "pushy_" + type, data);
},
});
```
以上提及的所有 api 的说明文档可在[这里](api)查看。
现在,你的应用已经可以通过 pushy 服务检查版本并进行更新了。下一步,你可以开始尝试发布应用包和版本,请参阅[发布热更新](publish)。
Loading

0 comments on commit 7b1892d

Please sign in to comment.