1. 程式人生 > >ReactNative系列之十八codepush熱更新

ReactNative系列之十八codepush熱更新

目前僅針對Android,iOS後續再補

1、簡介

codepush是微軟的一套熱升級解決實現,還有一種是reactnatie中文網上的react-native-pushy。這兩種方案我都試了下,推薦使用codepush, codepush在github上看文件感覺很麻煩,其實真的很好用,就是有時候慢,不過自己code push server唄!react-native-pushy用了下,各種問題。不說了~

2、codepush使用

1)首先需要在 code push註冊一個帳號,這個不多說了,有可能會有網速問題。翻牆!

2)整合

#1、參考https://github.com/Microsoft/react-native-code-push, 找到對應版本的安裝

npm install --save [email protected]
react-native link react-native-code-push
#2、在JS中新增程式碼
import codePush from "react-native-code-push";
        // codepush
        codePush.sync({
            installMode: codePush.InstallMode.ON_NEXT_RESUME,//啟動模式三種:ON_NEXT_RESUME、ON_NEXT_RESTART、IMMEDIATE
            updateDialog: {

                appendReleaseDescription:true,//是否顯示更新description,預設為false

                descriptionPrefix:"更新內容:",//更新說明的字首。 預設是” Description:

                mandatoryContinueButtonLabel:"立即更新",//強制更新的按鈕文字,預設為continue

                mandatoryUpdateMessage:"",//- 強制更新時,更新通知. Defaults to “An update is available that must be installed.”.

                optionalIgnoreButtonLabel: '稍後',//非強制更新時,取消按鈕文字,預設是ignore

                optionalInstallButtonLabel: '後臺更新',//非強制更新時,確認文字. Defaults to “Install”

                optionalUpdateMessage: '有新版本了,是否更新?',//非強制更新時,更新通知. Defaults to “An update is available. Would you like to install it?”.

                title: '更新提示'//要顯示的更新通知的標題. Defaults to “Update available”.

            },


#3、設定Java程式碼,在Application中設定key(key是在codepush建立應用時,獲取到的), 注意是下面的第一個引數
new CodePush(getResources().getString(R.string.reactNativeCodePush_androidDeploymentKey), getApplicationContext(), BuildConfig.DEBUG),

#4、常用命令
$ cd /path/to/code-push-demo-app
$ npm install
$ cd android
$ ./gradlew assembleRelease
$ cd app/build/outputs/apk #install app-release.apk into your phone
$ code-push login http://api.code-push.com:8080 #登入code-push-server
$ code-push app add CodePushReactNativeDemo-ios  #iOS版
$ code-push app add CodePushReactNativeDemo-android #android版
$ cd /path/to/code-push-demo-app
$ npm install
$ code-push release-react CodePushReactNativeDemo-ios ios -d Production #釋出到code-push-server ios
$ code-push release-react CodePushReactNativeDemo-android android -d Production #釋出code-push-server android
code-push release-react bus-android android -d Production --des "修復了一些bugs" -m false
效果圖如下: 棗莊智行公交,用ReactNative寫的,大家可以體驗下效果


3、參考其它links, 感謝

http://blog.csdn.net/sinat_17775997/article/details/53894030


https://github.com/lisong/code-push-demo-app

https://github.com/Microsoft/react-native-code-push

http://www.jianshu.com/p/9e3b4a133bcc react native codepush熱更新解決成功更新

http://www.jianshu.com/p/eb7fdee307dc react native codepush之搭建自己的更新伺服器

http://blog.csdn.net/h254532699/article/details/54382162 code-push-server 搭建自己的推送伺服器流程

http://blog.csdn.net/oiken/article/details/50279871   


相關推薦

ReactNative系列codepush更新

目前僅針對Android,iOS後續再補 1、簡介 codepush是微軟的一套熱升級解決實現,還有一種是reactnatie中文網上的react-native-pushy。這兩種方案我都試了下,推薦使用codepush, codepush在github上看文件感覺很麻煩,

【轉】【修真院“善良”系列】WEB程序員從零開始到就業的全資料V1.0——只看這一篇就夠了!

absolute feed 自己 session rem 好的 ans 一個 css樣式 這是兩年以來,修真院收集整理的學習資料順序。以CSS15個任務,JS15個任務為基礎,分別依據要完成任務的不同的技能點,我們整理出來了這麽一篇在學習的時候需要看到的資料。這是Versi

C++語言筆記系列——虛函數(1)

自己 語言 數據類型 說明 出現 adium 重定義 angle rac 1.C++中的多態 (1)多態性:同一個函數的調用能夠進行不同的操作,函數重載是實現多態的一種手段。 (2)聯編:在編譯階段進行聯接。即是在編譯階段將一個函數的調用點和函數

skyfans每天一個Liunx命令系列:userdel

今天我們繼續來學習USER INFORMATION AND MANAGEMENT(使用者資訊和管理),今天學習的是什麼命令呢,那就是userdel(刪除使用者) 注意:本章內容由於涉及到刪除內容,請在實驗中謹慎操作,切記不可在實際生產環境中執行,否則出現一切後果自負!!!!! Rea

[算法系列]海量資料處理BitMap

一:簡介 所謂的BitMap就是用一個bit位來標記某個元素對應的Value, 而Key即是該元素。由於採用了bit為單位來儲存資料,因此在儲存空間方面,可以大大節省。 二:基本思想 我們用一個具體的例子來講解,假設我們要對0-7內的5個元素(4,7,2,5,3)排

ReactNative系列九metro-bundle主要api簡介及優化打包實現

1.RN的打包bundle概要從ReactNative的0.50(準確來講應該是0.4x)之後到目前的最新版本0.55版本,都使用metro-bundle來進行壓縮打bundle檔案。實際上打bundle的好處有幾個1.100個檔案打包成一個檔案,jsCore載入時效率相對高

算法系列:用天文方法計算二四節氣(上)

        二十四節氣在中國古代曆法中扮演著非常重要的角色,本文將介紹二十四節氣的基本知識,以及如何使用VSOP82/87行星執行理論計算二十四節氣發生的準確時間。        中國古代曆法都是以月亮執行規律為主,嚴格按照朔望月長度定義月,但是由於朔望月長度和地球迴歸年

ReactNative系列九表情emoji與文字混排的兩種方案實現

方案一:使用react-native-emoji這個庫優點:文字和圖片混排單行多行,居中顯示都正常缺點:依賴手機的環境,只能根據系統裡的表情進行顯示?不能自定義表情。。。emoji...這種方案基本不可行,使用者體驗差方案二:<Text>    <Text&

ReactNative系列一原生RN控制元件WebView與Html5件的呼叫

1、前言系列九講解過使用第三方WebViewBridge與Html5之間的通訊,但在ReatNative0.37之後,增強的WebView的功能,不需要第三方也可以原生支援互調與傳遞資料2、主要程式碼原始碼下載:https://download.csdn.net/downlo

建立Win2003域和Win2008域之間的信任關係,Active Directory系列

我們在上一篇文章中建立了域信任關係,這個信任關係發生在兩個Win2003域之間,而且兩個域使用了同一個DNS伺服器。今天我們更換一個實驗場景,拓撲如下圖所示。一個是Win2003域,另一個是Win2008域。兩個域都使用各自的域控制器提供DNS解析,而且Win2008域的功能級別是Win2003,我們將為大家

kubernetes系列:使用helm安裝istio

一、前言 istio是Kubernetes平臺微服務管理的框架標準,是Service Mesh在Kubernetes平臺的標準實現。相比於其它的微服務框架,istio提供非程式碼介入的框架機制,使用sidecar機制將微服務的服務面和管理面連線起來,而且使用的sidecar

Dubbo學習系列(Skywalking服務跟蹤)

  我們知道,微服務不是獨立的存在,否則就不需要微服務這個架構了,那麼當發起一次請求,如何知道這次請求的軌跡,或者說遇到響應緩慢、 請求出錯的情況,我們該如何定位呢?這就涉及到APM(Application Performance Management)元件了,主流的選型有Zipkin、Pinpoint、Ja

CodePush 更新ReactNativeCodePush CLI操作

因為微軟開源的這個做的還不錯,所以拿來用了 1. CodePush CLI安裝 CodePush CLI安裝 : npm install -g code-push-cli 2. Account 賬號管理 註冊code-push reg

ReactNative系列七指定模擬器除錯

前言 React Native執行專案會自動啟動模擬器或者真機,下面為指定啟動模擬器的方法 注意:執行專案之前執行npm install是必須的 1. Android Android執行React Native專案有兩種方式: 1.1 終端 命令列中React nati

使用CodePush更新ReactNative JS程式碼

糾結了半天,不知要不要用ReactNative來開發新專案, 例如本地儲存,例如webView 裡面js 與native 的互動,例如地圖,糾結。。。 通過檢視文件,一一得到答案,還是很想用ReactNative做這個專案。 最吸引我的就是傳說中的熱更新。但是,,具

ReactNative系列二Bundle的結構

bundle結構分析 包括三部分: polyfills : 最早執行的一些function,宣告es語法新增的介面,定義模組宣告方法__d等 module difinitations : 模組宣告,以__d開頭,每一行代表一個JS的定義 require calls

轉: 【Java並發編程】:第五篇中volatile意外問題的正確分析解答(含代碼)

深入 規則 rup lis con method 執行 change .text 轉載請註明出處:http://blog.csdn.net/ns_code/article/details/17382679 在《Java並發編程學習筆記之五:volatile變量修

設計模式:橋接模式(Bridge)

ora 它的 pla sin string src ams down ng- 橋接模式: 將抽象部分和它的實現部分相分離開來,以使它們能夠單獨地變化。 UML圖: 主要包含: Abstraction:定義了抽象部分的接口。操作一個實現部分對

ElasticStack系列二 & 搜索結果研究

想要 查看 關系 獲得 pos 過程 利用 根據 sea 問題   使用 ElasticSearch 做搜索 時,比如用戶輸入 --> 檸檬,搜出來的結果 --> 檸檬汽水,檸檬味牙膏等在前面,真正想要的水果那個 檸檬 在後面。已經在中文分詞中加了 檸檬,還是不

ElasticStack系列五 & query cache 引起性能問題思考

並且 版本 配置 per 大量 嘗試 pos 文檔 測試 問題描述   一個線上集群,執行的 Query DSL 都是一樣的,只是參數不同。統計數據顯示 98% ~ 99% 的查詢相應速度都很快,只需要 4 ~ 6ms,但是有 1% 左右的查詢響應時間在 100ms ~ 2