苹果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相关推荐

  1. native react 更新机制_React Native 热更新实现(客户端 + 服务器端)

    1. 背景 目前,大家考虑使用React Native 技术的关键点主要有三个: iOS和Android端可以使用统一的语言进行构建,并且部分组件代码可以实现共用 热更新能力,无需发布版本即可实现升级 ...

  2. React Native 热更新方案

    转载: https://blog.csdn.net/xiangzhihong8/article/details/73201421 随着 React Native 的不断发展完善,越来越多的公司选择使用 ...

  3. [深入剖析React Native]热更新之react-native-pushy使用指南(Android)

    本文使用RN版本:0.33.0 react-native-pushy是ReactNative中文网推出的代码热更新服务,github地址:https://github.com/reactnativec ...

  4. React Native热更新(iOS)-Pushy

    React Native的出现,使的开发iOS代码出现了更便捷的方式.由于RN是使用脚本语言编写的,实现了"解释执行"的方式,而这种执行方式的修改只需替换脚步即可,不需要重新发布程 ...

  5. React Native热更新方案

    随着 React Native 的不断发展完善,越来越多的公司选择使用 React Native 替代 iOS/Android 进行部分业务线的开发,也有不少使用 Hybrid 技术的公司转向了 Re ...

  6. 2021了React Native热更新怎么搞(react-native-code-push,Android,iOS)

    RN的热更方案也在不断发展,目前RN中文官网上推的是pushy,然而是收费的,对于小企业就比较劝退了.另一个比较成熟的方案是react-native-code-push,本文将基于CodePush集成 ...

  7. React Native 热更新框架 - PUSHY

    文章目录 安装 配置Bundle URL 创建应用 代码集成 发布热更新 安装 项目根目录下运行如下命令: # 全局安装命令行工具,每台电脑只用装一次 yarn global add react-na ...

  8. React Native-Pushy热更新

    参考官网 一 安装 1. 安装 在你的项目根目录下运行以下命令:(根目录通常为带有package.json的) npm install -g react-native-update-cli rnpm ...

  9. React+webpack热更新配置

    首先安照webpack4.x热更新配置 在react项目中发现修改css文件可以热更新: 修改js文件不会热更新,报: Ignored an update to unaccepted module,T ...

最新文章

  1. mysql unsupported data type._数据查询Unsupported command错误
  2. 假期周进度总计(四)
  3. 360互联网技术训练营第七期 -“遇见”PIKA
  4. 【英语学习】【WOTD】chockablock 释义/词源/示例
  5. 二级计算机vf题型,2010计算机等级考试二级VF考试题型与解题技巧
  6. c语言统计字符数组上字母和数字,C语言问题求数组中的字母数字字符个数 – 手机爱问...
  7. 一起来学Masonry (一)
  8. 步步为营-83-用户控件
  9. JOptionPane总结
  10. matlab实现图像的左右翻转
  11. 都昌信息袁永福:利用电子病历赋能框架,为健康医疗大数据打好基础【电子病历和健康医疗大数据系列】...
  12. 《眼儿媚·愁云淡淡雨潇潇》
  13. c语言编辑三色球问题,C语言实例编程:三色球问题
  14. 开发者收到“加料”的假 Offer,害上家被盗近 6.25 亿美元!
  15. 复旦大学的计算机专业分数线,2018复旦大学分数线 各专业分数线是多少
  16. 什么是堡垒机?堡垒机有什么优势?
  17. 【机器学习】——梯度下降法的收敛性证明(详解)
  18. METIS安装与使用
  19. 别让自己“墙”了自己
  20. 爆料142条,准确度78.2%,他堪称“苹果爆料王”

热门文章

  1. 基于4G网卡的Telnet远程登录RT-Thread的Finsh/MSH Shell
  2. unity保存图片到手机相册,安卓
  3. Latex幻灯片ppt的beamer中,如何在每章节前自动显示当前所处目录位置
  4. html锚点定位(锚点链接:name还是id,一文搞定)
  5. java合并excel文件_Java 合并Excel文档
  6. python与其他编程语言的区别分析
  7. pyhton爬虫(12)——抓取携程酒店评论数据
  8. 2016-ECCV-《Learning without Forgetting》论文阅读笔记
  9. 微信公众号网页苹果手机点击onclick无效
  10. matplotlib之pyplot模块——获取/设置对象属性值(setp()、getp/get())