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
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...