- 進入 Android Studio 選 File - New - New Project... 開始一個新的專案, 選 Empty Activity 按 Next

照下圖填寫, 按 Finish

此時如果發生錯誤 ERROR: Manifest merger failed with multiple errors
打開 Gradle Scripts 的第二個檔, 並從現有的 App 複製 dependencies 裡前六行, 按 Try Again 即可


- 打開 AndroidManifest.xml 從現有的 App 複製全部內容過來, 修改套件名稱(在最前面)以及綁定的 URL Scheme


- 到 activity_main.xml 點 Design 頁, 將 "Hello world" 刪除

點 Widgets 找到 WebView 用滑鼠拉到右邊手機裡放開, 選功能表 File - Save All

點 Text 頁, 並從現有的 App 複製下圖這三行過來

打開 style.xml, 從現有的 App 複製整個內容過來, 不用修改

打開 strings.xml, 輸入中文名稱

- Google 規定如果 App 以包覆一個網頁為主, 開發者必須擁有該網頁的控制權, 證明的方法是
以開發者的身份登入 Google Search Console 將網域加入資源
下載驗證檔放到包覆的網站根目錄中, 再進行驗證, 否則可能會被退件
- 在左邊 res 按右鍵 - New - Android Resource File

檔名 network_security_config 類型 XML, Root element 輸入 network-security-config 如下圖

內容從現有 App 複製: (修改其中的網域, 就是要包覆址的網域部份)
(如果要限制只能瀏覽 https 網頁, 只要將 cleartextTrafficPermitted 值設為 false 即可)

- Android Studio 預設會使用小綠人作為應用程式圖示, 要改變圖示的話, 選 File - New - "Image Asset"
上面選第一項 Launcher Icons, Asset Type 選 Image, 然後就選一張圖片給它, 按 Next - Finish 即可

再選一次 New Image Asset, Icon Type 選 Notification Icons(推播用圖示), 選一張圖片給它, 按 Next - Finish
(推播圖示只能有一個"形狀", 背景用透明, 可以請美工幫忙做)

- 打開 MainActivity.java 從現有 App 複製整個內容, 修改包覆網址, 以及兩處套件名稱


- 登入 Firebase 後控台, 選擇與 iOS 使用的同一個"專案", 按加號, 選 Android 圖案

輸入套件名稱, 按"註冊應用程式"

按一下"下載 google-services.json"將檔案存起來, 然後按"繼續" - "繼續" - "前往後控台"

Firebase 需要用到兩個 packages, 打開您的 Android SDK Manager 確定下圖這兩個 packages 有沒有安裝?

- 將前面下載的那個 json 檔放到您 Android Studio 專案資料夾底下的 app 子資料夾裡:

修改 build.gradle 檔, 特別注意它有兩個, 先打開第一個, 加入兩行(從現有 App 複製)

第二個 build.gradle 檔, 照下圖中修改(程式碼一樣複製現有 App), 加好之後, 按一下右上方 "Sync Now"

- 在專案結構的 java 底下第一個套件名稱按滑鼠右鍵, 選 New - Java Class

檔名輸入 MyFirebaseMessagingService 再按 OK

內容一樣複製現有 App, 特別注意有兩處套件名稱要修改一下

- 要編譯前必須先設"指紋", 從功能表選 Build - Generate Signed APK...

按 Next

點 Choose existing...選取指紋檔 Fuoco.jks 輸入指紋檔密碼, Key alias 點右邊"資料夾圖案"產生新的指紋

取名稱, 設指紋密碼, 姓名必填, 按 OK, 再按一次 OK
(同一個 App 若要換新版, 編譯出來的 apk 必須有相同指紋, 也就是使用同一個 .jks 及 alias)

按 Next

選 release 再按 Finish

- 在 Project 視窗的 app 按滑鼠右鍵選 Open Module Settings

上方選 Signing Configs, 按一下加號, 輸入 congfig 按 OK, 如下圖

指紋檔、密碼以及指紋、密碼跟前一步驟設的一樣, 按 Apply

上面選 Default Config 依下圖輸入, 最後按 OK(如果要安裝新的 SDK 版本, 在 Tools - SDK Manager)

- 從功能表選 Build - Select Build Variant... 左下會出現一個小視窗
Variant 先停在 debug, 選 Build - Build Bundle(s) / APK(s) - Build APK(s)
幾秒後會在專案資料夾的 app/build/outputs/apk/debug 中出現一個 .apk 檔
我通常將它上傳到 app@wizards.com.tw 的雲端硬碟, 分享網址供安裝測試及截圖(送審用)
將 Variant 改選 release, 選 Build - Build Bundle(s) / APK(s) - Build Bundle(s)
會在專案資料夾的 app/build/outputs/bundle/release 中出現一個 .aab 檔用來上架
- 登入開發者後台, 點右側"建立應用程式", 依下圖填寫

- 有四頁表單要填寫: 正式版、主要商店資訊、商店設定、應用程式內容
- 應用程式內容, 裡面有 11 個問題, 一一點選"提出聲明"回答
政府應用程式"否"、輸入隱私權政策網址、廣告"否"、應用程式存取權選"我的應用程式本身或當中部分功能設有存取限制"
然後點"新增操作說明", 第一項輸入 test 即可, 下面輸入試用帳號密碼, 最底下"不需其他資訊即可存取我的應用程式"打勾
內容分級點"開始填寫問卷", 輸入 E-mail 選"所有其他應用程式類型", 下一步全部選"否", 選"儲存", 按下一步
目標對象和內容選"18歲以上", 否可能會引起兒童的興趣選"會"
新聞應用程式"否"、COVID-19 應用程式選"我的應用程式不是公開發布的 COVID-19 ....."
資料安全性"否"、廣告 ID"否"、金融功能勾最後一項"我的應用程式未提供任何金融功能"
- 主要商店資訊: 簡短說明輸入"專為家長及幼兒園老師 設計 製作的資訊交換工具"
完整說明必填, 應用程式圖示用 512x512, 主題圖片 1024x500, 手機截圖任何安卓手機皆可, 平板截圖非必要
- 商店設定: 應用程式或遊戲選"應用程式"、類別選"教育"、聯絡資料輸入 E-mail(另兩欄非必要)、
- 正式版: 國家/地區全選、儲存, 按右上方建立新版本, 點"選擇簽署金鑰" - "使用 Google 產生的金鑰"
然後點"上傳"把前面編譯的 .aab 檔上傳, 按下一步、儲存
最後選"發佈總覽", 按送審即可
- 上架成功後, 若要取消發佈, 選"商店發佈" - "定價與發佈" - 應用程式適用國家/地區"解除發佈" - "提交更新"
- 更新版本注意事項
- 後台"應用程式內容"裡填的試用帳密能否登入? App內容頁面與截圖是否相符?
- Android Studio 打開專案, 版本號增加, build 至少 +1
2023 年 10 月以前的 App 還沒有 URL Scheme, 綁定方法參考 步驟 2
- 編譯 .aab 檔, 後台點"正式版" - 建立新版本 - 上傳 .aab 檔, 儲存送審即可