App開發一般分為兩個階段,開發調試階段和發布量產階段。友好的開發模式是將這兩個階段的數據隔離開來,避免相互干擾。由此應運而生了App的測試版和正式版。本章節主要介紹自有App測試版與正式版的區別。
測試版與正式版的區別
自有App的測試版和正式版,對應的是兩套獨立的環境,即測試環境和正式環境,兩套環境的數據彼此隔離。簡單理解,測試版主要用于開發期間的設備調試;正式版主要供終端用戶使用。兩者詳細的區別如下。
- 安全圖片不同
開發同一個App,開發者可以在控制臺下載兩張安全圖片,分別對應測試版和正式版。兩張安全圖片里存儲著兩個不同的AppKey。平臺通過AppKey來區分App的版本,從而返回不同的數據給測試版或正式版App。
- API Level 8
中國站 國際站 yw_1222_china_production.jpg yw_1222_oversea_production.jpg - API Level 7及以下
站點 測試版 正式版 中國版 yw_1222_china_develop.jpg yw_1222_china_production.jpg 國際版 yw_1222_oversea_develop.jpg yw_1222_oversea_production.jpg
說明 安全圖片請勿重命名,否則會導致SDK初始化失敗。請您下載后直接放到App代碼工程下。 - API Level 8
- 移動推送證書不同
如果App需要使用移動推送功能,則需要分別配置測試版與發布版的推送證書。詳細操作參見移動應用推送開發指南。
- iOS
- Android
- 賬號隔離
測試版App與正式版App,彼此的賬號數據相互隔離。使用同一個手機或者郵箱登錄時,需要分別在測試版App和正式版App中注冊。
- 設備隔離
測試版App與正式版App,彼此綁定的設備相互隔離。使用同一個手機或者郵箱登錄時,需要分別在測試版App和正式版App中綁定設備(對于App而言,等同于用不同的賬號綁定設備),并且兩者綁定的設備類型也不同,區別如下。
- 測試版App只能配網綁定處于調試階段(產品處于未發布狀態)的設備
- 正式版App只能配網綁定處于量產階段(產品處于已發布狀態)的設備
切換測試版與正式版的配置項如下。
- Android
IoTSmart.InitConfig initConfig = new IoTSmart.InitConfig() .setProductEnv(IoTSmart.PRODUCT_ENV_PROD) // 設置自有App的版本,PRODUCT_ENV_DEV表示測試版,PRODUCT_ENV_PROD表示正式版
- iOS
#import <IMSIotSmart/IMSIotSmart.h> config.appType = APP_TYPE_PRODUCTION; // 設置自有App的版本,APP_TYPE_PRODUCTION表示測試版,APP_TYPE_DEVELOP表示正式版
開發者建議
基于自有App測試版與發布版的區別,建議在開發自有App時注意以下幾點。
- 配置App包名時,建議測試版與正式版使用同樣的包名,便于App在測試版與發布版之間切換。
- 開發App時,測試版跟正式版建議使用同一個代碼工程,當App要正式發布時,只需要替換正式版的安全圖片即可。
- 替換測試版/正式版的安全圖片后,建議清除代碼工程的緩存后再調試,以免因緩存造成問題。