解決認證錯誤

以下是當您送出至 Windows 市集的應用程式發生與認證有關的問題時,您可以採取的一些行動以及可協助您解決許多問題的其他參考文件連結。

這份清單並不完全詳盡,但應該可以協助您解決無法在市集列出應用程式或稍後快速檢查應用程式時可能發現的一些常見問題。如果您需要更多協助,請造訪我們的論壇,與社群成員討論您的問題。

認證錯誤分成三種類別:

  • 安全性測試
  • 技術規範
  • 內容規範

安全性測試

如果應用程式的內容似乎受病毒感染,或者應用程式可能被做為惡意程式碼的進入點時,就無法通過這項測試。

請執行最新的防毒軟體來檢查您的開發系統是否有病毒和惡意程式碼。

技術規範

透過在您的應用程式上執行 Windows 應用程式認證套件,並在您送出之前修正所有錯誤,即可避免與技術規範相關的錯誤。

內容規範

請確定您的應用程式符合一些特定的 Windows 和 Windows Phone 市集原則。以下顯示一些與個別原則相關之特定問題的資訊。

10.1—不同的函式與值;正確的表示法:

為什麼應用程式不符合原則的常見原因:

  • 應用程式的目的不明確。
  • 應用程式的名稱或圖示與其他市集應用程式很類似。
  • 應用程式只對其宣告支援之所有語言的部分語言具有價值或有效益。
  • 應用程式似乎無法完整運作。例如,應用程式使用登入功能,但未提供使用者建立帳戶的方法。
  • 應用程式的功能與您其他的應用程式相似,只是內容有點差異。功能上相似的應用程式集合通常必須以單一且整合的應用程式來送出。
如在規劃和設計應用程式時需要任何協助,請參閱願景和程序
其他需牢記的指導方針:
  • 公開應用程式的限制因素或限制規定—例如,是否並未完整支援所有輸入方法 (觸控、鍵盤和滑鼠),或內容是否限於特定的市場。當應用程式列在 [世界其他地方] (ROW) 市場 (只能在一個地區或國家正常運作,而不能在其他地區或國家運作) 時,這最後一點至關重要。
  • 確認您的應用程式在各種處理器類型和目標作業系統都有類似的使用經驗。應用程式不需要支援所有的處理器類型,但在應用程式確實支援的所有處理器類型上,應用程式必須向客戶呈現相同的外觀和操作方式。如果您要支援只存在於某一架構中的功能 (另一架構中沒有這些功能),則必須以不同名稱建立兩個個別的應用程式。您的應用程式也必須為 Windows 8 和 Windows 8.1 使用者提供適度相當的使用經驗。如果您使用只有 Windows 8.1 適用的功能,您不必為 Windows 8 使用者重新產生這些功能,但您應用程式中 Windows 8 使用者可使用的所有功能,Windows 8.1 使用者應該都能夠使用。
  • 如果您無權表示您的應用程式與某公司、政府機構或其他實體有所關聯,不得暗示上述關聯。

10.2—安全性:

應用程式無法符合安全性原則的一個明確範例,就是應用程式感染病毒或本身就是惡意軟體。 較不明顯的範例則包括蓄意或不小心允許或啟用惡意程式碼進入系統的應用程式。例如,如果應用程式使用可能被某些類型的惡意軟體利用的程式設計做法,就無法符合此需求。

如果應用程式會讓其他應用程式無法執行預期的動作,可能無法符合這個需求。這裡無法列舉一個應用程式導致其他應用程式無法正常執行的所有方式,但是您可以在其他應用程式於電腦上執行時測試您的應用程式。如果當您的應用程式執行時,其他應用程式的行為會變得不一樣 (例如回應速度變慢或遺失資料),您必須先找出原因並修正問題,然後再重新送出該應用程式以進行認證。

應用程式無法符合這個需求的另一個原因,就是它在背景播放音訊,但是使用者聽不見該音訊。對於媒體應用程式來說,保持在背景執行是很常見的,這樣可以讓它在其他應用程式於前景執行時播放音樂,但是應用程式不應該在背景中播放長時間執行卻聽不見的媒體串流。

最後,以下情況可能被視為不符合標準的應用程式:應用程式失敗時可能造成人員傷害 (例如,銷售供生命受威脅的緊急情況中使用的 GPS 應用程式或空中交通控制應用程式)。允許控制無人操控裝置的應用程式也可能被視為不符合標準。

所有應用程式邏輯也都必須位於套件內。例如,您的應用程式不應該下載遠端指令碼後,在應用程式套件的本機內容中執行該指令碼。

您的應用程式必須只依賴市集應用程式允許的 Windows 執行階段 API。若要了解適用於 Windows 市集應用程式的 API,請參閱 Windows 市集應用程式 API 參考。您可能也要檢閱 Windows 市集應用程式中 Windows API 的替代方法

您的應用程式不得透過本機機制與本機傳統型應用程式或服務通訊。以下是未遵守這項原則的一些應用程式範例:

  • Windows 市集應用程式需要本機傳統型應用程式或服務,以完成其中某個主要使用案例。
  • 如果沒有安裝傳統型應用程式或服務,應用程式就沒有明顯的價值或用途。
  • 應用程式使用未經核准的方法 (例如透過檔案或登錄) 與傳統型應用程式或元件通訊。

如果您的應用程式依存於傳統型應用程式,請記住這個原則的以下兩點:

  • 如果應用程式中的一或多個主要使用者案例需仰賴某個傳統型應用程式,則必須列在 Windows 市集列出該傳統型應用程式。
  • 如果 Windows 市集應用程式確實依存於某個傳統型應用程式,Windows 市集應用程式不得假設可從本機系統取得該傳統型應用程式。可接受的應用程式是那些透過雲端與傳統型應用程式通訊的應用程式。

如果您不確定應用程式是否符合這項原則,請自問:這個 Windows 市集應用程式是否部署在 Windows RT 系統上,它是否仍以相同的方式運作,並為使用者提供相同的價值?(請記住,Windows RT 系統不支援第三方傳統型應用程式)。

10.3—應用程式是可測試的:

檢閱您的應用程式,看看是否有未完成的功能、未實作的選項和功能表選項,以及可能讓您的應用程式成為未完成的其他元素。

當您送出應用程式時,請考量:

  • 您的應用程式需要使用者帳戶嗎?如果需要,請在 測試人員注意事項 欄位中加入測試帳戶。
  • 使用者可以透過應用程式進行購買嗎?如果可以,請提供測試那些購買的方式。

應用程式出現無法作用或未完成的一些常見原因包括:

  • 應用程式在主要使用者案例中包含了無法作用的區段或預留位置 (帶有「即將推出」或「尚未提供」這類的標籤)。
  • 應用程式無法在宣告可支援的所有架構上運作。
  • 應用程式描述中使用了暗示未實作之功能的螢幕擷取畫面或陳述。
  • 應用程式會播放背景音訊,但是沒有正確地實作播放、暫停以及播放/暫停事件讓使用者控制音訊播放。
  • 應用程式描述沒有明確聲明硬體或網路需求。
  • 應用程式使用 Microsoft Visual Studio 所產生或 SDK 範例中所含的預設圖示。

10.4—可用性:

應用程式無法符合此需求的常見原因:

  • 應用程式在啟動時損毀。
  • 應用程式不時或重複地當機。
  • 應用程式無法運作,而且使用者必須關閉並重新啟動應用程式。
  • 應用程式無法迅速啟動。
  • 應用程式意外關閉。
  • 應用程式需要 Windows 市集不支援的 Windows 元件程式庫。

以下是避免或解決這些問題的一些祕訣。

  • 確認您的開發工具維持在最新狀態。
  • 發佈到市集之前,確認應用程式的程式碼使用 CurrentApp 類別 (而非 CurrentAppSimulator)。
  • 測試實作市集商務 API (Windows.ApplicationModel.Store) 的應用程式,以確認它們能夠處理一般例外狀況 (如網路連線中斷)。
  • 在沒有網路連線的狀態下執行應用程式,以確認應用程式沒有損毀。
  • 在全新安裝 Windows 且沒有其他軟體的機器上測試應用程式。
  • 在應用程式所支援的所有架構、在其他電腦和使用其他設定測試您的應用程式,以協助找出潛在的錯誤。
秘訣  您的應用程式已經通過市集的認證並列在市集之後,您可以檢閱應用程式品質資料,找出應用程式安裝在客戶電腦之後可能發生的問題。

10.6—功能:

您的應用程式不應宣告不是執行所述功能所必需的功能。 請不要宣告超過應用程式所需的功能。

其中三項功能只提供給公司帳戶,而且所有宣告這些功能的應用程式都會受到嚴密的檢查。擁有公司帳戶並不保證使用這些功能的應用程式會通過認證。如果您的應用程式不需要這些功能,請勿宣告它們:

  • 企業驗證 (enterpriseAuthentication):使用 Windows 認證存取公司內部網路。此功能通常用於企業中與伺服器連線的企業營運系統應用程式。 您不需要針對網際網路上的一般通訊使用這種功能。
  • 共用使用者憑證 (sharedUserCertificates):可以讓應用程式存取軟體和硬體憑證,例如儲存在智慧卡的憑證。這個功能通常用於需要使用智慧卡進行身分驗證的金融或企業應用程式。
  • 文件媒體櫃 (documentsLibrary): 可讓您以程式設計方式存取使用者的 [文件] 媒體櫃,以篩選出套件資訊清單中所宣告的檔案類型關聯。應用程式可以使用檔案選擇器來存取使用者的 [文件] 媒體櫃,而不需要宣告此功能。
    重要  使用此功能的應用程式僅能透過開發人員帳戶送出,這可說明已取得憑證授權單位 (CA) 的延伸驗證 (EV) 程式碼簽署憑證。如需詳細資訊,請參閱帳戶類型、位置和費用

    宣告 [文件] 媒體櫃功能的應用程式必須支援使用有效的 OneDrive URL 或資源識別碼,跨平台離線存取特定的 Microsoft OneDrive 內容,而且必須在離線時自動將開啟的檔案儲存到使用者的 OneDrive。針對這兩個目的使用 [文件] 媒體櫃功能的應用程式,也可選擇使用此功能開啟另一份文件內的內嵌內容。

    只接受上述使用文件庫功能的方式。 以下為宣告 [文件] 媒體櫃功能的應用程式無法通過認證的一些常見原因:

    • 沒有完全符合允許的使用方式,例如,提供離線自動儲存,但無跨平台存取功能
    • 使用 [文件] 媒體櫃儲存不是由使用者直接撰寫的應用程式資料,例如應用程式狀態
    • 使用 [文件] 媒體櫃做為以使用者 OneDrive 漫遊應用程式資料的一種方法

    另請注意,使用者解除安裝應用程式後,該應用程式就無法使用 [文件] 媒體櫃功能 (或任何其他媒體櫃功能) 保留應用程式狀態。應用程式應該使用自己的雲端服務來保留這類狀態。

如需詳細資訊,請參閱:

10.8—金融交易:

請確定您的應用程式內產品符合所有原則。例如,使用 Windows.ApplicationModel.Store 命名空間或任何 Microsoft 應用程式內購買 API 的應用程式,都只能銷售可在應用程式內使用的數位項目和服務。不使用 Microsoft 應用程式內購買 API 的應用程式有額外的需求。請務必也在您的應用程式描述中清楚說明應用程式內購買的類型和價格範圍。

也請注意如果您的應用程式會收集信用卡資訊 (或是使用第三方處理程式收集信用卡資訊),該付款處理程序必須符合目前的 PCI 資料安全標準 (PCI DSS)

10.9—通知:

請記住,通知內容需符合所有市集原則,即使停用通知,您的應用程式仍必須維持運作。如需了解如何正確使用通知的協助,請參閱:

11.1—一般內容需求:

檢閱您的應用程式內容和中繼資料。不允許包含分級超過 PEGI 16 或 ESRB MATURE 之內容的大多數應用程式。

此外,隨應用程式 (包含螢幕擷取畫面) 送出的所有中繼資料和其他內容只能包含 PEGI 12、ESRB EVERYONE 10+ 分級或更低分級的內容。即使應用程式本身分級為更高的年齡群組,也適用這項規定。

如果應用程式是可能違反這項需求的零售版內容、使用者產生之內容或是網路內容的門戶,必須包含需要使用者選擇加入以接收存取這類內容的機制。

如果您的應用程式不符合這項需求,但您確信內容應該並無不當,請思考其中內容是否可能並不適用於您所選擇的某些市場。不同的市場有不同的文化標準,因此,視應用程式的市場而定,其可能適用更高程度的監督。

如需詳細資訊,請參閱:

11.11—一般分級需求/11.12—額外分級需求 - Windows 應用程式:

請牢記幾件事:

  • 應用程式內容 (包括廣告) 必須適合所選擇的年齡分級。
  • 某些市場需要您透過分級委員會將應用程式分級,並且需要您提供遊戲定義檔 (GDF) (尤其是遊戲的話)。如果您已透過分級委員會在您的 GDF 檔案中宣告分級,您必須提供該分級的證明。您的 Windows 市集年齡分級不得低於您的 GDF 檔案中對應的年齡分級。
  • 某些市場需要分級委員會的分級,您必須提供適當的分級,但卻未提供。
  • 列為 3+ 或 7+ 分級的應用程式不得提供使用者不受控制的線上社交網路存取,或提供與第三方 (包含其他遊戲玩家或網友) 進行不受控制的個人資訊分享。若要提供「受控制」的活動,您的應用程式必須包含家長監護功能,並要求使用者先取得家長同意才能使用這類分享功能。您必須識別這些控制功能,並在測試人員注意事項中說明這些功能。

 

 

顯示:
© 2015 Microsoft