国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
步驟1:設置一個值得信賴的網(wǎng)絡活動
在Android Studio中創(chuàng)建一個新的TWA項目
添加TWA支持庫
在Android應用清單中提供應用程序詳細信息
步驟2:驗證網(wǎng)站與應用程序之間的關係
步驟3:獲取所需資產(chǎn)
步驟4:發(fā)佈到Google Play!
恭喜,您的應用在Google Play中!
首頁 web前端 css教學 如何將進步的Web應用程序進入Google Play商店

如何將進步的Web應用程序進入Google Play商店

Apr 21, 2025 am 11:10 AM

如何將進步的Web應用程序進入Google Play商店

PWA(Progressive Web應用程序)已經(jīng)與我們在一起了一段時間。但是,每次我嘗試向客戶解釋時,同樣的問題都會彈出:“我的用戶可以使用應用商店安裝應用程序嗎?”傳統(tǒng)上,答案是否定的,但是Chrome 72發(fā)生了變化,它發(fā)了一項名為TWA(可信賴的網(wǎng)絡活動)的新功能。

受信任的Web活動是一種使用基於自定義選項卡的協(xié)議將您的Web應用程序內(nèi)容(例如PWA)與您的android應用程序集成的新方法。

在本文中,我將使用Netguru現(xiàn)有的PWA(Wordguru),並逐步說明需要做些什麼才能使應用程序可用並準備直接從Google Play App Store中安裝。

我們在這裡介紹的某些內(nèi)容對那裡的任何Android開發(fā)人員都可能很愚蠢,但是本文是從前端開發(fā)人員的角度寫的,尤其是那些從未使用過Android Studio或創(chuàng)建Android應用程序的文章。另外,請注意,由於它僅限於Chrome 72,因此我們在這裡涵蓋的許多內(nèi)容仍然非常實驗。

步驟1:設置一個值得信賴的網(wǎng)絡活動

設置TWA並不需要您編寫任何Java代碼,但是您需要擁有Android Studio。如果您以前開發(fā)了iOS或Mac軟件,那麼這很像Xcode,因為它提供了一個旨在簡化Android開發(fā)的開發(fā)環(huán)境。因此,抓住它,在這裡見我。

在Android Studio中創(chuàng)建一個新的TWA項目

您得到了Android Studio嗎?好吧,我實際上聽不到或見到你,所以我假設你做到了。繼續(xù)打開它,然後單擊“啟動新的Android Studio項目”。從那裡,讓我們選擇“不添加活動”選項,使我們能夠配置項目。

配置相當簡單,但是知道什麼是什麼總是很高興的:

  • 命名應用程序的名稱(但我敢打賭,您知道)。
  • 軟件包名稱: Play商店中的Android應用程序標識符。它必須是唯一的,因此我建議以相反順序使用PWA的URL(例如com.netguru.wordguru)。
  • 保存位置:該項目將在本地存在。
  • 語言:這使我們能夠選擇一種特定的代碼語言,但是不需要這一點,因為您知道,我們的應用程序已經(jīng)編寫了。我們可以將其留在Java,這是默認選擇。
  • 最小API級別:這是我們正在使用的Android API的版本,並且支持庫(下一步我們將介紹)。讓我們使用API?? 19。

這些選項下面有很少的複選框。這些對我們來說是無關緊要的,因此請將它們?nèi)糠胖?,然後繼續(xù)完成。

添加TWA支持庫

Twa s需要一個支持庫。好消息是,我們只需要修改兩個文件即可填寫該要求,並且兩個都活在同一項目目錄中:Gradle腳本。兩者都被命名為build.gradle,但是我們可以通過查看括號中的描述來區(qū)分哪個。

有一個名為Jitpack的Git軟件包經(jīng)理,專門為Android應用程序製作。它非常健壯,但最重要的是,它使發(fā)布我們的Web應用程序變得輕而易舉。這是一項付費服務??,但我想說,如果這是您第一次進入Google Play商店,這是值得的。

編輯器注意:這不是Jitpack的讚助插件。值得呼喚,因為這篇文章幾乎不熟悉Android應用程序或向Google Play提交應用程序,並且在管理直接連接到商店的Android App Repo的摩擦較小。也就是說,這完全不是必需的。

進入Jitpack後,讓我們將我們的項目連接到它。打開該build.gradle(project:wordguru)文件,我們剛剛查看並告訴它為應用程序存儲庫查看jitpack:

 AllProjects {
  存儲庫{
    ...
    maven {url'https://jitpack.io'}
    ...
  }
}

好的,現(xiàn)在讓我們打開其他build.gradle文件。在這裡,我們可以添加該項目的任何必要依賴項,並且確實有一個:

 // build.gradle(模塊:應用程序)

依賴項{
  ...
  實現(xiàn)'com.github.googlechrome:custom-tabs-client:a0f7418972'
  ...
}

TWA庫使用Java 8功能,因此我們需要啟用Java 8。為此,我們需要在同一文件中添加編譯:

 // build.gradle(模塊:應用程序)

安卓 {
  ...
  compileoptions {
    Sourcecepatibility Javaversion.version_1_8
    targetCompatibility Javaversion.version_1_8
  }
  ...
}

我們還將在下一節(jié)中介紹稱為Subtestplaceplaceholder的變量?,F(xiàn)在,讓我們添加以下內(nèi)容以定義應用程序的託管位置,默認URL和應用程序名稱:

 // build.gradle(模塊:應用程序)

安卓 {
  ...
  DefaultConfig {
    ...
    清單持有人= [
      主機名:“ wordguru.netguru.com”,
      defaulturl:“ https://wordguru.netguru.com”,
      啟動名稱:“ Wordguru”
    這是給出的
    ...
  }
  ...
}

在Android應用清單中提供應用程序詳細信息

每個Android應用都有一個Android應用清單(AndroidManifest.xml),該應用程序提供了有關應用程序的基本詳細信息,例如與其與操作系統(tǒng)相關的操作系統(tǒng),包裝信息,設備兼容性以及許多其他幫助Google Play顯示應用程序要求的內(nèi)容。

我們在這裡真正關心的是活動()。這就是實現(xiàn)用戶界面的原因,並且是“可信賴的網(wǎng)絡活動”中“活動”所必需的。

有趣的是,我們在Android Studio中設置項目時選擇了“無活動”選項,這是因為我們的清單是空的,並且僅包含應用標籤。

讓我們首先打開manfifest文件。我們將用我們自己的應用程序ID和標籤替換現(xiàn)有的軟件包名稱,並用上一節(jié)中定義的清單持有人變量的值替換。

然後,我們將通過在標籤中添加標籤來實際添加TWA活動。

<!-- manifests/AndroidManifest.xml -->

 //突出顯示

  

     //突出顯示

      <meta-data android android.support.customtabs.trusted.default_url></meta-data> //突出顯示

      <!-- This intent-filter adds the TWA to the Android Launcher -->
      <intent-filter>
        <action android android.intent.action.main></action>
        
      </intent-filter>

      <!--
        This intent-filter allows the TWA to handle Intents to open
        our hostName
        -->
      <intent-filter android true>
        <action android android.intent.action.view></action>
        
        
         //突出顯示
      </intent-filter>
    
  

我的朋友們是第1步。讓我們繼續(xù)前進。

步驟2:驗證網(wǎng)站與應用程序之間的關係

TWA需要在Android應用程序和PWA之間建立連接。為此,我們使用數(shù)字資產(chǎn)鏈接。

連接必須在兩端設置,其中TWA為應用程序,而PWA是網(wǎng)站。

為了建立這種聯(lián)繫,我們需要再次修改清單持有人。這次,我們需要添加一個稱為AssetStatements的額外元素,以保留有關PWA的信息。

 // build.gradle(模塊:應用程序)

安卓 {
  ...
  DefaultConfig {
    ...
    清單持有人= [
      ...
      AssetStatements:'[{“ Relation”:[“ delegate_permission/common.handle_all_urls”],'  
        '“ target”:{“命名空間”:“ web”,“站點”:“ https://wordguru.netguru.com”}}}}}'''
      ...
    這是給出的
    ...
  }
  ...
}

現(xiàn)在,我們需要在應用程序標籤中添加一個新的元數(shù)據(jù)標籤。這將告知我們要建立與清單持有人指定的申請的聯(lián)繫的Android應用程序。

<!-- manifests/AndroidManifest.xml -->



  <application>
    ...
      <meta-data android asset_statements></meta-data>
    ...
  </application>

就是這樣!我們剛剛建立了網(wǎng)站關係的申請。現(xiàn)在,讓我們跳入網(wǎng)站轉(zhuǎn)換為應用程序。

為了在相反的方向上建立連接,我們需要創(chuàng)建一個.json文件,該文件將在應用程序 /.well-newonn/assetlinks.json路徑中可用??梢允褂肁ndroid Studio內(nèi)置的生成器來創(chuàng)建該文件???,我告訴您Android Studio有助於簡化Android開發(fā)!

我們需要三個值來生成文件:

  • 託管站點域:這是我們的PWA URL(例如https://wordguru.netguru.com/)。
  • 應用程序包名稱:這是我們的TWA軟件包名稱(例如Com.netguru.wordguru)。
  • App軟件包指紋(SHA256):這是基於Google Play商店密鑰庫生成的唯一加密哈希。

我們已經(jīng)有了第一和第二值。我們可以使用Android Studio獲得最後一個。

首先,我們需要生成簽名的APK。在Android Studio中,轉(zhuǎn)到:構(gòu)建→生成簽名的捆綁包或APK→APK 。

接下來,如果您已經(jīng)有一個,請使用現(xiàn)有的密鑰庫。如果您需要一個,請首先轉(zhuǎn)到“創(chuàng)建新……”。

然後讓我們填寫表格。請務必記住這些憑據(jù),因為這些憑據(jù)是將要簽署的應用程序,並確認您對申請的所有權(quán)。

這將創(chuàng)建一個生成應用程序包指紋(SHA256)所需的密鑰庫文件。該文件非常重要,因為它可以作為證明您是應用程序的所有者。如果此文件丟失,您將無法對商店中的應用程序進行任何進一步的更新。

接下來,讓我們選擇捆綁包的類型。在這種情況下,我們選擇“發(fā)布”,因為它為我們提供了生產(chǎn)捆綁包。我們還需要檢查簽名版本。

這將生成我們的APK,稍後將用於在Google Play商店中創(chuàng)建版本。創(chuàng)建密鑰庫後,我們可以使用它來生成所需的應用程序包指紋(SHA256)。

讓我們回到Android Studio,然後轉(zhuǎn)到工具→應用鏈接助理。這將打開一個側(cè)邊欄,該側(cè)邊欄顯示了在應用程序和網(wǎng)站之間建立關係所需的步驟。我們想進入步驟3,“聲明網(wǎng)站協(xié)會”並填寫所需的數(shù)據(jù):站點域和應用程序ID。然後,選擇上一步中生成的密鑰庫文件。

填寫表單後,按“生成數(shù)字資產(chǎn)鏈接文件”,將生成我們的AssetLinks.json文件。如果我們打開它,它應該看起來像這樣:

 [{{
  “關係”:[“ delegate_permission/common.handle_all_urls”],
  “目標”: {
    “名稱空間”:“ android_app”,
    “ package_name”:“ com.netguru.wordguru”,
    “ SHA256_CERT_FINGERPRINTS”:[8a:f4:........:29:28“]
  }
]]

這是我們需要在應用程序 /.well-newone /assetlinks.json路徑中提供的文件。我不會描述如何使其在該路徑上可用,因為它過於特定於項目,並且超出了本文的範圍。

我們可以通過單擊“鏈接並驗證”按鈕來測試關係。如果一切順利,我們將獲得“成功!”的確認。

耶!我們已經(jīng)在我們的Android應用程序和PWA之間建立了雙向關係。一切都從這裡下坡,所以讓我們開回家。

步驟3:獲取所需資產(chǎn)

Google Play需要一些資產(chǎn)來確保該應用在商店中很好地顯示。具體來說,這就是我們需要的:

  • 應用圖標:我們需要各種尺寸,包括48×48、72×72、96×96、144×144、192×192…或我們可以使用自適應圖標。
  • 高分辨率圖標:這是整個商店中使用的512×512 PNG圖像。
  • 功能圖形:這是Google Play在應用程序詳細信息視圖上使用的1024×500 JPG或24位PNG(無alpha)橫幅。
  • 屏幕截圖: Google Play將使用這些屏幕截圖來展示用戶在下載之前可以查看的應用程序的不同視圖。

擁有所有這些,我們可以進入Google Play商店開發(fā)人員控制臺並發(fā)布應用程序!

步驟4:發(fā)佈到Google Play!

讓我們轉(zhuǎn)到最後一步,最後將我們的應用推到商店。

使用我們之前生成的APK(位於AndroidStudioprojects目錄中),我們需要轉(zhuǎn)到Google Play控制臺以發(fā)布我們的應用程序。我不會描述在商店中發(fā)布應用程序的過程,因為嚮導使它變得非常簡單,並且在整個過程中提供了分步指導。

審查和批準該應用程序可能需要幾個小時,但是當它的申請最終出現(xiàn)在商店中。

如果找不到APK,則可以通過構(gòu)建→生成簽名的捆綁包 / apk→構(gòu)建APK ,傳遞我們現(xiàn)有的密鑰庫文件並填充我們生成密鑰庫時使用的別名和密碼來創(chuàng)建一個新的APK。生成APK後,應出現(xiàn)通知,您可以通過單擊“定位”鏈接來獲取文件。

恭喜,您的應用在Google Play中!

就是這樣!我們只是將PWA推到Google Play商店。這個過程並不像我們想要的那樣直觀,但是儘管如此,當您看到您的應用在野外顯示時,它絕對可以做到,並且相信我,它在最後會填充。

值得指出的是,此功能仍然是非常早期的階段,我認為它在一段時間內(nèi)進行了實驗。我建議您暫時使用您的應用程序的生產(chǎn)版本,因為這僅適用於Chrome 72及更高版本 - 此之前的任何版本都可以安裝該應用程序,但是該應用程序本身將立即崩潰,這不是最佳的用戶體驗。

此外,官方發(fā)布Custom-Tabs-client尚未支持TWA。如果您想知道為什麼我們使用RAW GITHUB鏈接而不是官方圖書館版本,那就是原因。

以上是如何將進步的Web應用程序進入Google Play商店的詳細內(nèi)容。更多資訊請關注PHP中文網(wǎng)其他相關文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔相應的法律責任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅(qū)動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

什麼是'渲染障礙CSS”? 什麼是'渲染障礙CSS”? Jun 24, 2025 am 12:42 AM

CSS會阻塞頁面渲染是因為瀏覽器默認將內(nèi)聯(lián)和外部CSS視為關鍵資源,尤其是使用引入的樣式表、頭部大量內(nèi)聯(lián)CSS以及未優(yōu)化的媒體查詢樣式。 1.提取關鍵CSS並內(nèi)嵌至HTML;2.延遲加載非關鍵CSS通過JavaScript;3.使用media屬性優(yōu)化加載如打印樣式;4.壓縮合併CSS減少請求。建議使用工具提取關鍵CSS,結(jié)合rel="preload"異步加載,合理使用media延遲加載,避免過度拆分與復雜腳本控制。

外部與內(nèi)部CSS:最好的方法是什麼? 外部與內(nèi)部CSS:最好的方法是什麼? Jun 20, 2025 am 12:45 AM

thebestapphachforcssdepprodsontheproject'sspefificneeds.forlargerprojects,externalcsSissBetterDuoSmaintoMaintainability andReusability; forsMallerProjectsorsingle-pageApplications,InternaltCsmightBemoresobleable.InternalCsmightBemorese.it.it'sclucialtobalancepopryseceneceenceprodrenceprodrenceNeed

我的CSS必須在較低的情況下嗎? 我的CSS必須在較低的情況下嗎? Jun 19, 2025 am 12:29 AM

否,CSSDOESNOTHAVETOBEINLOWERCASE.CHOMENDENS,使用flowercaseisrecommondendendending:1)一致性和可讀性,2)避免使用促進性技術(shù),3)潛在的Performent FormanceBenefits,以及4)RightCollaboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraboraborationWithInteams。

CSS案例靈敏度:了解重要的 CSS案例靈敏度:了解重要的 Jun 20, 2025 am 12:09 AM

cssismostlycaseminemintiment,buturlsandfontfamilynamesarecase敏感。 1)屬性和valueslikeColor:紅色; prenotcase-sensive.2)urlsmustmustmatchtheserver'server'scase,例如

什麼是AutoPrefixer,它如何工作? 什麼是AutoPrefixer,它如何工作? Jul 02, 2025 am 01:15 AM

Autoprefixer是一個根據(jù)目標瀏覽器範圍自動為CSS屬性添加廠商前綴的工具。 1.它解決了手動維護前綴易出錯的問題;2.通過PostCSS插件形式工作,解析CSS、分析需加前綴的屬性、依配置生成代碼;3.使用步驟包括安裝插件、設置browserslist、在構(gòu)建流程中啟用;4.注意事項有不手動加前綴、保持配置更新、非所有屬性都加前綴、建議配合預處理器使用。

什麼是CSS計數(shù)器? 什麼是CSS計數(shù)器? Jun 19, 2025 am 12:34 AM

csscounterscanautomationallymentermentermentections和lists.1)usecounter-ensettoInitializize,反插入式發(fā)芽,andcounter()orcounters()

CSS:何時重要(何時不)? CSS:何時重要(何時不)? Jun 19, 2025 am 12:27 AM

在CSS中,選擇器和屬性名不區(qū)分大小寫,而值、命名顏色、URL和自定義屬性則區(qū)分大小寫。 1.選擇器和屬性名不區(qū)分大小寫,例如background-color和Background-Color相同。 2.值中的十六進制顏色不區(qū)分大小寫,但命名顏色區(qū)分大小寫,如red有效而Red無效。 3.URL區(qū)分大小寫,可能導致文件加載問題。 4.自定義屬性(變量)區(qū)分大小寫,使用時需注意大小寫一致。

什麼是圓錐級函數(shù)? 什麼是圓錐級函數(shù)? Jul 01, 2025 am 01:16 AM

theconic-Gradient()functionIncsscreatesCircularGradientsThatRotateColorStopSaroundAcentralPoint.1.IsidealForPieCharts,ProgressIndicators,colordichers,colorwheels和decorativeBackgrounds.2.itworksbysbysbysbydefindefingincolordefingincolorstopsatspecificains off.

See all articles