<style> .blue { color: #337AB7 !important; } .orange { color: #F7A004 !important; } .red{ color: red } .lightgray{ color: #939393 } .text-center{ text-align: center; //文字置中 } .text-size32{ font-size: 36px } </style> # Unity上架GooglePlay和AppStore ## Unity設定 ### 共同設定 #### * **非必要** ##### - 團隊名稱、遊戲名稱、Icon ![](https://i.imgur.com/6aDhq40.png) ##### - 開頭Logo動畫 ![](https://i.imgur.com/XcUGE1n.png) #### * **必要** * Identification * Package Name - 上架後就不能再更改, 通常都是用"com.[公司名稱].[遊戲名稱]" * Version - 在AppStore上會顯示的版本號 * Bundle Version Code - <span class="red">**每次更新都要不一樣**</span> ![](https://i.imgur.com/fqVrWwl.png) ###### <p class="text-center">(範例為Android 設定)</p> --- ## Android 設定 * Identification * API Level - GooglePlay 要求31以上。 * Configuration * Scripting Backend - 一定要是IL2CPP * Target Architectures: * ARMv7 * ARM64 這兩個一定要勾 ![](https://i.imgur.com/fqVrWwl.png) #### 上架要注意的設定 * Project Keystore - 簽署應用程式 * Custom Keystore - 一定要勾 [詳細請參考官方文件](https://developer.android.com/studio/publish/app-signing?hl=zh-tw) 可在Keystor Manager中,添加keystore檔案 ##### <p class="text-size32 red">Split Application Binary</p> <span class="red">這個非常重要!!</span> <span class="red">這個非常重要!!</span> <span class="red">這個非常重要!!</span> <span class="red">我花了蠻多時間在這上面(可能我笨吧)</span> 如果遊戲能保證容量在150MB以下,那就可以不用勾。 打勾後輸出出來的檔案,會產生兩個一個apk和obb。 <span class="red"> 注意: 這時候不能直接給別人apk檔案安裝, 因為obb裡也有包含遊戲內容, 但apk直接安裝會讀不到obb檔的內容。 </span> ![](https://i.imgur.com/97z0VzQ.png) ###### <span class= "lightgray">補充:Split Application Binary會將Unity專案檔拆分,apk中只會包含第一個場景內的資源及核心檔案,obb會包含著其他遊戲的檔案。</span> * Build App Bundle(Google Play) - 勾選後輸出檔會轉成aab aab無法直接給手機安裝,如果要測試可以使用Build And Run來輸出。 aab如果大於150MB沒關係,因為150MB的限制是指你第一個場景加核心檔案。 ![](https://i.imgur.com/DwiMrv9.png) 這樣輸出後就可以準備上架至GooglePlay摟~ --- ### Google Play Console 其實這邊就是缺什麼資料就補什麼資料 - 首先先建立應用程式 ![](https://i.imgur.com/HGa9Rmd.png) - 選擇要將APP上傳到哪個 (設定其實都差不多) ![](https://i.imgur.com/207CB1X.png) - 將AAB檔上傳上去 (通常檔案大小過大、金鑰錯誤、版本錯誤都會顯示在這裡) ![](https://i.imgur.com/r4dspsc.png) - 然後定義版本名稱(這邊你可以自己定義你想看到的名稱) ![](https://i.imgur.com/xewg7NI.png) 完成後就按右下角的檢查版本, 就可以準備發布了 ![](https://i.imgur.com/nIO8rYN.png) 發布後在 版本總攬 看一下, 如果有警告的話,可以點它查看狀況, (我記得會有一個缺口資料的警告,只要選一下就可以解決了) ![](https://i.imgur.com/G3f8Q13.png) #### 接下來就是討厭的填資料時間 ##### 應用程式分級 點選最底下的應用程式內容 將裡面的問題與資料都填寫完~ ![](https://i.imgur.com/tqru5C4.png) 隱私權政策(這iOS也有)可以去找[生產器](https://free.com.tw/privacy-policy-generator/) ##### 商店資訊 將主要內容跟圖示傳完即可 [線上修圖](https://www.photopea.com/) ![](https://i.imgur.com/RmrKLZ1.png) ##### 擔心少填資料 可以回到資訊主頁,他會告知你離完成還差那些東西 最後就等待審核結果, 差不多兩到三天的審核時間, 如果是更新會比較快, 差不多半天至一天。 --- ## iOS 設定 iOS主要是設定Xcode的部分, 首先讓Unity直接Build專案檔。 <span class= "orange"> 提示:iOS 上架一定要有Icon,不然會有錯誤,所以我建議在輸出成Xcode時先選好Icon。 </span> #### General * Supported Destinations 如果需要iPad也可以玩就新增,沒必要的最好刪除。 * Identity 內容跟Unity填寫的一樣就好。 (這邊我不小心有個地方沒有跟Android統一) ![](https://i.imgur.com/2jzjxFw.png) #### Signing & Capabilities * Automatically manage signing - 勾選 * Team - 選擇開發人員帳號 * Bundle Identifier - 填寫的跟上一張圖和Unity一樣 ![](https://i.imgur.com/nz6ddqg.png) 選擇Product > Scheme > Edit Scheme ![](https://i.imgur.com/mqxhPpa.jpg) * Archive Name - 填入App名稱 ![](https://i.imgur.com/FKpwIrD.png) 選擇Product > Archive 他就會開始加載檔案 ![](https://i.imgur.com/Y7IfZxf.png) 正確上來說載完就會出現個視窗, 但如果沒出現,(或手不小心關掉了) 那就從Window > Organizer 打開 ![](https://i.imgur.com/GMylqSa.png) 選好要上架的版本, 然後按下Distribute App, 接下來沒意外就是一直按下一步 ![](https://i.imgur.com/qZbeUlH.png) ![](https://i.imgur.com/KeOYyA2.png) ![](https://i.imgur.com/FK0S6wR.png) ![](https://i.imgur.com/UH7B3dN.png) ![](https://i.imgur.com/8g1dEZz.png) ![](https://i.imgur.com/CDUwTBe.png) 最後按下Upload就會自動上傳到, App Store Connect的頁面了。 --- ### App Store Connect #### 正式送審 將App資訊填寫完, 也會有隱私權等等問題。 [生產器](https://free.com.tw/privacy-policy-generator/) ![](https://i.imgur.com/H8eNDkK.png) 接下來也是截圖環節 [線上修圖](https://www.photopea.com/) ![](https://i.imgur.com/uZ7zLSO.png) 選擇上傳的版本 (大多數的東西在審核過程中可以更改,但版本不行,要改就要取消審核) ![](https://i.imgur.com/eMbIpxJ.png) 準備好後,按下右上角的新增以供審查 ![](https://i.imgur.com/Q73ZBe2.png) 再到App審查,按下提交審查 就會呈現下方的狀態 (我現在還在審也不知道要多久) ![](https://i.imgur.com/WaJNUMT.png) --- #### 測試 測試的話在TestFlight的左邊, 有內部測試,新增完後, 會出現外部測試, (內部測試需要利用信箱邀請) (外部測試則可以利用連結下載) 審核時間差不多一天左右 ![](https://i.imgur.com/WXfMiQ3.png) #### 審核問題 ``` Guideline 2.1 - Information Needed We’re looking forward to completing the review of your app, but we need more information to continue. Next Steps Please provide detailed answers to the following questions in your reply to this message in App Store Connect: - What is the purpose and the main scope of the app? - What are the main app features? - Who is the target audience and how could the users benefit from using the app? Guideline 2.3.8 - Performance - Accurate Metadata We noticed that the app name to be displayed on the App Store and the app name displayed on the device do not sufficiently match, which makes it difficult for users to find the app they just downloaded. The app names are: - Name on the App Store: 打擊垃圾車 - Name displayed on the device: BlowGame Next Steps To resolve this issue, please change one or both names so they are more similar and the user can easily locate the app they just downloaded. It is important not to change your Bundle Identifier, which is used to uniquely identify your app in the App Store. Changing the Bundle Identifier will prevent users from upgrading and will effectively introduce a new app rather than an update. Resources For information on how to revise your device name, please review Technical Q&A QA1823: Updating the Display Name of Your App and Technical Q&A QA1892: Making the app name displayed on a device consistent with the name in iTunes Connect. For information on changing the app name and other metadata in App Store Connect, please review the View and edit app information section of App Store Connect Developer Help. For resources on selecting a memorable and unique app name, you may want to review the App Store Product Page information available on the Apple Developer website. Guideline 5.1.1 - Legal - Privacy - Data Collection and Storage We noticed that your app requests the user’s consent to access the camera, but doesn’t sufficiently explain the use of the camera in the purpose string. To help users make informed decisions about how their data is used, permission request alerts need to explain and include an example of how your app will use the requested information. Next Steps Please revise the purpose string in your app’s Info.plist file for the camera to explain why your app needs access and include an example of how the user's data will be used. You can modify your app's Info.plist file using the property list editor in Xcode. Resources - See examples of helpful, informative purpose strings. - Review a list of relevant property list keys. Please see attached screenshot for details. ``` 解決方法: - Guideline 2.1 - 在這個審核底下有個回覆審核,回覆他所問的問題。 - Guideline 2.3.8 - 更改成相似名稱就可以了(Google翻譯也行) - Guideline 5.1.1 - 去修改`Info.plist`檔案, 例如:我的是相機問題,就是新增或是更改`Privacy - Camera Usage Description`,將他寫的更仔細。 # 總結 Google Play審核速度快,但在檔案上面要求的比較多,可能還會需要改到專案的資料拆分。 App Store Connect審核比較久,但只要輸出正常,就可以很順利的上架。