Expo大作戰(二十)--expo中的Release channels(不重要*)

来源:https://www.cnblogs.com/gdsblog/archive/2018/03/14/8570486.html
-Advertisement-
Play Games

簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網 我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732 ...


簡要:本系列文章講會對expo進行全面的介紹,本人從2017年6月份接觸expo以來,對expo的研究斷斷續續,一路走來將近10個月,廢話不多說,接下來你看到內容,講全部來與官網

我猜去全部機翻+個人修改補充+demo測試的形式,對expo進行一次大補血!歡迎加入expo興趣學習交流群:597732981

【之前我寫過一些列關於expo和rn入門配置的東i西,大家可以點擊這裡查看:從零學習rn開發

相關文章:

Expo大作戰(一)--什麼是expo,如何安裝expo clinet和xde,xde如何使用

Expo大作戰(二)--expo的生命周期,expo社區交流方式,expo學習必備資源,開發使用expo時關註的一些問題

Expo大作戰(三)--針對已經開發過react native項目開發人員有針對性的介紹了expo,expo的局限性,開發時項目選型註意點等

Expo大作戰(四)--快速用expo構建一個app,expo中的關鍵術語

Expo大作戰(五)--expo中app.json 文件的配置信息

Expo大作戰(六)--expo開發模式,expo中exp命令行工具,expo中如何查看日誌log,expo中的調試方式

Expo大作戰(七)--expo如何使用Genymotion模擬器

Expo大作戰(八)--expo中的publish以及expo中的link,對link這塊東西沒有詳細看,大家可以來和我交流

更多>>

接下來就開始擼碼


發佈頻道

介紹
使用Expo中的發佈渠道,通過為用戶提供URL或配置獨立應用程式,向用戶發送不同版本的應用程式。 在下列情況下您應該使用發佈渠

  1. 你有一個生產應用程式,需要一個測試環境。
  2. 您有多個版本的應用。

頻道發佈

通過運行發佈您的版本:

exp publish --release-channel <your-channel>

用exp cli。 您的用戶可以在Expo客戶端應用程式中看到此版本,並帶有參數化的URL https://exp.host/@username/yourApp?release-channel= <您的頻道>。 如果您不指定頻道,您將發佈到預設頻道。

頻道建立(Build with Channels)

通過運行構建您的獨立應用程式

exp build:ios --release-channel <your-channel>

exp build:android --release-channel <your-channel>

用exp cli。 生成的二進位文件只會提取在指定頻道下發佈的發佈。 如果您不指定頻道,則您的二進位文件將從預設頻道提取發佈。

從代碼訪問頻道

您可以使用清單對象中的releaseChannel欄位訪問發佈版本的頻道。

Expo.Constants.manifest.releaseChannel在開發模式下不存在。它確實存在,但是當你明確地發佈/構建它時(It does exist, however when you explicitly publish / build with it.)。

示例工作流程

考慮一種情況,即您有一個用於在Expo Client上進行測試的Staging堆棧,以及一個用於推送TestFlight的生產堆棧,然後將其推廣到AppStore。

在Staging堆棧上,運行exp publish --release-channel staging。您的測試用戶可以通過在URL的查詢參數中指定頻道(例如https://exp.host/@username/yourApp?release-channel=staging),然後在其中打開URL來查看應用的分期版本網頁瀏覽器,最後用Expo客戶端掃描QR碼。或者,他們可以直接在移動設備上打開該URL。

在生產堆棧上,通過運行exp publish --release-channel prod-v1釋放您的應用程式的v1版本。您可以通過運行exp build來將此版本的應用程式構建到獨立的ipa中:ios --release-channel prod-v1。您可以發佈到prod-v1頻道,將更新推送到您的應用。獨立應用程式將使用prod-v1頻道上最新的相容版本進行更新。

如果你有一個你不想讓V1用戶獲得的新版本,通過運行exp publish --release-channel prod-v2並使用exp build:ios --release-channel prod-v2構建它,發佈你的應用的第2版。使用prod-v2 ipa的用戶只會從該頻道獲取發行版。

您可以繼續使用exp publish --release-channel prod-v1更新您的應用v1,未在Apple App Store中更新到最新prod-v2 ipa的用戶將繼續接收最新的prod-v1版本。

通過ExpoKit使用發行渠道

由於exp build不適用於ExpoKit項目,因此您可以通過修改EXShell.plist(iOS)或Constants.java(Android)中的releaseChannel項來手動編輯本機項目的發佈頻道。

使用發佈渠道進行環境變數配置

環境變數不是顯式存在的,但是您可以利用發佈渠道來實現這一點!

假設你有一個釋放這樣的構建的工作流程:

  • exp publish --release-channel prod-v1

  • exp publish --release-channel prod-v2

  • exp publish --release-channel prod-v3

  • exp publish --release-channel staging-v1

  • exp publish --release-channel staging-v2

您可以創建一個函數來查找特定版本並設置正確的變數。

function getApiUrl(releaseChannel) {
  if (releaseChannel === undefined) return App.apiUrl.dev // since releaseChannels are undefined in dev, return your default.
  if (releaseChannel.indexOf('prod') !== -1) return App.apiUrl.prod // this would pick up prod-v1, prod-v2, prod-v3
  if (releaseChannel.indexOf('staging') !== -1) return App.apiUrl.staging // return staging environment variables
}

當然這一節內容還有很多,至於發佈頻道這個介紹,我也理解不透徹,大家可以轉移到官網詳細瞭解!


 

下一張繼續介紹,這一篇主要介紹了:expo中的Release channels,接下來會翻譯expo中的分離,以及分離後的項目如何部署,最後翻譯expo的sdk api,然後expo大作戰系列就終結了!歡迎大家關註我的微信公眾號,這篇文章是否被大家認可,我的衡量標準就是公

眾號粉絲增長人數。歡迎大家轉載,但必須保留本人博客鏈接!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 2 HDFS Users Guide 2 HDFS Users Guide. 1 2.1目的... 1 2.2.概述... 1 2.3.先決條件... 2 2.4. Web Interface. 2 2.5. Shell Command. 2 2.5.1 DFSAdmin 命令... 3 2.6 S ...
  • [mysql]port=3306socket=/var/lib/mysql/mysql.sockdefault-character-set = utf8mb4 [mysqld]server-id=2log-bin=mysql-bin datadir=/data/mysqlsocket=/var/li ...
  • #啟動mongo命令/data/liudi/mongodb/bin/mongo --port 27010 #顯示資料庫show dbs; #使用tps_live資料庫use tps_live; #顯示對象show tables; #刪除liveVo對象集中的數據db.liveVo.remove({} ...
  • 參考博客 "MySQL資料庫備份(linux)" "MySQL mysqldump數據導出詳解" 備份地址 https://files.cnblogs.com/files/jxner/MySQL%E6%95%B0%E6%8D%AE%E5%BA%93%E5%A4%87%E4%BB%BD%EF%BC%8 ...
  • 1、下載並安裝好FineReport9.0和SQL Server 2016 2、開始——>所有應用——>Microsoft SQL Server 2016——>SQL Server 2016 Master Data Services Configuration Manager(單擊打開) 3、創建數 ...
  • 在資料庫的運用過程中,我們時常會碰到根據身份證號碼來獲取當前的年齡,今天我在這裡寫了一個函數,就是關於獲取年齡的 下麵是函數調用的SQL語句: ...
  • SQL server數據類型 String類型: 數據類型: 描述 存儲 char(n) 固定長度的字元串。最多 8,000 個字元。定義類型為char(5),那麼就表示該類型可以存儲5個字元,即使存入2個字元,剩餘的3個字元也會用空格補齊。 Defined width varchar(n) 可變長 ...
  • 2015年以來,Android開發領域里對熱修複技術的討論和分享越來越多,同時也出現了一些不同的解決方案,如QQ空間補丁方案、阿裡AndFix以及微信Tinker(Bugly sdk也集成Tikner熱更新)和阿裡最新出品Sophix.它們在原理各有不同,適用場景各異。不過從技術上來說多數熱修複框架 ...
一周排行
    -Advertisement-
    Play Games
  • 前言 在我們開發過程中基本上不可或缺的用到一些敏感機密數據,比如SQL伺服器的連接串或者是OAuth2的Secret等,這些敏感數據在代碼中是不太安全的,我們不應該在源代碼中存儲密碼和其他的敏感數據,一種推薦的方式是通過Asp.Net Core的機密管理器。 機密管理器 在 ASP.NET Core ...
  • 新改進提供的Taurus Rpc 功能,可以簡化微服務間的調用,同時可以不用再手動輸出模塊名稱,或調用路徑,包括負載均衡,這一切,由框架實現並提供了。新的Taurus Rpc 功能,將使得服務間的調用,更加輕鬆、簡約、高效。 ...
  • 順序棧的介面程式 目錄順序棧的介面程式頭文件創建順序棧入棧出棧利用棧將10進位轉16進位數驗證 頭文件 #include <stdio.h> #include <stdbool.h> #include <stdlib.h> 創建順序棧 // 指的是順序棧中的元素的數據類型,用戶可以根據需要進行修改 ...
  • 前言 整理這個官方翻譯的系列,原因是網上大部分的 tomcat 版本比較舊,此版本為 v11 最新的版本。 開源項目 從零手寫實現 tomcat minicat 別稱【嗅虎】心有猛虎,輕嗅薔薇。 系列文章 web server apache tomcat11-01-官方文檔入門介紹 web serv ...
  • C總結與剖析:關鍵字篇 -- <<C語言深度解剖>> 目錄C總結與剖析:關鍵字篇 -- <<C語言深度解剖>>程式的本質:二進位文件變數1.變數:記憶體上的某個位置開闢的空間2.變數的初始化3.為什麼要有變數4.局部變數與全局變數5.變數的大小由類型決定6.任何一個變數,記憶體賦值都是從低地址開始往高地 ...
  • 如果讓你來做一個有狀態流式應用的故障恢復,你會如何來做呢? 單機和多機會遇到什麼不同的問題? Flink Checkpoint 是做什麼用的?原理是什麼? ...
  • C++ 多級繼承 多級繼承是一種面向對象編程(OOP)特性,允許一個類從多個基類繼承屬性和方法。它使代碼更易於組織和維護,並促進代碼重用。 多級繼承的語法 在 C++ 中,使用 : 符號來指定繼承關係。多級繼承的語法如下: class DerivedClass : public BaseClass1 ...
  • 前言 什麼是SpringCloud? Spring Cloud 是一系列框架的有序集合,它利用 Spring Boot 的開發便利性簡化了分散式系統的開發,比如服務註冊、服務發現、網關、路由、鏈路追蹤等。Spring Cloud 並不是重覆造輪子,而是將市面上開發得比較好的模塊集成進去,進行封裝,從 ...
  • class_template 類模板和函數模板的定義和使用類似,我們已經進行了介紹。有時,有兩個或多個類,其功能是相同的,僅僅是數據類型不同。類模板用於實現類所需數據的類型參數化 template<class NameType, class AgeType> class Person { publi ...
  • 目錄system v IPC簡介共用記憶體需要用到的函數介面shmget函數--獲取對象IDshmat函數--獲得映射空間shmctl函數--釋放資源共用記憶體實現思路註意 system v IPC簡介 消息隊列、共用記憶體和信號量統稱為system v IPC(進程間通信機制),V是羅馬數字5,是UNI ...