Verwalten von Add-On-Übermittlungen
Die Microsoft Store-Übermittlungs-API bietet Methoden zum Verwalten von Add-On-Übermittlungen (auch als In-App-Produkt oder IAP bezeichnet) für Ihre Apps. Eine Einführung in die Microsoft Store-Übermittlungs-API, einschließlich der Voraussetzungen für die Verwendung der API, finden Sie unter Erstellen und Verwalten von Übermittlungen mithilfe von Microsoft Store-Diensten.
Wichtig
Wenn Sie die Microsoft Store-Übermittlungs-API zum Erstellen einer Übermittlung für ein Add-On verwenden, stellen Sie sicher, dass Sie weitere Änderungen an der Übermittlung nur mithilfe der API vornehmen, anstatt Änderungen im Partner Center vorzunehmen. Wenn Sie Partner Center verwenden, um eine Übermittlung zu ändern, die Sie ursprünglich mithilfe der API erstellt haben, können Sie diese Übermittlung nicht mehr mithilfe der API ändern oder übernehmen. In einigen Fällen kann die Übermittlung in einem Fehlerzustand verbleiben, in dem sie nicht im Übermittlungsprozess fortgesetzt werden kann. In diesem Fall müssen Sie die Übermittlung löschen und eine neue Übermittlung erstellen.
Methoden zum Verwalten von Add-On-Übermittlungen
Verwenden Sie die folgenden Methoden, um eine Add-On-Übermittlung abzurufen, zu erstellen, zu aktualisieren, zu übernehmen oder zu löschen. Bevor Sie diese Methoden verwenden können, muss das Add-On bereits in Ihrem Partner Center-Konto vorhanden sein. Sie können ein Add-On im Partner Center erstellen, indem Sie den Produkttyp und die Produkt-ID definieren oder die Methoden der Microsoft Store-Übermittlungs-API verwenden, die in Add-Ons verwalten beschrieben werden.
Method | URI | Beschreibung |
---|---|---|
GET | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Abrufen einer vorhandenen Add-On-Übermittlung |
GET | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status | Abrufen des Status einer vorhandenen Add-On-Übermittlung |
POST | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions | Erstellen einer neuen Add-On-Übermittlung |
PUT | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Aktualisieren einer vorhandenen Add-On-Übermittlung |
POST | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit | Commit für eine neue oder aktualisierte Add-On-Übermittlung |
DELETE | https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId} | Löschen einer Add-On-Übermittlung |
Erstellen einer Add-On-Übermittlung
Führen Sie diesen Vorgang aus, um eine Übermittlung für ein Add-On zu erstellen.
Wenn Sie dies noch nicht getan haben, füllen Sie die unter Erstellen und Verwalten von Übermittlungen mit Microsoft Store-Diensten beschriebenen Voraussetzungen aus, einschließlich der Zuordnung einer Azure AD-Anwendung zu Ihrem Partner Center-Konto und zum Abrufen Ihrer Client-ID und des Schlüssels. Sie müssen dies nur einmal tun; Nachdem Sie über die Mandanten-ID, die Client-ID und den Schlüssel verfügen, können Sie diese jederzeit wiederverwenden, wenn Sie ein neues Azure AD-Zugriffstoken erstellen müssen.
Abrufen eines Azure AD-Zugriffstokens Sie müssen dieses Zugriffstoken an die Methoden in der Microsoft Store-Übermittlungs-API übergeben. Nachdem Sie ein Zugriffstoken erhalten haben, haben Sie 60 Minuten Zeit, es zu verwenden, bevor es abläuft. Nachdem das Token abgelaufen ist, können Sie eine neue abrufen.
Führen Sie die folgende Methode in der Microsoft Store-Übermittlungs-API aus. Diese Methode erstellt eine neue laufende Übermittlung, bei der es sich um eine Kopie Ihrer letzten veröffentlichten Übermittlung handelt. Weitere Informationen finden Sie unter Erstellen einer Add-On-Übermittlung.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions
Der Antworttext enthält eine Add-On-Übermittlungsressource, die die ID der neuen Übermittlung, den SAS-URI (Shared Access Signature) zum Hochladen von Add-On-Symbolen für die Übermittlung in Azure Blob Storage und alle Daten für die neue Übermittlung enthält (z. B. Die Auflistungen und Preisinformationen).
Hinweis
Ein SAS-URI bietet Zugriff auf eine sichere Ressource im Azure-Speicher, ohne dass Kontoschlüssel erforderlich sind. Hintergrundinformationen zu SAS-URIs und deren Verwendung mit Azure Blob Storage finden Sie unter Shared Access Signatures, Teil 1: Grundlegendes zum SAS-Modell und freigegebenen Zugriffssignaturen, Teil 2: Erstellen und Verwenden eines SAS mit Blob-Speicher.
Wenn Sie neue Symbole für die Übermittlung hinzufügen, bereiten Sie die Symbole vor, und fügen Sie sie einem ZIP-Archiv hinzu.
Aktualisieren Sie die Add-On-Übermittlungsdaten mit allen erforderlichen Änderungen für die neue Übermittlung, und führen Sie die folgende Methode aus, um die Übermittlung zu aktualisieren. Weitere Informationen finden Sie unter Aktualisieren einer Add-On-Übermittlung.
PUT https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}
Hinweis
Wenn Sie neue Symbole für die Übermittlung hinzufügen, müssen Sie die Übermittlungsdaten aktualisieren, um auf den Namen und den relativen Pfad dieser Dateien im ZIP-Archiv zu verweisen.
Wenn Sie neue Symbole für die Übermittlung hinzufügen, laden Sie das ZIP-Archiv mithilfe des SAS-URI in Azure Blob Storage hoch, der im Antworttext der POST-Methode bereitgestellt wurde, die Sie zuvor aufgerufen haben. Es gibt verschiedene Azure-Bibliotheken, mit denen Sie dies auf einer Vielzahl von Plattformen tun können, darunter:
Im folgenden C#-Codebeispiel wird das Hochladen eines ZIP-Archivs in Azure Blob Storage mithilfe der CloudBlockBlobe-Klasse, in der Azure Storage-Clientbibliothek für .NET veranschaulicht. In diesem Beispiel wird davon ausgegangen, dass das ZIP-Archiv bereits in ein Streamobjekt geschrieben wurde.
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);
Führen Sie die folgende Methode aus, um die Übermittlung zu übernehmen. Dadurch wird Partner Center benachrichtigt, dass Sie mit Ihrer Übermittlung fertig sind und dass Ihre Updates jetzt auf Ihr Konto angewendet werden sollen. Weitere Informationen finden Sie unter Einreichen einer Add-On-Übermittlung.
POST https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/commit
Überprüfen Sie den Commitstatus, indem Sie die folgende Methode ausführen. Weitere Informationen finden Sie unter Abrufen des Status einer Add-On-Übermittlung.
GET https://manage.devcenter.microsoft.com/v1.0/my/inappproducts/{id}/submissions/{submissionId}/status
Um den Übermittlungsstatus zu bestätigen, überprüfen Sie den Statuswert im Antworttext. Dieser Wert sollte von CommitStarted in PreProcessing geändert werden, wenn die Anforderung erfolgreich ist oder CommitFailed ausgeführt wird, wenn Fehler in der Anforderung vorhanden sind. Wenn Fehler vorhanden sind, enthält das Feld statusDetails weitere Details zum Fehler.
Nachdem der Commit erfolgreich abgeschlossen wurde, wird die Übermittlung zur Aufnahme an den Store gesendet. Sie können den Übermittlungsfortschritt weiterhin mithilfe der vorherigen Methode oder über das Partner Center überwachen.
Codebeispiele
Die folgenden Artikel enthalten ausführliche Codebeispiele, die veranschaulichen, wie eine Add-On-Übermittlung in verschiedenen Programmiersprachen erstellt wird:
StoreBroker PowerShell-Modul
Als Alternative zum direkten Aufrufen der Microsoft Store-Übermittlungs-API stellen wir auch ein Open-Source-PowerShell-Modul bereit, das eine Befehlszeilenschnittstelle über die API implementiert. Dieses Modul wird als StoreBroker bezeichnet. Sie können dieses Modul verwenden, um Ihre App-, Flight- und Add-On-Übermittlungen über die Befehlszeile zu verwalten, anstatt die Microsoft Store-Übermittlungs-API direkt aufzurufen, oder Sie können einfach die Quelle durchsuchen, um weitere Beispiele für den Aufruf dieser API anzuzeigen. Das StoreBroker-Modul wird in Microsoft aktiv als primäre Art und Weise verwendet, wie viele Erstanbieteranwendungen an den Store übermittelt werden.
Weitere Informationen finden Sie auf unserer StoreBroker-Seite auf GitHub.
Datenressourcen
Die Methoden der Microsoft Store-Übermittlungs-API zum Verwalten von Add-On-Übermittlungen verwenden die folgenden JSON-Datenressourcen.
Add-On-Übermittlungsressource
Diese Ressource beschreibt eine Add-On-Übermittlung.
{
"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"
}
Diese Ressource weist die folgenden Werte auf:
Wert | Typ | Beschreibung |
---|---|---|
id | Zeichenfolge | Die ID der Übermittlung Diese ID steht in den Antwortdaten für Anforderungen zum Erstellen einer Add-On-Übermittlung, zum Abrufen aller Add-Ons und zum Abrufen eines Add-Ons zur Verfügung. Für eine Übermittlung, die im Partner Center erstellt wurde, ist diese ID auch in der URL für die Übermittlungsseite im Partner Center verfügbar. |
contentType | Zeichenfolge | Der Inhaltstyp, der im Add-On bereitgestellt wird. Dies kann einer der folgenden Werte sein:
|
keywords | array | Ein Array von Zeichenfolgen, die bis zu 10 Schlüsselwörter für das Add-On enthalten. Ihre App kann mithilfe dieser Schlüsselwort (keyword) nach Add-Ons abfragen. |
Lebensdauer | Zeichenfolge | Die Lebensdauer des Add-Ons. Dies kann einer der folgenden Werte sein:
|
listings | Objekt | Ein Wörterbuch mit Schlüssel- und Wertpaaren, wobei jeder Schlüssel ein zweiseitiger ISO 3166-1 Alpha-2-Ländercode ist und jeder Wert eine Eintragsressource ist, die Eintragsinformationen für das Add-On enthält. |
Preise | Objekt | Eine Preisressource, die Preisinformationen für das Add-On enthält. |
targetPublishMode | Zeichenfolge | Der Veröffentlichungsmodus für die Übermittlung. Dies kann einer der folgenden Werte sein:
|
targetPublishDate | Zeichenfolge | Das Veröffentlichungsdatum für die Übermittlung im ISO 8601-Format, wenn der targetPublishMode auf SpecificDate festgelegt ist. |
tag | Zeichenfolge | Die benutzerdefinierten Entwicklerdaten für das Add-On (diese Informationen wurden zuvor als Tag bezeichnet). |
Sichtbarkeit | Zeichenfolge | Die Sichtbarkeit des Add-Ons. Dies kann einer der folgenden Werte sein:
|
status | Zeichenfolge | Der Status der Übermittlung. Dies kann einer der folgenden Werte sein:
|
statusDetails | Objekt | Eine Statusdetailsesource, die zusätzliche Details zum Status der Übermittlung enthält, einschließlich Informationen zu Fehlern. |
fileUploadUrl | Zeichenfolge | Der SAS-URI (Shared Access Signature) zum Hochladen von Paketen für die Übermittlung. Wenn Sie neue Pakete für die Übermittlung hinzufügen, laden Sie das ZIP-Archiv hoch, das die Pakete enthält, in diesen URI. Weitere Informationen finden Sie unter Erstellen einer Add-On-Übermittlung. |
friendlyName | Zeichenfolge | Der Anzeigename der Übermittlung, wie im Partner Center gezeigt. Dieser Wert wird für Sie generiert, wenn Sie die Übermittlung erstellen. |
Auflistungsressource
Diese Ressource enthält Eintragsinformationen für ein Add-On. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | BESCHREIBUNG |
---|---|---|
Beschreibung | string | Die Beschreibung für das Add-On-Listing. |
Symbol | Objekt | Eine Symbolressource, die Daten für das Symbol für das Add-On-Listing enthält. |
title | Zeichenfolge | Der Titel für das Add-On-Listing. |
Symbolressource
Diese Ressource enthält Symboldaten für ein Add-On-Listing. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | Beschreibung |
---|---|---|
fileName | Zeichenfolge | Der Name der Symboldatei im ZIP-Archiv, das Sie für die Übermittlung hochgeladen haben. Das Symbol muss eine PNG-Datei sein, die genau 300 x 300 Pixel misst. |
fileStatus | Zeichenfolge | Der Status der Symboldatei. Dies kann einer der folgenden Werte sein:
|
Preisressource
Diese Ressource enthält Preisinformationen für das Add-On. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | Beschreibung |
---|---|---|
marketSpecificPricings | Objekt | Ein Wörterbuch mit Schlüssel- und Wertpaaren, wobei jeder Schlüssel ein zweiseitiger ISO 3166-1 Alpha-2-Ländercode ist und jeder Wert ein Preisniveau ist. Diese Artikel stellen die benutzerdefinierten Preise für Ihr Add-On in bestimmten Märkten dar. Alle Elemente in diesem Wörterbuch setzen den Grundpreis außer Kraft, der durch den PriceId-Wert für den angegebenen Markt angegeben wird. |
sales | array | Veraltet. Ein Array von Verkaufsressourcen, die Verkaufsinformationen für das Add-On enthalten. |
priceId | Zeichenfolge | Ein Preisniveau, das den Grundpreis für das Add-On angibt. |
isAdvancedPricingModel | boolean | Wenn zutreffend, hat Ihr Entwicklerkonto Zugriff auf die erweiterte Gruppe von Preisniveaus von 0,99 USD auf 1999,99 USD. Wenn falsch, hat Ihr Entwicklerkonto Zugriff auf die originale Gruppe von Preisniveaus von 0,99 USD auf 999,99 USD. Weitere Informationen zu den verschiedenen Ebenen finden Sie unter Preisniveaus. Hinweis Dieses Feld ist schreibgeschützt |
Verkaufsressource
Diese Ressourcen enthalten Verkaufsinformationen für ein Add-On.
Wichtig
Die Verkaufsressource wird nicht mehr unterstützt, und derzeit können Sie die Verkaufsdaten für eine Add-On-Übermittlung nicht mithilfe der Microsoft Store-Übermittlungs-API abrufen oder ändern. In Zukunft aktualisieren wir die Microsoft Store-Übermittlungs-API, um eine neue Möglichkeit für den programmgesteuerten Zugriff auf Verkaufsinformationen für Add-On-Übermittlungen einzuführen.
- Nach dem Aufrufen der GET-Methode zum Abrufen einer Add-On-Übermittlung ist der Verkaufswert leer. Sie können weiterhin Partner Center verwenden, um die Verkaufsdaten für Ihre Add-On-Übermittlung abzurufen.
- Beim Aufrufen der PUT-Methode zum Aktualisieren einer Add-On-Übermittlung werden die Informationen im Verkaufswert ignoriert. Sie können weiterhin Partner Center verwenden, um die Verkaufsdaten für Ihre Add-On-Übermittlung zu ändern.
Diese Ressource weist die folgenden Werte auf:
Wert | Typ | BESCHREIBUNG |
---|---|---|
name | Zeichenfolge | Der Name des Verkaufs. |
basePriceId | Zeichenfolge | Das Preisniveau, das für den Grundpreis des Verkaufs verwendet werden soll. |
startDate | Zeichenfolge | Das Startdatum für den Verkauf im ISO 8601-Format. |
endDate | Zeichenfolge | Das Enddatum für den Verkauf im ISO 8601-Format. |
marketSpecificPricings | Objekt | Ein Wörterbuch mit Schlüssel- und Wertpaaren, wobei jeder Schlüssel ein zweiseitiger ISO 3166-1 Alpha-2-Ländercode ist und jeder Wert ein Preisniveau ist. Diese Artikel stellen die benutzerdefinierten Preise für Ihr Add-On in bestimmten Märkten dar. Alle Elemente in diesem Wörterbuch setzen den Grundpreis außer Kraft, der durch den basePriceId für den angegebenen Markt angegeben wird. |
Statusdetails-Ressource
Diese Ressource enthält zusätzliche Details zum Status einer Übermittlung. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | Beschreibung |
---|---|---|
errors | Objekt | Ein Array von Statusdetailsesourcen, die Fehlerdetails für die Übermittlung enthalten. |
warnings | Objekt | Ein Array von Statusdetailsesourcen, die Warnungsdetails für die Übermittlung enthalten. |
certificationReports | Objekt | Ein Array von Zertifizierungsberichtsressourcen, die Zugriff auf die Zertifizierungsberichtsdaten für die Übermittlung bieten. Sie können diese Berichte auf weitere Informationen überprüfen, wenn die Zertifizierung fehlschlägt. |
Statusdetailressource
Diese Ressource enthält zusätzliche Informationen zu Fehlern oder Warnungen für eine Übermittlung. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | BESCHREIBUNG |
---|---|---|
code | Zeichenfolge | Ein Übermittlungsstatuscode, der den Typ des Fehlers oder der Warnung beschreibt. |
details | Zeichenfolge | Eine Nachricht mit weiteren Details zum Problem. |
Ressource für den Zertifizierungsbericht
Diese Ressource bietet Zugriff auf die Zertifizierungsberichtsdaten für eine Übermittlung. Diese Ressource weist die folgenden Werte auf:
Wert | Typ | Beschreibung |
---|---|---|
Datum | Zeichenfolge | Datum und Uhrzeit der Berichterstellung im ISO 8601-Format. |
reportUrl | Zeichenfolge | Die URL, über die Sie auf den Bericht zugreifen können. |
Enumerationen
Diese Methoden verwenden die folgenden Enumerationen.
Preisstufen
Die folgenden Werte stellen die verfügbaren Preisniveaus in der Ressourcenressource für eine Add-On-Übermittlung dar.
Wert | Beschreibung |
---|---|
Basis | Das Preisniveau ist nicht festgelegt; verwenden Sie den Grundpreis für das Add-On. |
NotAvailable | Das Add-On ist in der angegebenen Region nicht verfügbar. |
Kostenlos | Das Add-On ist kostenlos. |
Tierxxxx | Eine Zeichenfolge, die das Preisniveau für das Add-On im Format Tierxxxx angibt. Derzeit werden die folgenden Preisstufen unterstützt:
|
Übermittlungsstatuscode
Die folgenden Werte stellen den Statuscode einer Übermittlung dar.
Wert | BESCHREIBUNG |
---|---|
Keine | Es wurde kein Code angegeben. |
InvalidArchive | Das ZIP-Archiv, das das Paket enthält, ist ungültig oder weist ein unbekanntes Archivformat auf. |
MissingFiles | Das ZIP-Archiv verfügt nicht über alle Dateien, die in Ihren Übermittlungsdaten aufgelistet wurden, oder sie befinden sich am falschen Speicherort im Archiv. |
PackageValidationFailed | Mindestens ein Paket in Ihrer Übermittlung konnte nicht überprüft werden. |
InvalidParameterValue | Einer der Parameter im Anforderungstext ist ungültig. |
InvalidOperation | Der von Ihnen versuchte Vorgang ist ungültig. |
InvalidState | Der von Ihnen versuchte Vorgang ist für den aktuellen Status des Flight-Pakets ungültig. |
ResourceNotFound | Das angegebene Flight-Paket konnte nicht gefunden werden. |
ServiceError | Ein interner Dienstfehler verhinderte, dass die Anforderung erfolgreich war. Versuchen Sie die Anforderung erneut. |
ListingOptOutWarning | Der Entwickler hat eine Auflistung aus einer vorherigen Übermittlung entfernt oder keine Eintragsinformationen enthalten, die vom Paket unterstützt werden. |
ListingOptInWarning | Der Entwickler hat einen Eintrag hinzugefügt. |
UpdateOnlyWarning | Der Entwickler versucht, etwas einzufügen, das nur Updateunterstützung enthält. |
Andere | Die Übermittlung befindet sich in einem nicht erkannten oder nicht kategorisierten Zustand. |
PackageValidationWarning | Der Paketüberprüfungsprozess führte zu einer Warnung. |