ReactNative開發(fā)-檢測版本更新(非熱更新)

問題描述:

在APP開發(fā)中厢绝,檢測版本更新功能是應(yīng)該說是必不可少的炸庞。那么既然有這樣的需求最欠,就要有對應(yīng)的方法來解決。在RN混合開發(fā)中积担,可以使用react-native-app-upgrade組件來進行陨晶,接下來就以這個react-native-app-upgrade來操作檢測版本更新功能。

步驟1:

從github上下載react-native-app-upgrade組件帝璧,將解壓后得到的android_upgrade文件夾放到你需要添加版本更新功能的項目目錄下(android\app\src\main\java\com\包名)下先誉,如圖1-1所示。


圖1-1

接著再把解壓得到的ios_upgrade文件夾放到需要添加版本更新功能的項目目錄(\ios)下聋溜,如圖1-2所示谆膳。


圖1-2

接著修改android_upgrade文件夾下8個類文件的包名,如圖1-2所示.


圖1-3

如果R文件報錯也要修改成和包名一致撮躁,如圖1-3所示漱病。
圖1-4

步驟2:

在AndroidMainfest.xml文件下添加權(quán)限和service組件买雾,如圖2-1所示。

<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<service
        android:name="com.包名.upgrade.DownloadService"
        android:exported="true"/>

圖2-1

接著在android/app/src/main/res/values/strings.xml文件下添加
<string name="android_auto_update_download_progress">正在下載:%1$d%%</string>

步驟3:

到MainApplication.java文件下杨帽,先添加一下代碼漓穿,導(dǎo)入UpgradePackage.java文件
import 項目工程包名.UpgradePackage;
然后在getPackages()方法中添加new UpUpgradePackage(),如圖3-1所示注盈。

圖3-1

步驟4:

到需要添加檢測版本更新的代碼頁面下晃危,先導(dǎo)入NativeModules模塊,如圖4-1所示老客。


image.png

接著在構(gòu)造方法里添加APP下載地址僚饭,如圖4-2所示。


圖4-2

接著在需要觸發(fā)檢測版本更新功能的地方添加
NativeModules.upgrade.upgrade(this.state.apkUrl);
例如胧砰,在我自己的項目下鳍鸵,我為檢測版本更新功能所寫的代碼

 <ItemActionViews
                 onPress={() => this.checkVersion()}   //觸發(fā)checkVersion()版本檢查方法
                 showTitle="當前版本" showText={this.state.localVersion}/>
//版本檢查
    checkVersion() {
        let version = this.state.version;        //api中的版本號
        let localVersion = this.state.localVersion;    //本地版本號
        console.log('最新版本:' + version);
        console.log('當前版本:' + localVersion);
        if (Platform.OS === 'android') {
            if (version != localVersion) {
                Alert.alert('', '最新版本為' + version + ',是否下載', [{text: '取消', onPress: () => console.log('取消')}, {
                    text: '確定', onPress: () => {
                        NativeModules.upgrade.upgrade(this.state.apkUrl);
                    }
                },]);
            } else {
                Toast.show('當前為最新版本');
            }
        } else {
            NativeModules.upgrade.upgrade('1297109983', (msg) => {
                if ('YES' == msg) {
                    //跳轉(zhuǎn)到APP Stroe
                    NativeModules.upgrade.openAPPStore('1297109983');
                } else {
                    Toast.show('當前為最新版本');
                }
            })
        }

    };

如果在配置中出現(xiàn)問題尉间,請留言指出或參考組件的github地址偿乖,我會力所能及解答疑惑。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哲嘲,一起剝皮案震驚了整個濱河市贪薪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌眠副,老刑警劉巖画切,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異侦啸,居然都是意外死亡槽唾,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進店門光涂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人拧烦,你說我怎么就攤上這事忘闻。” “怎么了恋博?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵齐佳,是天一觀的道長。 經(jīng)常有香客問我债沮,道長炼吴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任疫衩,我火速辦了婚禮硅蹦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己童芹,他們只是感情好涮瞻,可當我...
    茶點故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著假褪,像睡著了一般署咽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上生音,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天宁否,我揣著相機與錄音,去河邊找鬼缀遍。 笑死慕匠,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的瑟由。 我是一名探鬼主播絮重,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼歹苦!你這毒婦竟也來了青伤?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤殴瘦,失蹤者是張志新(化名)和其女友劉穎狠角,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蚪腋,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡丰歌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了屉凯。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片立帖。...
    茶點故事閱讀 39,739評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖悠砚,靈堂內(nèi)的尸體忽然破棺而出晓勇,到底是詐尸還是另有隱情,我是刑警寧澤灌旧,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布绑咱,位于F島的核電站,受9級特大地震影響枢泰,放射性物質(zhì)發(fā)生泄漏描融。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一衡蚂、第九天 我趴在偏房一處隱蔽的房頂上張望窿克。 院中可真熱鬧骏庸,春花似錦、人聲如沸让歼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谋右。三九已至硬猫,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間改执,已是汗流浹背啸蜜。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留辈挂,地道東北人衬横。 一個月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像终蒂,于是被迫代替她去往敵國和親蜂林。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,082評論 25 707
  • React Native應(yīng)用部署/熱更新-CodePush最新集成總結(jié)(新) 本文出自《React Native學(xué)...
    CrazyCodeBoy閱讀 37,608評論 41 332
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理拇泣,服務(wù)發(fā)現(xiàn)噪叙,斷路器,智...
    卡卡羅2017閱讀 134,652評論 18 139
  • 2016年霉翔,10月31號那天睁蕾, 我在餐廳一樓下面迎接客人時,看見一個女孩在追捕一只白貓债朵。是的子眶,是追捕,我看到的時候...
    許諾a閱讀 442評論 0 3
  • 01 許桐最大的毛病就是貪吃。 她尤其喜歡吃甜食谚中,精致的蛋糕硅卢、松軟的面包、酥脆的餅干都是她的心頭好藏杖,“甜食可以讓人...
    1e9e5a971fd1閱讀 6,748評論 74 162