共用方式為


管理插件提交

Microsoft市集提交 API 提供可用來管理應用程式附加元件(也稱為應用程式內產品或 IAP)提交的方法。 如需有關 Microsoft 市集提交 API 的簡介,包括使用該 API 的前提條件,請參閱 如何使用 Microsoft 市集服務來建立和管理提交

這很重要

如果您使用 Microsoft Store 提交 API 來建立附加元件的提交,請務必只使用 API 進行任何進一步的變更,而不要在合作夥伴中心中進行變更。 如果您使用合作夥伴中心來變更您最初使用 API 建立的提交,您將無法再使用 API 變更或認可該提交。 在某些情況下,提交可能會處於錯誤狀態,無法繼續進行提交程序。 如果發生這種情況,您必須刪除提交並建立新的提交。

管理插件提交的方法

使用下列方法來取得、建立、更新、認可或刪除附加元件提交。 您必須先在您的合作夥伴中心帳戶中存在附加元件,才能使用這些方法。 您可以在合作夥伴中心建立附加元件,方法是 定義其產品類型和產品標識碼 ,或使用 管理附加元件中所述的Microsoft市集提交 API 方法。

方法 URI(統一資源識別碼) 說明
獲取 https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} 取得現有的附加元件提交
獲取 https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status 取得現有附加元件提交的狀態
郵件 https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions 提交新的擴充套件
https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} 更新現有的附加元件提交
郵件 https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit 提交新的或更新版本的附加元件
刪除 https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} 刪除插件提交項目

製作擴充功能申請

若要建立附加元件提交,請遵循此流程。

  1. 如果您尚未這麼做,請完成 使用 Microsoft Store 服務建立和管理提交中所述的必要條件,包括將 Azure AD 應用程式與您的合作夥伴中心帳戶建立關聯,並取得您的用戶端標識符和密鑰。 您只需要執行此動作一次;擁有用戶端識別碼和金鑰之後,您可以隨時重複使用它們,以建立新的 Azure AD 存取令牌。

  2. 取得 Azure AD 存取令牌。 您必須將此存取令牌傳遞至 Microsoft 市集提交 API 中的方法。 取得存取令牌之後,您必須在 60 分鐘内使用它,否則將會失效。 令牌到期之後,您可以取得新的令牌。

  3. 在 Microsoft 市集提交 API 中執行下列方法。 此方法會建立一個新的正在進行的提交項目,這是您上次發佈的提交項目的複本。 如需詳細資訊,請參閱 创建附加元件提交

    POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions
    

    回應內容包含 附加元件提交 資源,其中包括新提交的 ID、用於上傳提交至 Azure Blob 儲存體的任意附加元件圖示的共用存取簽章(SAS)URI,以及所有新提交的資料(如清單和定價資訊)。

    備註

    SAS URI 可讓您存取 Azure 記憶體中的安全資源,而不需要帳戶密鑰。 如需 SAS URI 及其搭配 Azure Blob 記憶體使用的背景資訊,請參閱 共用存取簽章,第 1 部分:瞭解 SAS 模型共用存取簽章,第 2 部分:建立和使用 SAS 搭配 Blob 記憶體

  4. 如果您要為提交新增圖示, 請準備圖示 ,並將其新增至 ZIP 封存。

  5. 使用新提交的任何必要變更更新 附加元件提交 數據,然後執行下列方法來更新提交。 如需詳細資訊,請參閱 更新附加元件提交

    PUT https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}
    

    備註

    如果您要為提交新增圖示,請務必更新提交數據,以參考 ZIP 封存中這些檔案的名稱和相對路徑。

  6. 如果您要為提交新增圖示,請使用您稍早呼叫的 POST 方法回應主體中提供的 SAS URI,將 ZIP 壓縮檔上傳至 Azure Blob 儲存體。 您可以使用不同的 Azure 連結庫在各種平台上執行這項操作,包括:

    下列 C# 程式代碼範例示範如何使用適用於 .NET 的 Azure 記憶體用戶端連結庫中的 CloudBlockBlob 類別,將 ZIP 封存上傳至 Azure Blob 記憶體。 此範例假設 ZIP 封存已經寫入資料流物件。

    string sasUrl = "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl";
    Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob blockBob =
      new Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob(new System.Uri(sasUrl));
    await blockBob.UploadFromStreamAsync(stream);
    
  7. 請按照以下方法確認提交。 這會提醒合作夥伴中心您已完成提交,而且您的更新現在應該套用至您的帳戶。 如需詳細資訊,請參閱 提交插件

    POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit
    
  8. 執行下列方法來檢視提交狀態。 如需詳細資訊,請參閱 查詢附加元件提交的狀態

    GET https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status
    

    若要確認提交狀態,請檢閱回應內容中的 狀態 值。 如果要求成功,此值應該從 CommitStarted 變更為 PreProcessing;如果要求發生錯誤,此值則應該變更為 CommitFailed。 如果發生錯誤,statusDetails 字段會包含錯誤的詳細數據。

  9. 提交成功完成之後,資料會傳送至商店進行接收。 您可以使用先前的方法,或造訪合作夥伴中心,繼續監視提交進度。

程式碼範例

下列文章提供詳細的程式代碼範例,示範如何以數種不同的程式設計語言建立附加元件提交:

StoreBroker PowerShell 模組

除了直接呼叫 Microsoft 市集提交 API,我們也提供開放原始碼 PowerShell 模組,以在 API 之上實作命令行介面。 此模組稱為 StoreBroker。 您可以使用此模組,從命令行管理應用程式、試飛版本和附加元件的提交,而不是直接呼叫 Microsoft 市集提交 API;或者您可以瀏覽原始碼查看更多如何呼叫此 API 的範例。 StoreBroker 模組會在 Microsoft 內主動使用,作為許多第一方應用程式提交至市集的主要方式。

如需詳細資訊,請參閱 GitHub 上的 StoreBroker 頁面

數據資源

管理附加元件提交的Microsoft市集提交 API 方法會使用下列 JSON 數據資源。

附加元件提交工具

此資源描述附加元件的提交過程。

{
  "id": "1152921504621243680",
  "contentType": "EMagazine",
  "keywords": [
    "books"
  ],
  "lifetime": "FiveDays",
  "listings": {
    "en": {
      "description": "English add-on description",
      "icon": {
        "fileName": "add-on-en-us-listing2.png",
        "fileStatus": "Uploaded"
      },
      "title": "Add-on Title (English)"
    },
    "ru": {
      "description": "Russian add-on description",
      "icon": {
        "fileName": "add-on-ru-listing.png",
        "fileStatus": "Uploaded"
      },
      "title": "Add-on Title (Russian)"
    }
  },
  "pricing": {
    "marketSpecificPricings": {
      "RU": "Tier3",
      "US": "Tier4",
    },
    "sales": [],
    "priceId": "Free",
    "isAdvancedPricingModel": true
  },
  "targetPublishDate": "2016-03-15T05:10:58.047Z",
  "targetPublishMode": "Immediate",
  "tag": "SampleTag",
  "visibility": "Public",
  "status": "PendingCommit",
  "statusDetails": {
    "errors": [
      {
        "code": "None",
        "details": "string"
      }
    ],
    "warnings": [
      {
        "code": "ListingOptOutWarning",
        "details": "You have removed listing language(s): []"
      }
    ],
    "certificationReports": [
      {
      }
    ]
  },
  "fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/26920f66-b592-4439-9a9d-fb0f014902ec?sv=2014-02-14&sr=b&sig=usAN0kNFNnYE2tGQBI%2BARQWejX1Guiz7hdFtRhyK%2Bog%3D&se=2016-06-17T20:45:51Z&sp=rwl",
  "friendlyName": "Submission 2"
}

此資源具有下列值。

價值觀 類型 說明
識別碼 字符串 提交的識別碼。 此標識碼可在響應數據中取得,要求 建立附加元件提交取得所有附加元件取得附加元件。 針對在合作夥伴中心建立的提交,此識別碼也會顯示在合作夥伴中心提交頁面的 URL 中。
內容類型 字符串 在附加元件中提供的內容類型為 。 這可以是下列其中一個值:
  • 未設定
  • 書籍下載
  • EMagazine
  • 電子報 (ENewspaper)
  • 音樂下載
  • MusicStream
  • OnlineDataStorage
  • 視頻下載
  • VideoStream
  • Asp
  • 線上下載
關鍵字 陣列 包含字串的陣列,最多可包含 10 個用於附加元件的 關鍵詞。 您的應用程式可以使用這些關鍵詞來查詢附加元件。
一生 字符串 附加元件存留期。 這可以是下列其中一個值:
  • 永遠
  • OneDay
  • ThreeDays
  • FiveDays
  • OneWeek
  • TwoWeeks
  • 一個月
  • TwoMonths
  • 三個月
  • 六個月
  • 一年
列表 物體 索引鍵和值組的字典,其中每個索引鍵都是雙字母 ISO 3166-1 alpha-2 國家/地區代碼,而每個值都是 列出資源,其中包含附加元件的清單資訊。
價格 物體 附加元件的定價資訊包含在 定價資源 中。
targetPublishMode(目標發布模式) 字符串 投稿的發佈模式。 這可以是下列其中一個值:
  • 立即
  • 說明書
  • 特定日期
目標出版日期 字符串 如果 targetPublishMode 設定為 SpecificDate,則發行日期應以 ISO 8601 格式表示。
標記 字符串 附加元件的 自訂開發者資料(這些資訊先前稱為 標籤)。
能見度 字符串 附加元件的可見度。 這可以是下列其中一個值:
  • 隱藏
  • 公共 / 公開 / 公眾
  • 私人
  • 未設定
地位 字符串 提交文件的狀態。 這可以是下列其中一個值:
  • 沒有
  • 已取消
  • PendingCommit(待定提交)
  • 提交已開始
  • 提交失敗
  • 待發布
  • 出版
  • 發布
  • 發佈失敗
  • 預處理
  • 預處理失敗
  • 認證
  • 認證失敗
  • 釋放
  • 發佈失敗
狀態詳情 物體 狀態詳細資訊資源,其中包含關於提交狀態的其他詳細資訊,包括有關任何錯誤的信息。
檔案上傳網址 字符串 用於上傳提交任何套件的共用存取簽章 (SAS) URI。 如果您要為提交新增套件,請將包含套件的 ZIP 封存上傳至此 URI。 如需詳細資訊,請參閱 创建附加元件提交
友善名稱 字符串 提交的易記名稱,如合作夥伴中心所示。 您建立提交時,系統會自動產生此數值。

列出資源

此資源包含附加元件的 清單資訊。 此資源具有下列值。

價值觀 類型 說明
說明 字符串 附加元件清單的描述。
圖示 物體 圖示資源,其中包含附加元件清單圖示的數據。
標題 字符串 附加元件清單的標題。

圖示資源

此資源包含插件列表的圖示資料。 此資源具有下列值。

價值觀 類型 說明
檔名 字符串 您提交時上傳的 ZIP 封存中包含的圖示檔案的名稱。 圖示必須是 .png 檔案,尺寸正好為 300 x 300 像素。
檔案狀態 字符串 圖示檔的狀態。 這可以是下列其中一個值:
  • 沒有
  • 等待上傳
  • 上傳
  • 待刪除

定價資源

此資源包含附加元件的價格資訊。 此資源具有下列值。

價值觀 類型 說明
市場特定定價 物體 鍵和值組的字典,其中每個鍵都是 ISO 3166-1 alpha-2 雙字母國家代碼,而每個值都是 價格層級。 這些項目代表特定市場的附加元件 自定義價格。 在此字典中的任何項目都會覆寫由 priceId 所指定的基本價格,針對 指定市場的值。
銷售 陣列 已被取代包含附加元件銷售資訊的資源數組,
priceId 字符串 價格區間 用來指定附加項目的 基本價格
是否為進階定價模型 布爾值 如果 true,則您的開發人員帳戶可以存取從 .99 美元到 1999.99 美元的擴充價格區間集。 如果 false,則您的開發人員帳戶可以存取從 .99 美元到 999.99 美元的原始價格區間集。 如需不同層的詳細資訊,請參閱 價格區間

注意 此字段是唯讀的。

銷售資源

此資源包含附加元件的銷售資訊。

這很重要

不再支援 銷售 資源,目前您無法使用 Microsoft 市集提交 API 取得或修改附加元件提交的銷售數據。 未來,我們將更新 Microsoft 市集提交 API,以引進以程式設計方式存取附加元件提交的銷售資訊的新方式。

此資源具有下列值。

價值觀 類型 說明
名稱 字符串 促銷名稱
基價編號 字符串 使用 價格區間 作為銷售的基本價格。
開始日期 字符串 ISO 8601 格式的銷售開始日期。
結束日期 字符串 銷售結束日期,格式為 ISO 8601。
市場特定定價 物體 鍵和值組的字典,其中每個鍵都是 ISO 3166-1 alpha-2 雙字母國家代碼,而每個值都是 價格層級。 這些項目代表特定市場的附加元件 自定義價格。 此字典中的任何項目都會覆蓋指定市場的基底價格,由 basePriceId 值所指定。

狀態資訊資源

此資源包含提交狀態的其他詳細數據。 此資源具有下列值。

價值觀 類型 說明
錯誤 物體 包含提交時錯誤詳細資訊的 狀態詳細資料資源陣列
警告 物體 包含提交警告詳細信息的 狀態詳細資源數組
認證報告 物體 認證報告資源陣列, 可用於存取提交的認證報告數據。 如果認證失敗,您可以檢查這些報告以取得詳細資訊。

狀態詳細資料資源

此資源包含有關提交過程中任何相關錯誤或警告的更多資訊。 此資源具有下列值。

價值觀 類型 說明
程式碼 字符串 描述錯誤或警告類型的 提交狀態代碼
詳細資訊 字符串 訊息,其中包含有關問題的詳細數據。

認證報告資源

此資源可讓您存取提交的認證報告數據。 此資源具有下列值。

價值觀 類型 說明
日期 字符串 產生報表的日期和時間,格式為 ISO 8601。
報告網址 字符串 您可以在這個 URL 存取報告。

列舉

這些方法會使用下列列舉類型。

價格區間

以下的價格級別值代表附加元件提交中 定價資源 資源中的可用價格區間。

價值觀 說明
基礎 未設定價格區間;使用附加元件的基本價格。
不可用 附加元件無法在指定的區域中使用。
免費 附加元件是免費的。
層 xxxx 字串,指定附加元件的價格區間,格式為 Tierxxxx。 目前支援下列價格區間:

  • 如果 是進階定價模型,並且 定價資源 的值為 true,那麼您的帳戶可用的價格層值包括 Tier1012 - 和 Tier1424
  • 如果 isAdvancedPricingModel定價資源 的值為 false,則您帳戶的可用價位等級為 Tier2 - Tier96。
若要查看開發人員帳戶可用的價格區間完整數據表,包括與每一層相關聯的市場特定價格,請移至合作夥伴中心中任何應用程式提交的 定價和可用性 頁面,然後按兩下 [市場和自定義價格] 區段中的 [檢視表] 連結 區段(針對某些開發人員帳戶, 此連結位於 定價 一節中)。

提交狀態代碼

下列值代表提交的狀態代碼。

價值觀 說明
沒有 未指定任何程序代碼。
無效的檔案庫 包含封裝的 ZIP 封存無效,或具有無法辨識的封存格式。
MissingFiles ZIP 封存沒有提交數據中列出的所有檔案,或檔案位於封存中的錯誤位置。
封包驗證失敗 提交中的一或多個套件無法驗證。
無效的參數值 要求主體中的其中一個參數無效。
無效操作 您嘗試的作業無效。
無效狀態 您嘗試的操作對套件航行的當前狀態無效。
資源未找到 找不到指定的套裝航班。
服務錯誤 內部服務錯誤導致要求無法成功。 請再次嘗試要求。
列表退出警告 開發人員已從先前提交中移除清單,或不包含套件所支援的清單資訊。
列出選擇加入警告 開發人員已新增清單。
UpdateOnlyWarning 開發人員正嘗試插入僅支援更新的項目。
其他 提交處於無法辨識或未分類的狀態。
封包驗證警告 套件驗證程式會產生警告。