[IADP Series] 慘烈 (?) 的 App Rejected 記事,兼論 App 如何設計才容易通過審核

話說昨天才在抱怨說為什麼 Intel AppUp 的審核速度這麼慢,隔天結果就出來了,而且是一個大大的 Rejected (拒絕),這時就很能體會黃忠成老師在送審 Windows Phone 7 App 一段時間後被退件的感受了。

話說昨天才在抱怨說為什麼 Intel AppUp 的審核速度這麼慢,隔天結果就出來了,而且是一個大大的 Rejected (拒絕),這時就很能體會黃忠成老師在送審 Windows Phone 7 App 一段時間後被退件的感受了。

雖然被退件是預期中的事,不過 Intel 在 Test Result 中所記錄的問題點以及重現步驟的詳細度,令我大開眼界。例如這一項:

image

Intel 不但是記錄了問題點,連重現的步驟都有 (不過視覺排版可能要再加強一下),還附上參考的圖片給開發者,讓開發者能在比較短的時間內抓出問題的可能地點,這對開發者來說可以省下很多 trace 的時間。

這次被退件的主要理由是因為,我送審的 App 是需要 Configuration 的,但 Intel 認為不該叫使用者自己開檔去 Configuration,而是要提供一個 UI 給使用者去做,這對一些會寫資訊到 App.config 的應用程式而言會比較不利,而且 Intel 也認為 Configuration 的檔案必須要由開發人員來設定安裝時做到檔案關聯設定,不可以出現這種畫面:

image

這點是我個人覺得有點弔詭的,因為每個 .NET Framework 應用程式或多或少都會有這種 configuration 檔,如果不能請 user 改的話,變成開發人員一定要寫一個組態工具,然後動態更新 App.config (這不難),也就是說,如果應用程式本身會有 Configuration 需求的話,一定要給一個介面來做,不能偷懶。

Intel 的應用程式審核規則,在 Intel AppUp℠ Developer Program Application/Component Suitability and Validation Guidelines 的 "3. Application Validation Criteria" 都有說明每個測試的要件,而且在 App 登錄時所選的平台,Intel 都會真的去測過,像我的應用程式選了 Windows 7 和 Windows XP,他們測了 Windows 7 (32bit & 64bit) 以及 Windows XP 平台,在報告中都有說明哪些項目有通過,而被 Rejected 的有哪些沒有通過等。

所以想送審 App 到 Intel AppUp 之前,請先注意下列事項,以確保你的 App 可以通過審核:

  • 應用程式必須要先完整測試過不同的情況,且在不同的情況下都不會當機 (throw unhandled exception) (GEN01)。
  • 應用程式若有登入的需求,請提供可通過登入的帳戶與密碼,否則會被 Rejected。
  • 應用程式的動線設計要明確,如果有需要做事先做組態設定的要有明確提示,並做好組態的工具 (UIX02)。
  • 應用程式若是用 .NET Framework 開發,請在 Visual Studio 編譯時選擇  "Any CPU" (GEN01)。
  • 如果你沒把握應用程式可以測過,可善用 Beta Tester 的功能,發信給朋友測試,最好是那種完全不懂電腦的使用者。
  • 應用程式必須要支援 Slient Install,這點可利用 Intel Visual Studio Plug-in v1.1.5 中的安裝專案產生器來做。
  • 應用程式在提交給 Validation Team 前,必須要抽換成申請好的 Application ID,否則會被 Rejected。
  • 如果應用程式必須搭配特定硬體使用,則在提交前要把硬體寄到 AppUp Validation Lab,否則沒硬體可測當然會 Rejected。
  • 應用程式內不可以提供一些不當的內容以及使用未授權的商標,內容分級可參考 Validation Guidelines 的 Rating Guidelines。
  • 建議附上操作說明書的文件檔 (以英文撰寫)。
  • 若有補充事項時,可在提交前於 Validation Team Notes 欄位中填寫。

 

Reference:

我的應用程式退件記錄。
Intel AppUp℠ Developer Program Application/Component Suitability and Validation Guidelines