日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

(笔记) RN React Native 热更新(react-native-code-push) AppCenter

發布時間:2024/1/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 (笔记) RN React Native 热更新(react-native-code-push) AppCenter 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

蘋果App允許使用熱更新Apple's developer agreement, 為了不影響用戶體驗,規定必須使用靜默更新。 Google Play不能使用靜默更新,必須彈框告知用戶App有更新。中國的android市場必須采用靜默更新(如果彈框提示,App會被“請上傳最新版本的二進制應用包”原因駁回)。?

自備梯子,國內App可自配下載地址或者參考 rn中文網

?code push已經遷移到 App Center上

?

基本步驟就是 配置 打包 發布新版本

?

參考

官方文檔 安裝 發布

https://docs.microsoft.com/en-us/appcenter/distribution/codepush/react-native#releasing-updates

https://www.jianshu.com/p/84307d3aa824? ? ? //這個比較詳細

?

?

? ?安裝App Center CLI

npm install -g appcenter-cli

?

?

添加項目

appcenter apps create -d AwesomeProject -o Android -p React-Native

檢測是否添加成功

appcenter apps list

部署 (獲取key

appcenter codepush deployment add -a slf1501-163.com/AwesomeProject Staging

appcenter codepush deployment add -a slf1501-163.com/AwesomeProject Production

?查詢key

appcenter codepush deployment list -a ?slf1501-163.com/AwesomeProject ?-k

?

?記得把MainApplication里的key替換

?

@Override

protectedList<ReactPackage>getPackages(){

returnArrays.<ReactPackage>asList(

newMainReactPackage(),

newCodePush("CTjphNv3zzJCF2wbVQfwaIhcNWE9HJ1Wh1Zp4",getApplicationContext(),BuildConfig.DEBUG)

);

}

?

入口文件

import {AppRegistry} from 'react-native'; import CodePush from "react-native-code-push"; // 靜默方式,app每次啟動的時候,都檢測一下更新 'ON_APP_RESUME' // const codePushOptions = { checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME };// 手動方式接收更新的方式 const codePushOptions = { checkFrequency: CodePush.CheckFrequency.ON_APP_RESUME }; import _App from './App'; const App = CodePush(codePushOptions)(_App); import {name as appName} from './app.json'; AppRegistry.registerComponent(appName, () => App);

或者

import React, { Component } from 'react'; import {Platform,StyleSheet,Text,View } from 'react-native';import CodePush from "react-native-code-push"; // 引入code-pushlet codePushOptions = {//設置檢查更新的頻率//ON_APP_RESUME APP恢復到前臺的時候//ON_APP_START APP開啟的時候//MANUAL 手動檢查checkFrequency : CodePush.CheckFrequency.ON_APP_RESUME };const instructions = Platform.select({ios: 'Press Cmd+R to reload,\n' +'Cmd+D or shake for dev menu',android: 'Double tap R on your keyboard to reload,\n' +'Shake or press menu button for dev menu', });type Props = {};class App extends Component<Props> {//如果有更新的提示syncImmediate() {CodePush.sync( {//安裝模式//ON_NEXT_RESUME 下次恢復到前臺時//ON_NEXT_RESTART 下一次重啟時//IMMEDIATE 馬上更新installMode : CodePush.InstallMode.IMMEDIATE ,//對話框updateDialog : {//是否顯示更新描述appendReleaseDescription : true ,//更新描述的前綴。 默認為"Description"descriptionPrefix : "更新內容:" ,//強制更新按鈕文字,默認為continuemandatoryContinueButtonLabel : "立即更新" ,//強制更新時的信息. 默認為"An update is available that must be installed."mandatoryUpdateMessage : "必須更新后才能使用" ,//非強制更新時,按鈕文字,默認為"ignore"optionalIgnoreButtonLabel : '稍后' ,//非強制更新時,確認按鈕文字. 默認為"Install"optionalInstallButtonLabel : '后臺更新' ,//非強制更新時,檢查到更新的消息文本optionalUpdateMessage : '有新版本了,是否更新?' ,//Alert窗口的標題title : '更新提示'} ,} ,);}componentWillMount() {CodePush.disallowRestart();//禁止重啟this.syncImmediate(); //開始檢查更新}componentDidMount() {CodePush.allowRestart();//在加載完了,允許重啟}render() {return (<View style={styles.container}><Text style={styles.welcome}>Welcome to React Native!</Text><Text style={styles.instructions}>To get started, edit App.js</Text><Text style={styles.instructions}>{instructions}</Text><Text style={styles.instructions}>這是更新的版本</Text></View>);} }// 這一行必須要寫 App = CodePush(codePushOptions)(App)export default Appconst styles = StyleSheet.create({container: {flex: 1,justifyContent: 'center',alignItems: 'center',backgroundColor: '#F5FCFF',},welcome: {fontSize: 20,textAlign: 'center',margin: 10,},instructions: {textAlign: 'center',color: '#333333',marginBottom: 5,}, })

?

打包 apk? 安裝以后 更改樣式 發布

appcenter codepush release-react -a slf1501-163.com/splashExample-android?? ?

-m true? 強制更新

?

?

總結

以上是生活随笔為你收集整理的(笔记) RN React Native 热更新(react-native-code-push) AppCenter的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。