APP上線全記錄 - 4種APP上線會遇到的問題

更新 發佈閱讀 9 分鐘
raw-image

如果你還沒有看過「APP誕生全紀錄」,建議可以先去複習一下。

今天當你完成了你心目中完美的作品,迫不及待的想要放到商店上讓大家下載使用,卻沒想到是噩夢的開始?!從上架前的審查,到上架後的各種問題浮現,讓你焦頭爛額了嗎?這裡和你分享一下4種在APP「上線期」會遇到的問題和解決方法,讓你上線沒煩惱。


第一種:審查

這是在上架前最先遇到的問題,網路上也佈滿各種血淋淋的案子可以觀摩。

Android

自動審查+(人工?),相對輕鬆簡單,只要把APP內相關資訊填對,並且自動驗證中沒有錯誤項目,基本上很快就過了。這裡建議最好將警告項目也一併修正。

要注意的是,version nameversion code (build) 是不同的東西,PlayStore看的是build,而且不能覆蓋或是刪除,如果上傳到重複的build會在上傳完成後才顯示失敗,浪費整個上傳時間,所以建議上傳前檢查一下。

補充個小知識,大部分軟體版本制定會遵照Semantic Versioning (語意化版本號)。
<major> . <minor> . <patch> + <build>
major是主版號,進版表示版本內包含了不相容的 API 修改
minor是次版號,進版表示版本內包含了向下相容的功能性新增
patch是修訂號,進版表示版本內包含了向下相容的問題修正

所以如果版本號如下
3.1.2+10
PlayStore看的就是10這個version code (build)
PlayStore商店頁面給使用者看到的是3.1.2這個version name

iOS

主要為人工審查,可以看這裡洋洋灑灑的一堆規範(Review Guidelines),以下為我在上架前就先查過網路上前輩們比較常發生的拒絕原因。

  1. Crash
    簡言之就是不能在運行中有程序崩潰的狀況發生,我認為這是開發者本來就應該要有的最低責任。
  2. OAuth
    第三方登入,也就是常看到的google / facebook等等的登入,用以快速登入取代重新申請帳號。APPLE表示:「我也有支援第三方登入,只要APP有開放其他登入方式,我就要分一杯羹被支援」(設計對白)。所以啦,如果有支援OAuth功能的話,要記得也要加入APPLE 登入功能。
  3. 相容性
    這一個項目是表示各種版本和尺寸的支援性都要足夠,最好是連iPad的尺寸都一併支援,這樣就一定沒問題啦。
  4. In-App-Purchase (IAP)
    這項目是APPLE的金庫來源,除了審核非常嚴謹之外,會一併檢視APP內是否有任何引導〈外部購買〉的機制或舉動;例如販賣一個產品但卻引導到第三方的信用卡金流系統去付費,這肯定會讓蘋果氣得直跳腳,畢竟你居然膽敢不付蘋果萬萬稅。所以只要有販賣虛擬商品或功能的,就必須得乖乖使用IAP,並且繳納30% / 15%的蘋果奢侈稅。
  5. 隱私權政策
    APP中必須提供相關隱私權政策及使用者協議的資料內容。
  6. 使用者生成內容 (UGC)
    如果你今天開發的APP是讓使用者可以創造、分享、上傳內容,例如社群軟體、交友軟體,就必須要提供佐證你可以控管使用者發佈的內容,例如使用者可以舉報、刪除,管理者有權限可以處置等等。我個人覺得這也算是相當合理的一條規範啦,畢竟你提供了這個APP,本身就有義務去維護這個環境,避免成為犯罪者的溫床或垃圾場。
「聖經種子」當初在上架前已經完成上述的已知可能拒絕原因,但我們實際上還是被以下3種原因各拒絕了一次。
2.1 Performance - App Completeness
3.1.1 Business - Payments - In-App Purchase
3.2.2 Business - Payments - Subscriptions
– A functional link to the Terms of Use (EULA)
– A functional link to the privacy policy


第二種:APP Signing KEY

這個部份就是Android內很深很深的坑了,因為Android在使用到第三方的時候會需要提供對應的APP signing KEY (非對稱加密的公鑰),用來確保使用端的設備。一般在編譯時會區分Debug和Release Key,這些都要加入到第三方的簽署中,如果在開發者平台上有開啟PlayStore APP Signing,在上傳到PlayStore後會幫你自動重新簽署(參考)。

raw-image

問題就出在這裡!!!

平常在開發的時候第三方 (例如Firebase) 一切都非常正常,功能也完整,但真的上架到商店內下載後卻發現一切都變了,就是因為這個KEY。但這很容易被忽略,因為平常自行發佈測試的APK使用的是自己簽署的APP KEY,所以不會出事,只有真的從PlayStore下載的才會使用被重新簽署過的APP KEY,在發生問題的當下也很難察覺出問題。所以要記得將PlayStore上自動簽暑的APP Signing KEY發佈到各相關第三方平台去,才不會造成瞬間掉入地獄的錯愕。


第三種:第三方平台

第三方的狀況和APP Signing KEY有一點像,在上架前最好找一個獨立的使用者(非開發者且非測試人員) 來安裝測試,避免不可預期的錯誤在上架後才發現,也需要隨時關注使用者的回饋來了解狀況。

在這個例子中,我們上架後遇到了Facebook登入的異常,原因是因為Facebook登入的審查也很嚴謹,如果APP還沒上架,是不能開啟 "上線模式" 的,只能使用 "開發者模式"。在開發者模式中,只有限定的帳號可以登入,這導致我們開發時和測試期都很正常,但真的上線後就收到如雪片般飛來的問題回報 - Facebook無法登入。當下我們趕緊將功能開啟。

但當然沒有這麼簡單!

過沒多久就收到Facebook的通知表示有部分驗證失效,違反了他們的政策,所以又立馬把我們關閉。這時後只好趕緊把已知的問題想辦法修復,第一次的問題是發現URL驗證沒過,找了找說明,似乎是要在隱私權政策的網域下放入app-ads.txt來驗證該網域是屬於我們的,但這起因是因為我們有開過Facebook Audience Network (FAN),臉書的廣告放送平台,但後來沒用也不知道怎麼關掉該項目就是了(苦笑)。申訴回應後,第二個錯誤項目是隱私權政策沒寫清楚,根據Facebook的條文,原來要在隱私權政策裏面清楚告知如果使用者要刪除帳戶時要怎麼做。完成上面兩個問題後,權限終於恢復了(泣),但也花了3-4天的回應和審閱時間。


另一個案例,我們在「聖經種子」中有設置獎勵廣告Admob。原本前幾天都好好的可以正常載入廣告,但某一天開始就突然失敗,一開始以為只是短暫的異常,後來幾天都一樣的狀況,才跑去Admob頁面中確認問題點,結果發現一個新的審核跑出來,並顯示我們的APP設定未完成。後來改了兩個地方才通過審查,第一個跟FAN一樣,要設定app-ads.txt;第二個是要設定iOS / Android的上架商店ID供驗證。這些審查在我們上線前應該是沒有的,但也沒收到Google通知說有重要審查變更,只能摸摸鼻子自己吞下去。
raw-image

所以如果有時間的話最好從新的獨立使用者角度下去正式測試,並確保你使用的第三方在上架後的狀態都是正式上線和正常運作,會是比較安全的方法。


第四種:程式臭蟲

只要是人寫出來的程式,有臭蟲是難免的,但最好是在前篇文章說的測試期就能夠找出來並且修正,畢竟在上線後才發現那可是大大的影響了使用者的第一印象。這裡沒有最佳的做法,畢竟花時間測試和縮短開發週期是要取得平衡的,但也很吃開發者的個人功力就是了 (笑)。

我們在這裡也吃了個大虧,雖然我們有執行了兩階段的封閉測試,但第二階段測試到最後上線為了搶快是併行的,所以對於第二階段測試所修正的內容只有開發者們內部自行測試,導致產生了Side Effect卻不自知,一直到實際上線後才被發現。



以上這4種問題就是我們在「上線期」實際遇到且深深影響我們的問題,希望對於即將上架的你有所幫助囉!

留言
avatar-img
Amos的沙龍
5會員
7內容數
Amos的沙龍的其他內容
2023/12/21
今天來寫點FLutter的筆記吧 如果我們想要在APP中限制使用者的畫面顯示方向,不支持使用者橫放造成畫面佈局異常,或是想要在全螢幕顯示強制變橫向顯示,該怎麼做呢?
2023/12/21
今天來寫點FLutter的筆記吧 如果我們想要在APP中限制使用者的畫面顯示方向,不支持使用者橫放造成畫面佈局異常,或是想要在全螢幕顯示強制變橫向顯示,該怎麼做呢?
2022/11/12
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第三種必要功能:OAuth登入。
Thumbnail
2022/11/12
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第三種必要功能:OAuth登入。
Thumbnail
2022/09/09
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第二種必要功能:APP跳轉,透過一組文字連結能夠點選開啟APP並跳轉到正確功能頁面。
Thumbnail
2022/09/09
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第二種必要功能:APP跳轉,透過一組文字連結能夠點選開啟APP並跳轉到正確功能頁面。
Thumbnail
看更多
你可能也想看
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
在 vocus 與你一起探索內容、發掘靈感的路上,我們又將啟動新的冒險——vocus App 正式推出! 現在起,你可以在 iOS App Store 下載全新上架的 vocus App。 無論是在通勤路上、日常空檔,或一天結束後的放鬆時刻,都能自在沈浸在內容宇宙中。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
vocus 慶祝推出 App,舉辦 2026 全站慶。推出精選內容與數位商品折扣,訂單免費與紅包抽獎、新註冊會員專屬活動、Boba Boost 贊助抽紅包,以及全站徵文,並邀請你一起來回顧過去的一年, vocus 與創作者共同留下了哪些精彩創作。
Thumbnail
今天來分享一下我自己開發的 iOS App,以及為什麼會有這個 App 的產生。 這個 App 是在 AppWorks School 時開發的個人專案,從構思到實際開發完畢大約四週左右。而在去年底的時候稍微整理了一下,終於把它上架到 Apple 的 AppStore。
Thumbnail
今天來分享一下我自己開發的 iOS App,以及為什麼會有這個 App 的產生。 這個 App 是在 AppWorks School 時開發的個人專案,從構思到實際開發完畢大約四週左右。而在去年底的時候稍微整理了一下,終於把它上架到 Apple 的 AppStore。
Thumbnail
要在Chrome上發布外掛,需要經過以下幾個步驟 註冊為線上應用程式開發人員 卻把外掛格式正確 完成上架流程 1. 註冊為線上應用程式開發人員 步驟1-1:進入網頁 首先進入以下網址:Chrome Developer Dashboard 步驟1-2:支付一次性註冊費 要注意的是要在Chrome商店發
Thumbnail
要在Chrome上發布外掛,需要經過以下幾個步驟 註冊為線上應用程式開發人員 卻把外掛格式正確 完成上架流程 1. 註冊為線上應用程式開發人員 步驟1-1:進入網頁 首先進入以下網址:Chrome Developer Dashboard 步驟1-2:支付一次性註冊費 要注意的是要在Chrome商店發
Thumbnail
設計時的考量主要有:(1) App 是 Internet App,在考量 UI 體驗和網路頻寬的消耗,多數資料需以某種形式儲存部分資料在行動裝置上;(2) 因此會需要同步伺服器端和行動裝置端之間資料狀態;(3) 但行動裝置網路的穩定性不如一般網路可靠,要有足夠的自動化測試驗證正常的流程與異常的流程。
Thumbnail
設計時的考量主要有:(1) App 是 Internet App,在考量 UI 體驗和網路頻寬的消耗,多數資料需以某種形式儲存部分資料在行動裝置上;(2) 因此會需要同步伺服器端和行動裝置端之間資料狀態;(3) 但行動裝置網路的穩定性不如一般網路可靠,要有足夠的自動化測試驗證正常的流程與異常的流程。
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
在撰寫這篇文章之前,我曾認為Unity的遊戲比使用JavaScript編寫的網頁遊戲更安全。因為編譯出的遊戲apk檔案是以二進制形式儲存,相較於使用純文字JavaScript程式碼建立的遊戲,要逆向工程遊戲應該非常困難。 然而,在進行了一些實驗後,我發現我的理論是錯誤的,因此決定寫下這篇教學文章。
Thumbnail
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第三種必要功能:OAuth登入。
Thumbnail
一個APP在規劃的時候可能覺得主要功能就只有這一兩個,實作起來應該不難,卻忘了現代人的胃口已經越養越大,很多不在你預期內但對於使用者來說卻是很基本的功能;另一種是商店上架或是第三方要求的必要功能。今天我們來探討第三種必要功能:OAuth登入。
Thumbnail
今天當你完成了你心目中完美的作品,迫不及待的想要放到商店上讓大家下載使用,卻沒想到是噩夢的開始?!從上架前的審查,到上架後的各種問題浮現,讓你焦頭爛額了嗎?這裡和你分享一下4種在APP「上線期」會遇到的問題和解決方法,讓你上線沒煩惱。
Thumbnail
今天當你完成了你心目中完美的作品,迫不及待的想要放到商店上讓大家下載使用,卻沒想到是噩夢的開始?!從上架前的審查,到上架後的各種問題浮現,讓你焦頭爛額了嗎?這裡和你分享一下4種在APP「上線期」會遇到的問題和解決方法,讓你上線沒煩惱。
Thumbnail
在開發產品過程中,不難發現研發和設計團隊時常因各自所處的角度不同,使得在溝通來回上花了不少時間。所以小弟整理些過去常在工作場景下遇到的一些資訊技術的專有名詞,化解那些雞同鴨講的無效溝通。
Thumbnail
在開發產品過程中,不難發現研發和設計團隊時常因各自所處的角度不同,使得在溝通來回上花了不少時間。所以小弟整理些過去常在工作場景下遇到的一些資訊技術的專有名詞,化解那些雞同鴨講的無效溝通。
Thumbnail
如果要使用FB Login等FB外掛服務,一定要申請一組FB APP,才能夠執行後台的FB登入功能,下方為FB APP的申請流程教學,一起來觀看學習吧!
Thumbnail
如果要使用FB Login等FB外掛服務,一定要申請一組FB APP,才能夠執行後台的FB登入功能,下方為FB APP的申請流程教學,一起來觀看學習吧!
Thumbnail
輸入畫面 為什麼要做驗證? 因為作為設計者,永遠不該預設使用者會乖乖照設計者的意思輸入。
Thumbnail
輸入畫面 為什麼要做驗證? 因為作為設計者,永遠不該預設使用者會乖乖照設計者的意思輸入。
Thumbnail
這次錯誤在Android 11 發生 去年12月底 , 有客戶反應 , 在 android 11 的手機 , 公司 app 開不起來 或開起來跑很久 , 空白頁..........登入畫面空白 之類奇怪的問題 一開始用 Android studio 的模擬器試 , 沒問題 看來需要實機了 於是就開始
Thumbnail
這次錯誤在Android 11 發生 去年12月底 , 有客戶反應 , 在 android 11 的手機 , 公司 app 開不起來 或開起來跑很久 , 空白頁..........登入畫面空白 之類奇怪的問題 一開始用 Android studio 的模擬器試 , 沒問題 看來需要實機了 於是就開始
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News