From 1feb0cd0d8a61333aa34de841ccaed1ab7d91381 Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Mon, 29 Jul 2024 01:32:17 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B5=8B=E8=AF=95=E6=96=B9?= =?UTF-8?q?=E6=B3=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- site/pages/docs/api.mdx | 27 ++++++++++++++++++++++++++ site/pages/docs/assets/testqrcode.png | Bin 0 -> 62011 bytes site/pages/docs/bestpractice.md | 21 ++++++++++++++++++-- 3 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 site/pages/docs/assets/testqrcode.png diff --git a/site/pages/docs/api.mdx b/site/pages/docs/api.mdx index 68cadae..9b759d5 100644 --- a/site/pages/docs/api.mdx +++ b/site/pages/docs/api.mdx @@ -134,6 +134,7 @@ const { downloadUpdate, downloadAndInstallApk, getCurrentVersionInfo, + parseTestQrCode, currentHash, packageVersion, client, @@ -167,6 +168,8 @@ interface PushyContext { description?: string; metaInfo?: string; }>; + // 解析测试二维码,此方法需v10.11.2+版本 + parseTestQrCode: (qrCode: string) => void; // 当前的版本hash currentHash: string; // 当前的原生版本号 @@ -307,6 +310,30 @@ interface PushyContext { --- +#### function parseTestQrCode(qrCode: string) + +解析测试二维码,一般用于给 QA 人员测试热更新。如果在应用中已有扫码功能,则可以在应用中扫描 pushy 后台的测试二维码来测试任意版本的热更包。 + +![testqrcode](./assets/testqrcode.png) + +代码示例: + +```js + { + // 先解析是否是pushy的测试二维码 + if (parseTestQrCode(codeStringValue)) { + // 如果是pushy的测试二维码,则不再继续扫描 + setShowCamera(false); + return; + } + // 如果不是,继续处理其他业务扫码逻辑 + }} +/> +``` + +--- + ### Android 方法 #### UpdateContext.setCustomInstanceManager(ReactInstanceManager instanceManager) diff --git a/site/pages/docs/assets/testqrcode.png b/site/pages/docs/assets/testqrcode.png new file mode 100644 index 0000000000000000000000000000000000000000..31868201bc757b644a51c6996a75d66bd1e89611 GIT binary patch literal 62011 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 QQUi_y`#txu_Xb`0FPY0+QUCw| literal 0 HcmV?d00001 diff --git a/site/pages/docs/bestpractice.md b/site/pages/docs/bestpractice.md index 480c2ed..f06d8aa 100644 --- a/site/pages/docs/bestpractice.md +++ b/site/pages/docs/bestpractice.md @@ -62,13 +62,30 @@ splits { #### 测试、发布与回滚 -我们强烈建议您先发布一个**测试包**,再发布一个除了版本号以外均完全相同的**正式包**。 +自 v10.11.2 版本开始,可以使用以下两种快捷扫码方案来测试热更,而无需提前进行绑定: + +![testqrcode](./assets/testqrcode.png) + +- 若应用启用了 [DeepLink](https://reactnative.cn/docs/next/linking#%E5%90%AF%E7%94%A8-deep-links) 功能 + +代码中无需任何改动,只需在上述界面中勾选“使用 Deep Link”,填入您应用的协议名,例如"pushy://",然后使用系统相机或系统内置的扫一扫功能扫码(注意不能使用微信扫码),即可自动调起应用并触发更新。 + +- 若应用自带扫码功能 + +请参考 [parseTestQrCode](api#function-parsetestqrcodeqrcode-string) 方法的说明。 + +
+若您的应用不具有上述两项功能,或 pushy 版本低于 v10.11.2,则可以参考如下测试方式(不推荐) + +先发布一个**测试包**,再发布一个除了版本号以外均完全相同的**正式包**。 例如,假设我们有一个正式包,版本为`1.6.0`,那么可以修改版本号重新打包一个`1001.6.0`,以一个明显不太正常的版本号来标识它是一个测试版本,同时后几位相同,可以表明它和某个正式版本存在关联(内容/依赖一致)。 在每次往发布包发起热更新之前,先对**测试包**`1001.6.0`进行更新操作,基本测试通过之后,再在网页后台上将热更包重新绑定到**正式包**`1.6.0`上。如果在测试包中发现了重大问题,你就可以先进行修复,更新测试确认通过后再部署到正式线上环境。这样,可以最大程度的避免发生线上事故。 -万一确实发生线上事故需要回滚的话,首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。 +
+ +万一确实发生线上事故需要回滚的话,更改绑定到之前正常的版本,或者首先利用版本控制系统回滚代码到正常的状态,然后重新生成热更包并推送即可。 #### 元信息(Meta Info)的使用