From c4214da16bc0707bb74df5b13d422737a9fc90de Mon Sep 17 00:00:00 2001 From: sunnylqm Date: Sat, 9 Dec 2023 00:23:53 +0800 Subject: [PATCH] chore: update doc --- site/pages/docs/{faq.md => faq.mdx} | 28 +++----- ...getting-started.md => getting-started.mdx} | 70 ++++++++++++------- 2 files changed, 53 insertions(+), 45 deletions(-) rename site/pages/docs/{faq.md => faq.mdx} (92%) rename site/pages/docs/{getting-started.md => getting-started.mdx} (81%) diff --git a/site/pages/docs/faq.md b/site/pages/docs/faq.mdx similarity index 92% rename from site/pages/docs/faq.md rename to site/pages/docs/faq.mdx index 893c606..a55f598 100644 --- a/site/pages/docs/faq.md +++ b/site/pages/docs/faq.mdx @@ -4,6 +4,8 @@ title: 常见问题 type: 其他 --- +import { Callout } from "nextra/components"; + 如果本页面没能回答您的疑问,您可以去[issues 区](https://github.com/reactnativecn/react-native-pushy/issues)或 QQ 群 729013783 提问,或给我们发[邮件](mailto:hi@charmlot.com)。 ### 业务问题 @@ -46,12 +48,6 @@ type: 其他 --- -#### XCode 编译时报错 "\_BZ2_bzRead", referenced from 等 - -在工程 target 的 Build Phases->Link Binary with Libraries 中加入 libz.tbd、libbz2.1.0.tbd - ---- - #### 热更新成功完成,但是重启后又回滚了是怎么回事? 可以正常更新,但是重启后回滚,一般有两种可能的情况: @@ -75,7 +71,9 @@ type: 其他 请谨记,任何时候生成原生包,请 1)先修改原生版本号,2)并上传到 pushy 服务器,才可以正常获得热更新。 -> 如果您是`高级版`或`专业版`客户,也可以考虑在管理后台的应用设置中启用`忽略编译时间戳`。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。 + + 如果您是`高级版`或`专业版`客户,也可以考虑在管理后台的应用设置中启用`忽略编译时间戳`。此选项仅对比版本号,不校验时间戳,可提供更宽容的热更策略,但可能消耗更多流量,适合需要管理多个分发渠道的客户。 + --- @@ -91,7 +89,7 @@ type: 其他 #### 我可以试用付费版本先评估一下效果吗? -新用户注册验证通过后,将自动获得 7 天`专业版`试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。 +新用户注册验证通过后,将自动获得 7 天`专业版`试用。如您需要更长的评估时间,可将注册用户名、邮箱、公司(或个人)名称发送至 hi@charmlot.com ,标题注明“pushy 评估试用延长”,我们会为您酌情延长评估时间。 --- @@ -118,7 +116,7 @@ type: 其他 #### 我可以单独升级某项配额吗? -我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版本配额仍然不能满足需求,请通过邮件与我们联系,我们将根据您的个性化需求为您定制方案。 +我们暂时无法为某个单项配额提供升级选项,请选择更高版本的配额。如果专业版本配额仍然不能满足需求,请通过邮件 hi@charmlot.com 与我们联系,我们将根据您的个性化需求为您定制方案。 --- @@ -130,13 +128,13 @@ type: 其他 #### 如何获取付费的专人技术支持? -请将您的用户名和订单截图发送至,同时提供您希望的技术联系方式(QQ、微信等),核实后会有技术专员添加您为好友。 +请将您的用户名和订单截图发送至 hi@charmlot.com ,同时提供您希望的技术联系方式(QQ、微信等),核实后会有技术专员添加您为好友。 --- #### 如何开具发票? -请将具体开票需求发送至,并附上注册邮箱和订单截图。我们默认会回复普通电子发票到`注册邮箱`,类目为软件服务。如需指定接受邮箱或手机,请在`邮件正文`中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。 +请将具体开票需求发送至 hi@charmlot.com ,并附上注册邮箱和订单截图。我们默认会回复普通电子发票到`注册邮箱`,类目为软件服务。如需指定接受邮箱或手机,请在`邮件正文`中注明。如需要邮寄纸质发票请注明邮寄地址,邮费为到付。 --- @@ -144,17 +142,11 @@ type: 其他 可以的。请对照[价格表](/pricing),将对应版本的款项转账至: - - | 公司名称 | 武汉青罗网络科技有限公司 | | ---------- | ------------------------ | | 开户行名称 | 浙江网商银行 | | 账号 | 8888888048825564 | -转账完成后请截图发送至,并写明注册邮箱,我们将在一个工作日内开通对应服务。 +转账完成后请截图发送至 hi@charmlot.com ,并写明注册邮箱,我们将在一个工作日内开通对应服务。 --- diff --git a/site/pages/docs/getting-started.md b/site/pages/docs/getting-started.mdx similarity index 81% rename from site/pages/docs/getting-started.md rename to site/pages/docs/getting-started.mdx index 21d4e83..5852898 100644 --- a/site/pages/docs/getting-started.md +++ b/site/pages/docs/getting-started.mdx @@ -4,15 +4,15 @@ title: 安装配置 type: 快速入门 --- -import { Tabs } from 'nextra/components' - -首先你应该有一个基于 React Native 开发的应用,我们把具有 package.json 的目录叫做你的"应用根目录"。 +import { Callout, Steps, Tabs } from "nextra/components"; +首先你应该有一个基于 React Native 开发的应用,我们把具有 package.json 的目录叫做你的`应用根目录`。 如果你还没有初始化应用,请参阅[开始使用 React Native](https://reactnative.cn/docs/getting-started)。 -所以我们也假设你已经拥有了开发 React Native 应用的一切环境,包括`Node.js`、`XCode`、`Android SDK`等等。 +我们假设你已经拥有了开发 React Native 应用的一切环境,包括`Node.js`、`XCode`、`Android SDK`等等。 -## 安装 + +### 安装 在你的项目根目录下运行以下命令: @@ -28,9 +28,13 @@ npm i react-native-update # npm i react-native-update@8.x ``` -> 如果下载极慢或者显示网络失败,请设置使用淘宝镜像`npx nrm use taobao` + + 如果下载极慢或者显示网络失败,请设置使用淘宝镜像 `npx nrm use taobao` + -> 注意请不要混用`npm/yarn/pnpm`等包管理器及对应的`lock`文件,团队成员请坚持使用同一包管理器,且仅保留统一格式的`lock`文件 + + 注意请不要混用`npm/yarn/pnpm`等包管理器及对应的`lock`文件,团队成员请坚持使用同一包管理器,且仅保留统一格式的`lock`文件 + 如果你的 RN 版本 >= 0.60,请在 ios 目录下执行: @@ -46,8 +50,6 @@ pod install 然后按照[手动 link](#手动-link)的说明操作。 -> 注意:如果是混编 RN 项目,由于目前官方集成文档并不完善,参照官方文档可能无法实现自动 link 功能。此时即便 RN 版本 >= 0.60,你可能也需要执行手动 link 操作。 -
如果你的RN版本比较老(< 0.46),请点击这里的注意事项 @@ -69,22 +71,29 @@ pod install npm i react-native-update@4.x ``` -如果 RN 的版本是 0.45 及以下,你还必须安装[Android NDK](http://androiddevtools.cn),版本最好选用 r10e,并设置环境变量`ANDROID_NDK_HOME`,指向你的 NDK 根目录(例如`/Users/tdzl2003/Downloads/android-ndk-r10e`)。 +如果 RN 的版本是 0.45 及以下,你还必须安装`[Android NDK](http://androiddevtools.cn)`,版本最好选用 r10e,并设置环境变量`ANDROID_NDK_HOME`,指向你的 NDK 根目录(例如`/Users/tdzl2003/Downloads/android-ndk-r10e`)。
-> 请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(npx react-native run-ios 或 run-android 命令编译,或在 Xcode/Android Studio 中重新编译)才能生效。 + + 请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(使用 npx + react-native run-ios 或 run-android 命令编译,或在 Xcode/Android Studio + 中重新编译)才能生效。 + -## 手动 link +### 手动 link 如果 RN 版本 >= 0.60 则不需要此手动 link 步骤。 -> 注意:如果是混编 RN 项目,由于目前官方集成文档并不完善,参照官方文档可能无法实现自动 link 功能。此时即便 RN 版本 >= 0.60,你可能也需要执行手动 link 操作。 + + 注意:如果是混编 RN 项目,由于自定义的配置可能不完整,自动 link + 的功能可能不能正常工作。此时即便 RN 版本 >= 0.60,你可能也需要执行手动 link 操作。 + -### iOS +#### iOS
-RN < 0.60且使用CocoaPods(推荐) +RN < 0.60且使用CocoaPods(推荐) 1. 在 ios/Podfile 中添加 @@ -98,7 +107,7 @@ pod 'react-native-update', path: '../node_modules/react-native-update'
-RN < 0.60且不使用CocoaPods +RN < 0.60且不使用CocoaPods 1. 在 XCode 中的 Project Navigator 里,右键点击`Libraries` ➜ `Add Files to [你的工程名]` 2. 进入`node_modules` ➜ `react-native-update` ➜ `ios 并选中`RCTPushy.xcodeproj` @@ -117,10 +126,10 @@ date +%s > "$DEST/pushy_build_time.txt"
-### Android +#### Android
-RN < 0.60 +RN < 0.60 1. 在`android/settings.gradle`中添加如下代码: @@ -139,13 +148,14 @@ date +%s > "$DEST/pushy_build_time.txt" - 在文件开头增加 `import cn.reactnative.modules.update.UpdatePackage;` - 在`getPackages()` 方法中增加 `new UpdatePackage()`(注意上一行可能要增加一个逗号) +
-## 配置 Bundle URL +### 配置 Bundle URL 注意此步骤无论任何版本,目前都需要手动配置。 -### iOS +#### iOS 在你的 AppDelegate.mm 或 AppDelegate.m 文件(不同 RN 版本可能后缀名不同)中增加如下代码: @@ -190,7 +200,7 @@ date +%s > "$DEST/pushy_build_time.txt" ``` -### Android +#### Android 在 MainApplication 中增加如下代码(如果是混编原生的项目或其他原因没有使用 ReactApplication,请[使用此 api 集成](api#updatecontextsetcustominstancemanagerreactinstancemanager-instancemanager)): @@ -214,7 +224,7 @@ class MainApplication : Application(), ReactApplication { return UpdateContext.getBundleUrl(this@MainApplication) } // ↑↑↑ - + // ...其他代码 } } @@ -251,9 +261,13 @@ public class MainApplication extends Application implements ReactApplication { -> 请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(npx react-native run-ios 或 run-android 命令编译,或在 Xcode/Android Studio 中重新编译)才能生效。 + + 请记得,任意在 ios 和 android 目录下的修改,一定要重新编译(npx react-native + run-ios 或 run-android 命令编译,或在 Xcode/Android Studio + 中重新编译)才能生效。 + -## 禁用 android 的 crunch 优化 +### 禁用 android 的 crunch 优化 android 会在生成 apk 时自动对 png 图片进行压缩,此操作既耗时又影响增量补丁的生成。为了保证补丁能正常生成,您需要在`android/app/build.gradle`中关闭此操作: @@ -273,9 +287,9 @@ android { ... ``` -## 登录与创建应用 +### 登录与创建应用 -首先请在注册帐号,然后在你的项目根目录下运行以下命令: +首先请在 https://update.reactnative.cn 注册帐号,然后在你的项目根目录下运行以下命令: ```bash $ pushy login @@ -294,7 +308,7 @@ $ pushy createApp --platform android App Name: <输入应用名字> ``` -> 两次输入的名字可以相同,这没有关系。 +两次输入的名字可以相同,这没有关系。 如果你已经在网页端或者其它地方创建过应用,也可以直接选择应用: @@ -325,3 +339,5 @@ Enter appId: <输入应用前面的编号> 你可以安全的把`update.json`上传到 Git 等 CVS 系统上,与你的团队共享这个文件,它不包含任何敏感信息。当然,他们在使用任何功能之前,都必须首先输入`pushy login`进行登录。 至此应用的创建/选择就已经成功了。下一步,你需要给代码添加相应的功能,请参阅[代码集成](integration)。 + +