Sdílet prostřednictvím


Správa odesílání testovacích verzí balíčků

Rozhraní API pro odesílání z Microsoft Storu poskytuje metody, které můžete použít ke správě odesílání testovacích verzí balíčků pro vaše aplikace, včetně postupného zavedení balíčků. Úvod do rozhraní API pro odesílání z Microsoft Storu, včetně požadavků na použití rozhraní API, najdete v tématu Vytvoření a správa odesílání pomocí služeb Microsoft Store.

Důležitý

Pokud k vytvoření odeslání pro balíkovou verzi použijete rozhraní Microsoft Store Submission API, nezapomeňte provést další změny v odeslání pouze pomocí rozhraní API, nikoli v partnerském centru. Pokud řídicí panel použijete ke změně odeslání, které jste původně vytvořili pomocí rozhraní API, nebudete už moct toto odeslání změnit ani potvrdit pomocí rozhraní API. V některých případech může být odeslání ponecháno ve stavu chyby, kdy nemůže pokračovat v procesu odeslání. Pokud k tomu dojde, musíte odstranit odeslání a vytvořit nové odeslání.

Metody správy odesílání testovacích verzí balíčků

Použijte následující metody pro získání, vytvoření, aktualizaci, potvrzení nebo odstranění zaslání balíčku. Než budete moct tyto metody použít, musí testovací verze balíčku už existovat v Partnerském centru. Letu balíčku můžete vytvořit v Partnerském Centru nebo pomocí metod rozhraní API Microsoft Storu pro odeslání popsaných v tématu Správa letů balíčků.

Metoda Identifikátor URI Popis
ZÍSKAT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} získání existujícího odeslání testovací verze balíčku
ZÍSKAT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/status Získání stavu existujícího odeslání testovací verze balíčku
PŘÍSPĚVEK https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions Vytvořit nové odeslání balíčku letu
POLOŽIT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} Aktualizace existujícího odeslání testovací verze balíčku
PŘÍSPĚVEK https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/commit Zavázat se k odeslání nového nebo aktualizovaného balíčku pro testovací verzi
VYMAZAT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId} Odstranění odeslání testovací verze balíčku

Vytvoření odeslání testovací verze balíčku

Aby bylo možné vytvořit odeslání balíčku pro let, postupujte takto.

  1. Pokud jste to ještě neudělali, dokončete požadavky popsané v tématu Vytvoření a správa odesílání pomocí služeb Microsoft Store, včetně přidružení aplikace Azure AD k vašemu účtu Partnerského centra a získání ID a klíče klienta. Stačí to udělat jen jednou; jakmile budete mít ID klienta a klíč, můžete je kdykoli znovu použít k vytvoření nového přístupového tokenu Azure AD.

  2. Získání přístupového tokenu Azure AD. Tento přístupový token musíte předat metodám v rozhraní API pro odesílání z Microsoft Storu. Po získání přístupového tokenu ho budete mít 60 minut, než vyprší jeho platnost. Po vypršení platnosti tokenu můžete získat nový.

  3. Vytvořte odeslání předletové verze balíčku spuštěním následující metody v rozhraní API pro odeslání v Microsoft Storu. Tato metoda vytvoří nové rozpracované předložení, což je kopie naposledy publikovaného předložení.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions
    

    Tělo odpovědi obsahuje prostředek pro zasílání letu, který zahrnuje ID nového podání, identifikátor URI sdíleného přístupového podpisu (SAS) pro nahrání balíčků určených k odeslání do služby Azure Blob Storage, a data pro nové podání (včetně všech výpisů a informací o cenách).

    Poznámka

    Identifikátor URI SAS poskytuje přístup k zabezpečenému prostředku v úložišti Azure bez nutnosti klíčů účtu. Základní informace o identifikátorech URI SAS a jejich použití se službou Azure Blob Storage najdete v tématu sdílených přístupových podpisů, část 1: Principy modelu SAS a sdílených přístupových podpisů, část 2: Vytvoření a použití SAS s úložištěm objektů blob.

  4. Pokud přidáváte nové balíčky pro odeslání, připravte balíčky a přidejte je do archivu ZIP.

  5. Revidujte odeslání testovací verze data o všech požadovaných změnách pro nové odeslání a provedením následující metody aktualizaci odeslání testovací verze balíčku.

    PUT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}
    

    Poznámka

    Pokud přidáváte nové balíčky pro odeslání, nezapomeňte aktualizovat data odeslání tak, aby odkazovat na název a relativní cestu k těmto souborům v archivu ZIP.

  6. Pokud přidáváte nové balíčky pro odeslání, nahrajte archiv ZIP do Azure Blob Storage pomocí identifikátoru URI SAS poskytnutého v textu odpovědi metody POST, kterou jste volali dříve. Existují různé knihovny Azure, které můžete použít k tomu na různých platformách, mezi které patří:

    Následující příklad kódu jazyka C# ukazuje, jak nahrát archiv ZIP do služby Azure Blob Storage pomocí třídy CloudBlockBlob v klientské knihovně služby Azure Storage pro .NET. Tento příklad předpokládá, že archiv ZIP již byl zapsán do objektu datového proudu.

    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. Potvrdit odeslání letového balíčku provedením následující metody. Tím se v Partnerském centru zobrazí upozornění, že jste s odesláním hotovi a že vaše aktualizace by se teď měly použít na váš účet.

    POST https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/commit
    
  8. Zkontrolujte stav potvrzení spuštěním následující metody, kterou získáte stav odeslání balíčku k testování.

    GET https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/status
    

    Pokud chcete potvrdit stav odeslání, zkontrolujte hodnotu stavu v textu odpovědi. Tato hodnota by se měla změnit z CommitStarted na Předzpracování, pokud je požadavek úspěšný, nebo na CommitFailed, pokud v požadavku dojde k chybám. Pokud dojde k chybám, pole statusDetails obsahuje další podrobnosti o chybě.

  9. Po úspěšném dokončení potvrzení se odeslání odešle do Storu pro příjem dat. Průběh odeslání můžete dál sledovat pomocí předchozí metody nebo v Partnerském centru.

Příklady kódu

Následující články obsahují podrobné příklady kódu, které ukazují, jak vytvořit odeslání testovací verze balíčku v několika různých programovacích jazycích:

Modul StoreBroker PowerShell

Jako alternativu k přímému volání rozhraní API pro odesílání z Microsoft Storu poskytujeme také opensourcový modul PowerShellu, který implementuje rozhraní příkazového řádku nad rozhraním API. Tento modul se nazývá StoreBroker. Tento modul můžete použít ke správě odesílání aplikací, testovací verze a doplňků z příkazového řádku místo přímého volání rozhraní API pro odesílání z Microsoft Storu nebo můžete jednoduše procházet zdroj a zobrazit další příklady volání tohoto rozhraní API. Modul StoreBroker se aktivně používá ve společnosti Microsoft jako primární způsob odesílání mnoha interních aplikací do Obchodu.

Další informace najdete na naší stránce StoreBroker na GitHubu.

Správa postupného zavedení balíčku pro odeslání testovací verze balíčku

Aktualizované balíčky můžete postupně zavádět v testovací distribuci balíčku pro určité procento zákazníků vaší aplikace ve Windows 10 a Windows 11. Díky tomu můžete monitorovat zpětnou vazbu a analytická data pro konkrétní balíčky, abyste měli jistotu, že máte o aktualizaci jistotu, než ji zpřístupníte obecněji. Procento zavedení aktualizace nebo její zastavení u publikované verze můžete změnit, aniž by bylo nutné vytvořit nové podání. Další podrobnosti, včetně pokynů k povolení a správě postupného zavedení balíčků v Partnerském centru, najdete v tomto článku.

Pokud chcete programově povolit postupné zavedení balíčku pro odeslání testovací verze balíčku, postupujte podle tohoto procesu pomocí metod v rozhraní API pro odeslání z Microsoft Storu:

  1. Odeslání testovacího balíčku nebo získání testovacího balíčku.
  2. V datech odpovědi najděte prostředek packageRollout, nastavte pole isPackageRollout na hodnotu true a nastavte pole packageRolloutPercentage na procento zákazníků aplikace, kteří by měli obdržet aktualizované balíčky.
  3. Předejte aktualizovaná data odeslání testovací verze balíčku do aktualizujte odeslání testovací verze balíčku metodu.

Po povolení postupného zavedení balíčku pro odeslání testovací verze balíčku můžete pomocí následujících metod programově získat, aktualizovat, zastavit nebo dokončit postupné zavedení.

Metoda Identifikátor URI Popis
ZÍSKAT https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/packagerollout získání informací o postupném zavedení pro odeslání testovací verze balíčku
PŘÍSPĚVEK https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/updatepackagerolloutpercentage aktualizovat procento postupného zavedení pro odeslání testovací verze balíčku
PŘÍSPĚVEK https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/haltpackagerollout zastavení postupného zavedení pro odeslání testovací verze balíčku
PŘÍSPĚVEK https://manage.devcenter.microsoft.com/v1.0/my/applications/{applicationId}/flights/{flightId}/submissions/{submissionId}/finalizepackagerollout dokončení postupného zavedení pro odeslání testovací verze balíčku

Datové prostředky

Metody rozhraní Microsoft Store API pro správu odeslání testovacích verzí balíčků používají následující datové zdroje JSON.

Zdroj pro podání letové verze

Tento zdroj popisuje odeslání balíčku na let.

{
  "id": "1152921504621243649",
  "flightId": "cd2e368a-0da5-4026-9f34-0e7934bc6f23",
  "status": "PendingCommit",
  "statusDetails": {
    "errors": [],
    "warnings": [],
    "certificationReports": []
  },
  "flightPackages": [
    {
      "fileName": "newPackage.appx",
      "fileStatus": "PendingUpload",
      "id": "",
      "version": "1.0.0.0",
      "languages": ["en-us"],
      "capabilities": [],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None"
    }
  ],
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
  "fileUploadUrl": "https://productingestionbin1.blob.core.windows.net/ingestion/8b389577-5d5e-4cbe-a744-1ff2e97a9eb8?sv=2014-02-14&sr=b&sig=wgMCQPjPDkuuxNLkeG35rfHaMToebCxBNMPw7WABdXU%3D&se=2016-06-17T21:29:44Z&sp=rwl",
  "targetPublishMode": "Immediate",
  "targetPublishDate": "",
  "notesForCertification": "No special steps are required for certification of this app."
}

Tento prostředek má následující hodnoty.

Hodnota Typ Popis
identifikační číslo řetězec Identifikátor odeslání.
ID letu řetězec ID letového balíčku, ke kterému je odesláním přidružené.
stav řetězec Stav odeslání. Může to být jedna z následujících hodnot:
  • Žádný
  • Zrušený
  • Čekající potvrzení
  • CommitStarted
  • SelháníPotvrzení
  • Čeká na publikaci
  • Publikování
  • Publikováno
  • Publikování se nezdařilo.
  • Předzpracování
  • Předběžné zpracování se nezdařilo
  • Certifikace
  • Certifikace selhala
  • Uvolnit
  • Uvolnění selhalo
podrobnosti stavu objekt Prostředek s podrobnostmi o stavu , který obsahuje další podrobnosti o stavu odeslání, včetně informací o jakýchkoli chybách.
balíčky letů pole Obsahuje prostředky letového balíčku, které poskytují podrobnosti o každém balíčku v rámci odeslání.
možnosti doručení balíčku objekt Prostředek pro možnosti doručení balíčku, který obsahuje nastavení pro postupné uvolňování balíčku a povinné aktualizace pro odeslání.
fileUploadUrl řetězec Identifikátor URI sdíleného přístupového podpisu (SAS) pro nahrání všech balíčků pro odeslání. Při přidávání nových balíčků pro odeslání nahrajte archiv ZIP obsahující balíčky na toto URI. Další informace naleznete v části Vytvoření testovacího vydání balíčku.
cílový režim publikování řetězec Režim publikování pro předložení. Může to být jedna z následujících hodnot:
  • Bezprostřední
  • Manuál
  • KonkrétníDatum
cílové datum publikace řetězec Datum publikování pro odeslání ve formátu ISO 8601, pokud je targetPublishMode nastaven na SpecificDate.
poznámkyProCertifikaci řetězec Poskytuje další informace pro certifikační testery, jako jsou přihlašovací údaje k testovacímu účtu a kroky pro přístup k funkcím a jejich ověření. Další informace najdete v tématu Poznámky k certifikaci.

Zdroj podrobností o stavu

Tento zdroj obsahuje podrobnější informace o stavu odeslání. Tento prostředek má následující hodnoty.

Hodnota Typ Popis
chyby objekt Pole zdrojů podrobností o stavu, které obsahují podrobnosti o chybě pro odeslání.
varování objekt Pole zdrojů podrobností o stavu, které obsahují podrobnosti upozornění pro odeslání.
certifikační zprávy objekt Pole prostředků certifikačních sestav, které poskytují přístup k datům certifikační sestavy pro odeslání. Pokud certifikace selže, můžete tyto sestavy prozkoumat pro více informací.

Zdroj podrobností o stavu

Tento zdroj obsahuje podrobnější informace o všech souvisejících chybách nebo upozorněních pro dané odeslání. Tento prostředek má následující hodnoty.

Hodnota Typ Popis
kód řetězec Stavový kód odeslání , který popisuje typ chyby nebo upozornění.
podrobnosti řetězec Zpráva s dalšími podrobnostmi o problému

Zdroj certifikační zprávy

Tento zdroj poskytuje přístup k datům certifikační zprávy pro odeslání. Tento prostředek má následující hodnoty.

Hodnota Typ Popis
datum řetězec Datum a čas vygenerování sestavy ve formátu ISO 8601.
reportUrl řetězec URL adresa, na které je dostupná zpráva.

Prostředek letového balíčku

Tento zdroj obsahuje podrobnosti o balíčku v podání.

{
  "flightPackages": [
    {
      "fileName": "newPackage.appx",
      "fileStatus": "PendingUpload",
      "id": "",
      "version": "1.0.0.0",
      "languages": ["en-us"],
      "capabilities": [],
      "minimumDirectXVersion": "None",
      "minimumSystemRam": "None"
    }
  ],
}

Tento prostředek má následující hodnoty.

Poznámka

Při volání metody pro aktualizaci odeslání testovací verze balíčku jsou v těle požadavku vyžadovány pouze hodnoty fileName, fileStatus, minimumDirectXVersiona minimumSystemRam tohoto objektu. Ostatní hodnoty jsou vyplněny Partnerským centrem.

Hodnota Typ Popis
jméno souboru řetězec Název balíčku.
stav souboru řetězec Stav balíčku. Může to být jedna z následujících hodnot:
  • Žádný
  • Čeká na nahrání
  • Nahrané
  • ČekajícíSmazání
identifikační číslo řetězec ID, které jednoznačně identifikuje balíček. Tuto hodnotu používá Partnerské centrum.
verze řetězec Verze balíčku aplikace. Další informace viz číslování verzí balíčku.
architektura řetězec Architektura balíčku aplikace (například ARM).
jazyky pole Pole jazykových kódů pro jazyky, které aplikace podporuje. Další informace naleznete v tématu podporované jazyky.
schopnosti pole Pole funkcí vyžadovaných balíčkem. Další informace o možnostech najdete v tématu Deklarace schopností aplikace.
minimálníVerzeDirectX řetězec Minimální verze DirectX podporovaná balíčkem aplikace. To lze nastavit pouze pro aplikace, které cílí na Windows 8.x; aplikace, které cílí na jiné verze, se ignorují. Může to být jedna z následujících hodnot:
  • Žádný
  • DirectX93
  • DirectX100
minimální paměť RAM systému řetězec Minimální paměť RAM, kterou vyžaduje balíček aplikace. To lze nastavit pouze pro aplikace, které cílí na Windows 8.x; aplikace, které cílí na jiné verze, se ignorují. Může to být jedna z následujících hodnot:
  • Žádný
  • Paměť 2 GB

Zdroje možností doručení balíčku

Tento prostředek obsahuje postupné zavedení balíčku a povinná nastavení aktualizace pro odeslání.

{
  "packageDeliveryOptions": {
    "packageRollout": {
        "isPackageRollout": false,
        "packageRolloutPercentage": 0.0,
        "packageRolloutStatus": "PackageRolloutNotStarted",
        "fallbackSubmissionId": "0"
    },
    "isMandatoryUpdate": false,
    "mandatoryUpdateEffectiveDate": "1601-01-01T00:00:00.0000000Z"
  },
}

Tento prostředek má následující hodnoty.

Hodnota Typ Popis
packageRollout objekt Prostředek zavedení balíčku, který obsahuje nastavení postupného zavedení balíčku pro odeslání.
povinnáAktualizace booleovský Určuje, jestli chcete s balíčky v tomto odeslání zacházet jako s povinnými aktualizacemi aplikací, které se instalují sami. Další informace o povinných balíčcích pro samoobslužné instalace aktualizací aplikací najdete v tématu Stažení a instalace aktualizací balíčků pro vaši aplikaci.
povinnéDatumÚčinnostiAktualizace datum Datum a čas, kdy se balíčky v tomto odeslání stanou povinnými, ve formátu ISO 8601 a v časovém pásmu UTC.

Prostředek zavedení balíčku

Tento zdroj obsahuje nastavení postupného zavedení balíčku pro odeslání. Tento prostředek má následující hodnoty.

Hodnota Typ Popis
isPackageRollout booleovský Určuje, zda je pro odeslání povoleno postupné zavádění balíčku.
procento nasazení balíčku plout Procento uživatelů, kteří dostanou balíčky v postupném zavedení
packageRolloutStatus řetězec Jeden z následujících řetězců, který označuje stav postupného zavedení balíčku:
  • Nasazení balíčku nezačalo
  • Probíhá zavádění balíčku
  • DistribuceBalíčkuDokončena
  • Zastavené zavádění balíčku
Identifikátor záložního odeslání řetězec ID podání, které obdrží zákazníci, kteří nedostanou balíčky s postupným rozšiřováním.

Poznámka

Hodnoty packageRolloutStatus a fallbackSubmissionId jsou přiřazeny partnerským centrem a nejsou určené pro vývojáře. Pokud tyto hodnoty zahrnete do textu požadavku, budou tyto hodnoty ignorovány.

Výčty

Tyto metody používají následující výčty.

Stavový kód odeslání

Následující kódy představují stav odeslání.

Kód Popis
Žádný Nebyl zadán žádný kód.
Neplatný archiv Archiv ZIP obsahující balíček je neplatný nebo má nerozpoznaný formát archivu.
MissingFiles Archiv ZIP neobsahuje všechny soubory uvedené v datech odeslání nebo jsou v archivu v nesprávném umístění.
Selhání při validaci balíčku Nepodařilo se ověřit jeden nebo více balíčků ve vašem odeslání.
Neplatná hodnota parametru Jeden z parametrů v textu požadavku je neplatný.
Neplatná operace Operace, kterou jste se pokusili, je neplatná.
Neplatný stav Operace, kterou jste se pokusili, není platná pro aktuální stav testovací verze balíčku.
ZdrojNenalezen Zadaný let balíčku nebyl nalezen.
Chyba služby Vnitřní chyba služby zabránila úspěšnému požadavku. Zkuste požadavek zopakovat.
Varování o odstoupení ze seznamu Vývojář odstranil položku z předchozího odeslání nebo neuváděl informace o položkách, které balíček podporuje.
Varování při přihlášení k zobrazení Vývojář přidal seznam.
Upozornění pouze na aktualizaci Vývojář se pokouší vložit něco, co podporuje pouze aktualizace.
Jiný Odeslání je v nerozpoznaném nebo nezařazeném stavu.
Upozornění na ověření balíčku Proces ověření balíčku způsobil upozornění.