如何進(jìn)行APP版本升級管理?

22 評論 42637 瀏覽 354 收藏 8 分鐘

在產(chǎn)品工作中,經(jīng)常要對產(chǎn)品APP進(jìn)行迭代升級。本文作者根據(jù)自己的工作經(jīng)驗(yàn),對APP版本升級管理這個問題展開了深入的思考,希望對你有幫助。

移動端功能開發(fā)測試完成后,需要引導(dǎo)用戶安裝新版本,針對用戶量級較大的APP這個過程中會分為兩個階段:灰度階段和正式階段。

灰度階段是面向部分用戶投放應(yīng)用,目的是驗(yàn)證應(yīng)用包的可用性及兼容性問題。正式階段是面向全量用戶投放正式的應(yīng)用,目的是引導(dǎo)用戶升級到新的版本。

實(shí)施方式:

灰度階段有兩種方式:APP灰度——全量功能APP分發(fā)給部分用戶試用。功能灰度——部分功能由后臺控制開關(guān)供部分用戶使用正式階段(全量開放):經(jīng)檢驗(yàn)沒有問題的APP上傳到各應(yīng)用市場,同時引導(dǎo)老用戶進(jìn)行版本升級

本文僅針對正式階段,面向全量用戶進(jìn)行新版本升級引導(dǎo)的APP版本升級管理進(jìn)行展開討論。

版本升級流程:

版本升級總共分為兩步:安裝包發(fā)布到官網(wǎng),引導(dǎo)用戶升級到新版本。

流程圖如下:APP官網(wǎng)投放、iOS需要上傳appstore審核,安卓可依據(jù)需求投放不同應(yīng)用市場。

特別說明:因?yàn)锳pp Store存在審核時間長的特性(3-14天不等),如果需要兩端同步發(fā)布一般是需要先將iOS端進(jìn)行提審,再講安卓提審(安卓應(yīng)用市場審核周期為一天左右),等到應(yīng)用包已經(jīng)上架應(yīng)用商店后,接下來就是引導(dǎo)已經(jīng)安裝APP的老用戶進(jìn)行升級到新版本各應(yīng)用商店有自己的應(yīng)用升級方式。

但是升級過程會很被動(比如用戶關(guān)閉自動升級,新版本存在功能不兼容導(dǎo)致用戶不能使用),所以需要我們自己開發(fā)管理后臺去控制各版本之間的升級方式

運(yùn)營配置升級流程:

引導(dǎo)用戶升級需要在后臺做兩步:配置需要升級的安裝包信息,設(shè)置升級方案。

第一步:填寫安裝包信息

不同渠道的安裝包需要填寫的安裝包信息不同,iOS之所以分為三種發(fā)布類型是可以理解為兩個用途:appstore用于正式安裝包配置,企業(yè)分發(fā)/testflight為內(nèi)部測試升級使用。

testflight是蘋果提供給開發(fā)者專用的測試方式,用戶需要測試之前需要安裝蘋果提供的一個testflight工具,然后會收到開發(fā)者的測試升級邀請,或者通過開發(fā)者開放的一個公開鏈接去下載測試包。

testflight這種方式一是測試人數(shù)有上限(9999人),二是需要額外安裝工具。

內(nèi)部測試的話,也可以通過企業(yè)證書打包的方式,企業(yè)證書是面向企業(yè)內(nèi)部員工使用的APP的開發(fā)者證書。開發(fā)者只需要將應(yīng)用打包,生成應(yīng)用下載二維碼,這樣用戶就可以直接掃碼安裝。

兩者可以依據(jù)現(xiàn)實(shí)情況考慮,不是必要選項(xiàng)。

第二步:設(shè)置升級方案

這里面有兩種主流升級方式:依據(jù)最新版本升級方式引導(dǎo)升級,依據(jù)用戶當(dāng)前所用版本升級方式引導(dǎo)用戶升級。

依據(jù)最新版本升級方式引導(dǎo)用戶升級:不管用戶當(dāng)前所用版本,所有版本都是依據(jù)最新版的升級方式來升級的。

優(yōu)點(diǎn):引導(dǎo)性強(qiáng),可以快速引導(dǎo)全量用戶升級到最新的版本。

缺點(diǎn):影響范圍廣,比如本次新版功能只針對上個版本用戶做了bug修復(fù),需要強(qiáng)制升級,但是其他版本用戶雖然沒受到影響也需要跟著一起強(qiáng)制升級。

依據(jù)用戶當(dāng)前使用版本的升級方式引導(dǎo)用戶升級:新版發(fā)布時,為每個歷史版本配置該版本的升級模式,比如新發(fā)布2.0.0版本,為1.2.0版本配置提示升級,為1.1.0版本配置不提示升級,為1.0.0版本配置強(qiáng)制升級。

優(yōu)點(diǎn):針對性強(qiáng),可以兼容歷史版本,用戶影響范圍小。

缺點(diǎn):維護(hù)成本高,隨著版本數(shù)量增多,會存在需要維護(hù)的歷史版本多的情況所以升級方案參考了上面的兩種升級方式,采用第一種依據(jù)最新版本升級方式,但又補(bǔ)充了最小兼容版本,盡可能在用戶體驗(yàn)及維護(hù)成本中平衡,先看下用戶端的升級判斷邏輯。

提醒用戶升級方式有四種:

升級策略的觸發(fā)條件除了最新版本配置的升級方法外,考慮到了歷史版本兼容性問題,增加了最小兼容版本的這個字段,就能滿足在固定版本以前無法正常使用,需要強(qiáng)制升級的邏輯場景。

最小兼容版本就是,最新版本升級邏輯僅支持的最小版本號,小于該版本的歷史版本均采用強(qiáng)制升級,保障用戶的基本使用體驗(yàn),其余版本則遵循最新版配置的升級邏輯。

版本管理列表:

新建版本:

客戶端升級彈窗:

總結(jié):

做好一個移動端產(chǎn)品,除了需要研發(fā)新的功能滿足用戶的需求,還需要關(guān)注版本的更新迭代節(jié)奏。如何用更好的方式引導(dǎo)用戶升級,以及建立良性的迭代循環(huán)和版本兼容管理,都是值得思考的,如果更多的好的想法歡迎一起交流溝通~

 

本文由 @胡小圈兒 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

題圖來自Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 我不理解當(dāng)一個版本發(fā)布了以后,還要留著編輯按鈕的意義是什么

    來自江蘇 回復(fù)
  2. 如果我發(fā)布了2.0版本的升級規(guī)則,設(shè)置了最小兼容版本是1.5,然后我又找到1,5版本的升級規(guī)則,將其改為強(qiáng)制更新,那么問題來了,這兩個規(guī)則有沖突,該如何運(yùn)行呢?

    來自江蘇 回復(fù)
    1. 我理解1.5版本的升級規(guī)則改為強(qiáng)制更新后,代表著所有低于1.5版本的都要升級到1.5;和2.0版本的升級規(guī)則中最小兼容版本為1.5不沖突。
      但如果設(shè)置2.0版本的升級規(guī)則中最小兼容版本為1.0,此時編輯1.5版本的升級規(guī)則為強(qiáng)制更新,系統(tǒng)應(yīng)提示與現(xiàn)有升級規(guī)則沖突,這樣是不是邏輯合理了一些

      來自上海 回復(fù)
  3. 如果我發(fā)布了2.0版本的升級規(guī)則,設(shè)置了最小兼容版本是1.5,然后我又找到1,5版本的兼容規(guī)則,將其改為強(qiáng)制更新,那么問題來了,這兩個規(guī)則有沖突,該如何運(yùn)行呢?

    來自江蘇 回復(fù)
  4. 請問發(fā)布時間配置是用什么用的?

    來自上海 回復(fù)
  5. 新建版本信息客戶端為安卓的頁面有嗎?

    回復(fù)
  6. 請問后臺管理界面需要區(qū)分安裝包是安卓哪個應(yīng)用市場的嗎,所有安卓應(yīng)用市場都上傳同一個包,用戶不在應(yīng)用市場主動更新,而是通過鏈接直接安裝安裝包更新,后臺如何得知數(shù)據(jù)來源來自哪個應(yīng)用市場呢

    來自上海 回復(fù)
    1. 安卓app內(nèi)更新就可以

      回復(fù)
  7. 正要做這塊,非常感謝作者的分享

    來自湖北 回復(fù)
  8. 數(shù)據(jù)狀態(tài)指的是什么呢?

    來自北京 回復(fù)
  9. 所有的版本都會推送升級到最新版本吧?比如1.0.1(普通更新版本),1.0.2(強(qiáng)制更新版本),1.0.3(普通更新版本),1.1.0(最新版),當(dāng)前用戶的使用版本為1.0.1和1.0.3需要提示更新到1.1.0,1.0.2版本的使用用戶需要強(qiáng)制更新到1.1.0,1.1.0版本用戶就不需要更新了

    來自山東 回復(fù)
  10. 寫的很詳細(xì),受教了,有一點(diǎn)需要請教,這個最低兼容版本怎么定義
    比如:有3個版本,1.0(最低兼容版本),2.0(強(qiáng)制升級),3.0(非強(qiáng)制升級)
    3.0是最新版本
    當(dāng)前用戶是1.0,如果和最新版本去比較,那用戶是不需要升級的,但事實(shí)上不升級的話,是用不了的
    請大神指教一下!

    來自北京 回復(fù)
    1. 一下僅代表個人理解
      就你例子來講的話有三個版本,3.0是最新版本,如果1.0被設(shè)置為最低兼容版本,就代表1.0能用,用不了的話,就把最低版本設(shè)置為2.0,1.0就能強(qiáng)制更新了
      如果本人理解有誤,歡迎指正,

      來自河北 回復(fù)
    2. 親,我理解是這樣,你2.0(強(qiáng)制升級)上線時,1.0(最低兼容版本)就不可能存在了,要被強(qiáng)制升級到2.0,你看下用戶升級的流程圖

      來自廣東 回復(fù)
    3. 應(yīng)該是強(qiáng)制升級到最新版

      來自福建 回復(fù)
    4. 如果用戶在2.0版本期間沒有啟動app呢

      來自廣東 回復(fù)
    5. 判斷1.0-3.0中是否有強(qiáng)制版本,有的話必需升級

      來自湖南 回復(fù)
  11. 你好,想請教些問題,方便交流下嗎?

    來自廣東 回復(fù)
  12. 寫得很細(xì),正好是在做的功能很有幫助。有個疑問,就是版本信息里需要輸入appstore和testflight地址,這個不是一般一個app都是固定的嗎?為什么要是輸入的?

    回復(fù)
    1. 我也有這個疑問

      來自河北 回復(fù)
  13. 有一點(diǎn)沒理解透徹,在上傳新版時,只需要填寫版本號,不需要version code么,那在做版本判斷時是直接用版本號來判斷么

    來自吉林 回復(fù)
    1. 你們是界面手動維護(hù)versioncode還是系統(tǒng)自動生成

      來自廣東 回復(fù)