1. 程式人生 > >iOS稽核總被拒?騰訊教你提升iOS稽核通過率!

iOS稽核總被拒?騰訊教你提升iOS稽核通過率!

作者:Jamie,騰訊開發工程師,在iOS預審和ASO優化領域從事專項測試相關工作,為騰訊遊戲近100個產品提供專項服務。
商業轉載請聯絡騰訊WeTest獲得授權,非商業轉載請註明出處。

WeTest導讀

眾所周知,蘋果應用商店是蘋果公司提供給開發者釋出和使用者下載應用軟體的地方,蘋果為了給開發者和使用者創造一個良性、公平、健康、安全的應用商店環境,制定了一系列的應用商店稽核條款,所有應用必須遵循這些條款,才能獲得釋出上架。不可否認,應用稽核在一定程度上保證了應用商店的品質,但對眾多開發者來說,應用上架蘋果商店,往往是一段忐忑甚至是悲壯的旅程,經常被蘋果的各種理由拒之門外,讓開發者苦不堪言。本文將介紹騰訊預審團隊一系列的預審策略和方法,讓大家瞭解騰訊是怎樣保障提審通過率的。

iOS預審開展思路

最近,蘋果在官網給出了截至2016年6月份應用被拒絕的十大條款(其中63%以上的應用被拒絕都是因為這10個條款),看似簡單的條款,仍然出現很多提審被拒,其實,開發者對稽核條款理解和把控不夠系統,是導致提審被拒的主因。
這裡寫圖片描述
那麼,看似讓人眼花繚亂的稽核條款,我們有沒有什麼辦法準確和系統的去把握呢?對此,騰訊預審團隊從2014年便開始嘗試一系列的探索和積累:
分析《蘋果應用商店稽核指南》的條款,結合過往提審被拒的案例,進行系統的測試設計,並輸出成可落地的測試用例;
在以上步驟的基礎上,進行自動化分析,抽離出可自動化的模組(開發對應的自動掃描工具);
將剩餘的部分用例,組建專項的測試人員來進行驗收;
App每次版本提審,通過以上測試驗收後,才會正式提交給蘋果稽核;

騰訊預審的探祕
根據以上工作思路,騰訊預審團隊對稽核物件進行模組的劃分,主要包含ipa包、提審資源以及應用內容和功能3大模組(一共整合了150+個測試點及測試用例,其中自動化掃描項70+個):
這裡寫圖片描述
ipa包的檢查
主要是確保ipa中info.plist、包/檔案大小、icon規格、私有API、第三方SDK、64位等內容符合蘋果要求,此部分的驗收,騰訊預審團隊已開發出自動化工具,通過自動掃描來完成;

提審資源的檢查
主要是確保提交的應用截圖、視訊、AppIcon、應用描述等資源是符合蘋果要求的,其中資源規格屬性的驗收,預審團隊已開發出自動化工具,通過自動掃描來完成;但資源的內容、文案等部分內容的驗收,還需要人工來審查;

應用內容和功能的檢查
確保應用的內容滿足蘋果稽核稽核指南中安全、效能、設計、法律等章節的條款,通常需要覆蓋安裝、登入、IAP支付、公告、活動、郵件、icloud檔案儲存、美國VPN網路連通性、IPv6網路連通性等應用場景內容和功能,此部分的驗收,全需要人工來審查;
除此之外,預審團隊通過實時跟進蘋果稽核動態,依此來不斷的更新和完善驗收方案,持續保障產品的提審通過率,得到越來越多產品的認可,截止到今年7月,服務App產品已累計100+個,每月完成的轉測次數120+次。在2016上半年的提審資料統計可見,儘管有IPv6、提審圖片/視訊等政策變更的衝擊,提審通過率仍舊保持在85%以上,體現了預審方案的工作成效:
這裡寫圖片描述
各模組被拒的佔比,詳情如下圖:
這裡寫圖片描述
在以上被拒的資料統計中,可以發現,更多的是在遊戲功能、內容和提審材料的內容,而ipa包和提審資源規格部分被拒的次數佔比很少,自動化工具帶來的質量和保障也得以體現。

預審測試內容解讀

1、Ipa包檢查的介紹
Ipa包檢查項主要包含以下幾方面,如info.plist、私有API、第三方SDK、64位、icon檔案等等,其中幾個重要掃描規則我們將逐一進行介紹:
這裡寫圖片描述
1.1 Info.plist檢查
Info.plist是一種結構化的文字檔案,通常所說的 “屬性列表”,iOS的app都使用Info.plist檔案來儲存元資訊,用來實現決定bundle所顯示的icon,當前app支援開啟的文件型別,服務宣告等等。關於此部分掃描規則,來源於《Information Property List Key Reference》,包含如下方面的內容:
這裡寫圖片描述
1.2 Icon檢查
蘋果官方對iPhone、iPad、iPod等應用程式的icon有明確的要求:要求ipa包中必須包含180x180,120x120,76x76,152x152,167x167尺寸的PNG格式的icon(詳見下表),並且不同尺寸的icon內容要一致,關於此部分的掃描規則,來源於《iOS Human Interface Guidelines》:
這裡寫圖片描述
關於App icon的檢查,採用自動化方法實現自動解壓ipa包,並逐一核實icon圖示是否存在並滿足要求,對於不滿足要求的ipa包,給出告警提示:
這裡寫圖片描述
1.3 私有API檢查
私有API和non-public API,是蘋果明令禁止的條款,每次預審都會重點跟進這部分的掃描結果。關於這塊自動化的思路,在之前分享的一些文章中也曾提過了,主要是採用一些反編譯工具,對ipa的可執行檔案進行反編譯解析,獲取標頭檔案中庫、方法和類的集合,再去逐一比對私有庫和non-public庫,如有命中則給出告警提示:
這裡寫圖片描述
1.4 檔案大小檢查
此部分掃描內容,主要包含ipa包的大小、可執行檔案的正文段大小和包中每個檔案的大小三個方面:
這裡寫圖片描述
掃描如有不滿足項,則給出告警提示:
這裡寫圖片描述
2、提審資源檢查的介紹
提審資源包含提審圖片、提審視訊和應用介紹三部分,蘋果對提審資源要求,主要是兩方面:規格屬性和內容,對於前者,預審是通過自動化來驗收,而後者則是通過人工來審查的。
這裡寫圖片描述
提審資源規格屬性的掃描規則,來源於《iTunes Connect Developer Guide》,預審當前主要覆蓋以下幾方面的內容:
這裡寫圖片描述
對於不滿足要求的資源,則給出告警提示:
這裡寫圖片描述
提審資源的驗收規則,來源於《iTunes Connect Developer Guide》和《App Store Review Guidelines》,預審主要覆蓋以下幾個方面內容:
這裡寫圖片描述
每一種解析度的視訊,必須是在對應解析度的真機上錄製生成,不能採用拉伸、剪裁、填充等方式處理生成(如在iPhone5裝置上錄製的視訊,通過拉伸的處理方式,生成iPad解析度的視訊)。

經典案例

【案例1】
《專案A》x.17.5版本,提審圖片不能真實反應App的內容,導致被拒。
這裡寫圖片描述
【應對措施】
圖片中儘量避擴音供與應用無關的內容,要表現出應用的真實內容,尤其是遊戲類應用的截圖,需體現遊戲場景、畫風、特色玩法等。針對此問題,產品修改並通過蘋果稽核的圖片如下:
這裡寫圖片描述
【案例2】
《專案B》x.1.10版本,視訊中出現手機裝置、並且存在遊戲中沒有的內容,宣傳成分太多,因此被拒。
這裡寫圖片描述
【應對措施】
在蘋果真機裝置上錄製應用的真實內容,儘量避免加入廣告、特效等宣傳成分的內容。

3、應用內容和功能檢查的介紹
蘋果針對應用內容和功能的稽核,往往會比較嚴格,如果其中一點不滿足條款便會拒絕版本,因此,大家需要熟記每個稽核要點,同時也儘量要遍歷應用功能。在遍歷功能時要注意重要機型和韌體的適配,儘量在最新的iPhone和Pad(如應用不支援Pad,可以忽略),韌體也儘量是最新的版本。對於特殊時間段,比如在秋季新系統釋出前,要提前摸底beta版本相容性,避免新系統釋出時出現不可預知的相容性問題,阻塞版本的提審節奏。
這裡寫圖片描述
近期蘋果要求App相容IPv6網路(6月1號以後上架/更新的App,必須相容IPv6),因此,提審前需確保應用在IPv6網路下可正常登入(IPv6網路可按照蘋果官網提供指導進行部署)。除此之外,美國VPN網路也不能忽視。因為蘋果的稽核團隊在美國,他們進行稽核時,使用的是美國網路,跨洲際的網路連線,難免會出現時延大、抖動、丟包等網路問題,為了提前驗證App後臺伺服器基於此場景下的反應,美國VPN來模擬蘋果稽核團隊的訪問App,可以提前爆露一些問題。
預審對這部分的驗收,主要是包含以下兩個模組:
文字內容的檢查
主要檢查應用中的公告、活動、提示,遊戲類的郵件、新手指引、劇情對白等,同時還覆蓋應用中連結的官網、論壇等網頁內容,確保文字內容是滿足蘋果稽核的相關條款;
這裡寫圖片描述
應用內容的檢查
主要覆蓋應用中的圖片、動畫、視訊、遊戲的角色造型/PVE/PVP等場景介面,確保以上內容滿足蘋果稽核的相關條款;
這裡寫圖片描述

預審總結

以上便是iOS預審主要的工作思路,核心思想是圍繞《蘋果應用商店稽核指南》來開展驗收工作,同時也在實時跟進蘋果稽核政策的動態,來確保預審的方向和質量。

自動化掃描工具介紹-WeTest
為了提高IEG蘋果稽核通過率,騰訊專門成立了蘋果稽核測試團隊,打造出iOS預審工具這款產品。經過1年半的內部運營,騰訊內部應用的iOS稽核通過率從平均35%提升到90%+。

現將騰訊內部產品的過審經驗,以線上工具的形式共享給各位。在WeTest騰訊質量開放平臺上可以線上使用。

這裡寫圖片描述

iOS預審工具分四步進行預審服務

【一鍵掃描】
只需提供ipa包、稽核圖片、稽核視訊、應用描述,即可在4小時內拿到一份完整的檢測報告,定位問題的同時提供解決方案,助您成功通過稽核。
【案例分享】
集結iOS稽核失敗常見原因,豐富案例為您提供參考依據。
【專家服務】
騰訊專家團隊為您分析各種疑難雜症,提出最優解決方案。
【ASO優化】
專業優化AppStore內關鍵字搜尋結果,讓產品離使用者更近一步。
希望App/手遊在預審驗收保證下,都可以快快樂樂過審,開開心心賺錢。