reactNative熱更新自定義彈窗、原生彈窗更新
一、安裝code-push-cli
npm install -g code-push-cli
二、註冊code-push帳號
code-push register
Please login to Mobile Center in the browser window we've just opened.
Enter your token from the browser:
#會彈出一個瀏覽器,讓你註冊,可以使用github帳號對其進行授權,授權成功會給一串Token,點擊複製,在控制進行粘貼回車(或者使用code-push login命令)。
Enter your token from the browser: b0c9ba1f91dd232xxxxxxxxxxxxxxxxx
#成功提示如下方
Successfully logged-in. Your session file was written to /Users/huanghuanlai/.code-push.config. You can run the code-push logout command at any time to delete this file and terminate your session.
三、在code-push添加一個ios的app
code-push app add dounineApp-ios ios react-native
#成功提示如下方
Successfully added the "dounineApp-ios" app, along with the following default deployments:
┌────────────┬──────────────────────────────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Production │ yMAPMAjXpfXoTfxCd0Su9c4-U4lU6dec4087-57cf-4c9d-b0dc-ad38ce431e1d │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Staging │ IjC3_iRGEZE8-9ikmBZ4ITJTz9wn6dec4087-57cf-4c9d-b0dc-ad38ce431e1d │
└────────────┴──────────────────────────────────────────────────────────────────┘
四、繼續在code-push添加一個android的app
code-push app add dounineApp-android android react-native
#成功提示如下方
Successfully added the "dounineApp-android" app, along with the following default deployments:
┌────────────┬──────────────────────────────────────────────────────────────────┐
│ Name │ Deployment Key │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Production │ PZVCGLlVW-0FtdoCF-3ZDWLcX58L6dec4087-57cf-4c9d-b0dc-ad38ce431e1d │
├────────────┼──────────────────────────────────────────────────────────────────┤
│ Staging │ T0NshYi9X8nRkIe_cIRZGbAut90a6dec4087-57cf-4c9d-b0dc-ad38ce431e1d │
└────────────┴──────────────────────────────────────────────────────────────────┘
五、在項目根目錄添加react-native-code-push
npm install react-native-code-push --save
#或者
yarn add react-native-code-push
配置:
ios、安卓配置可參照官網配置:傳送門
基本使用
一、在react-native的App.js文件添加自動更新代碼
import codePush from "react-native-code-push";
const codePushOptions = { checkFrequency: codePush.CheckFrequency.MANUAL };
export default class App extends Component<{}> {
componentDidMount(){
codePush.sync({
updateDialog: true,
installMode: codePush.InstallMode.IMMEDIATE,
mandatoryInstallMode:codePush.InstallMode.IMMEDIATE,
//deploymentKey爲剛纔生成的,打包哪個平臺的App就使用哪個Key,這裏用IOS的打包測試
deploymentKey: 'IjC3_iRGEZE8-9ikmBZ4ITJTz9wn6dec4087-57cf-4c9d-b0dc-ad38ce431e1d', //這裏是Staging key
});
}
...
二、發佈更新App:項目根目錄運行
1、安卓
code-push release-react App android --des "1.按照區域展示輪播內容; 2.分析數據,優化體驗;" -t "5.1.2"
2、ios
code-push release-react App ios--des "1.按照區域展示輪播內容; 2.分析數據,優化體驗;" -t "5.1.2"
自定義彈窗及下載進度:
一、項目地址:
1、百度雲:下載地址傳送門
提取碼:1nke
參數:
props | PropTypes | description |
---|---|---|
deploymentKey | PropTypes.string | code-push deploymentKey 非必須參數,沒有會讀取原生的; |
isActiveCheck | PropTypes.bool | code-push CheckFrequency 檢查更新策略,只提供2種, true 每次返回前臺就更新(高頻率), false 只有 App 啓動才檢測更新, 默認 true; |
------------大功告成--------------------
全局coePush常用命令:
// 賬戶相關
code-push login 登陸
code-push loout 註銷
code-push access-key ls 列出登陸的token
code-push access-key rm <accessKye> 刪除某個 access-key
// app操作相關
code-push app add <appName> <platform> react-native 在賬號裏面添加一個新的app
code-push app remove 或者 rm 在賬號裏移除一個 app
code-push app rename 重命名一個存在 app
code-push app list 或則 ls 列出賬號下面的所有 app
code-push app transfer 把app的所有權轉移到另外一個賬號
————————————————
版權聲明:本文爲CSDN博主「Songlcy」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013718120/article/details/78344866
// 應用信息相關
code-push deployment add <appName> 部署
code-push deployment rm <appName> 刪除部署
code-push deployment rename <appName> 重命名
code-push deployment ls <appName> 列出應用的部署情況
code-push deployment ls <appName> -k 查看部署的key
code-push deployment history <appName> <deploymentName> 查看歷史版本
————————————————
版權聲明:本文爲CSDN博主「Songlcy」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/u013718120/article/details/78344866
// 發佈
code-push release-react <appName> <platform> -t 版本 -d 環境 --des 描述 -m true (強制更新)
// 清除歷史部署記錄
code-push deployment clear <appName> Production or Staging
// 回滾
code-push rollback <appName> Production --targetRelease v4(codepush服務部署的版本號)