Skip to content

Commit

Permalink
update
Browse files Browse the repository at this point in the history
  • Loading branch information
sunnylqm committed Feb 8, 2024
1 parent f71f7c5 commit 7858f2b
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 61 deletions.
68 changes: 9 additions & 59 deletions site/pages/docs/api.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,14 @@ title: API参考
type: 开发指南
---

### JavaScript 常量

---

#### downloadRootDir

下载的根目录。你可以使用`react-native-fs`等第三方组件读取其中的内容。

---

#### packageVersion

当前应用原生包的版本。其中 android 取自`versionName`字段(位于`android/app/build.gradle`中)。ios 取自`CFBundleShortVersionString`字段(位于`ios/项目名/Info.plist`中)。

---

#### currentVersion

当前热更新版本(jsbundle 文件)的 Hash 号。

---

#### isFirstTime

是否更新后的首次启动。当此项为真时,你需要在合适的时候调用`markSuccess()`以确保更新成功。否则应用下一次启动时将会回滚。

---

#### isRolledBack

是否刚刚经历了一次回滚。

### JavaScript 方法

#### usePushy()

---

#### async function checkUpdate(appKey)
#### async function checkUpdate()

检查更新,返回值有三种情形:

Expand Down Expand Up @@ -71,30 +42,15 @@ type: 开发指南

---

#### async function downloadUpdate(info, callbacks)
#### async function downloadUpdate()

下载更新版本。`info``checkUpdate`函数的返回值,并且仅当`update:true`时实际进行下载。

`v5.8.3`版本开始新增接受第二个可选参数,为下载进度的回调函数(`onDownloadProgress`)。可根据回调参数自行设计进度的展示。示例:

```javascript
const hash = await downloadUpdate(
info,
// 下载回调为可选参数,自v5.8.3版本起可用
{
onDownloadProgress: ({ received, total }) => {
// 已下载的字节数, 总字节数
console.log(received, total);
},
}
);
```
下载热更包。仅当`update:true`时实际进行下载。会更新`progress`数据。

---

#### async function downloadAndInstallApk({ url, onDownloadProgress })
#### function downloadAndInstallApk(url)

下载更新的 apk 包并直接安装。`url`必须为可直接下载到 apk 文件的地址`onDownloadProgress`为可选的下载进度回调函数,可根据回调参数自行设计进度的展示。自`v5.9.0`版本起可用
下载更新的 apk 包并直接安装。`url`必须为可直接下载到 apk 文件的地址。

注意要使用这个功能还需要在`AndroidManifest.xml`中手动添加安装权限,如果需要考虑 Android 7.0 以下的客户,则还需要添加外部存储权限。

Expand Down Expand Up @@ -131,24 +87,18 @@ const hash = await downloadUpdate(

---

#### function switchVersion(hash)
#### function switchVersion()

立即重启应用,并加载已经下载完毕的版本。

---

#### function switchVersionLater(hash)
#### function switchVersionLater()

在下一次启动应用的时候加载已经下载完毕的版本。

---

#### function simpleUpdate(App: ComponentType, { appKey: string; onPushyEvents?: ({ type: EventType; data: EventData }) => void })

极简热更新集成,示例请见[集成文档](/docs/integration#极简快速集成),其中`onPushyEvents`参数请看下面的方法说明。

---

#### function onPushyEvents(({ type: EventType; data: EventData }) => void)

发生某个事件时的回调,可用于上报统计数据。自`v8.4.0`版本后可用。其中回调参数构型具体如下:
Expand Down
8 changes: 6 additions & 2 deletions site/pages/docs/integration.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,11 +63,14 @@ const pushyClient = new Pushy({
import {Icon, PaperProvider, Snackbar, Banner} from 'react-native-paper';
function App() {
const {
client,
checkUpdate,
downloadUpdate,
switchVersionLater,
switchVersion,
updateInfo,
packageVersion,
currentHash,
progress: {received, total} = {},
} = usePushy();
const [showUpdateBanner, setShowUpdateBanner] = useState(false);
Expand Down Expand Up @@ -100,6 +103,7 @@ function App() {
</Snackbar>
)}
<Banner
style={{width: '100%', position: 'absolute', top: 0}}
visible={showUpdateBanner}
actions={[
{
Expand All @@ -125,7 +129,7 @@ function App() {

```
其中`checkUpdate`方法可以用来手动触发更新检查。检查后返回的[`updateInfo`](api#async-function-checkupdateappkey)有三种情况:
其中`checkUpdate`方法可以用来手动触发更新检查。检查后会更新返回的[`updateInfo`](api#async-function-checkupdateappkey)有三种情况:
1. `{expired: true}`:该应用原生包已过期(三种情况:1. 主动设置为过期状态,2. 主动删除,3. 从未上传),开发者应该在 pushy 的管理后台添加一个更新下载链接,并自行提示用户下载。
Expand All @@ -137,7 +141,7 @@ function App() {
### 统计数据
待补充
以上提及的所有 api 的说明文档可在[这里](api)查看。
Expand Down

0 comments on commit 7858f2b

Please sign in to comment.