Senden von Anforderungen an den Microsoft Store

Ab Windows 10 Version 1607 stellt das Windows SDK APIs für Store-bezogene Vorgänge (z. B. In-App-Käufe) im Windows.Services.Store-Namespace bereit. Obwohl die Dienste, die den Store unterstützen, zwischen Betriebssystemversionen ständig aktualisiert, erweitert und verbessert werden, werden neue APIs in der Regel nur während der wichtigsten Betriebssystemversionen zum Windows SDK hinzugefügt.

Wir bieten die SendRequestAsync-Methode als flexible Möglichkeit, neue Store-Vorgänge für Universelle Windows-Plattform-Apps (UWP) verfügbar zu machen, bevor eine neue Version des Windows SDK veröffentlicht wird. Sie können diese Methode verwenden, um Anforderungen für neue Vorgänge an den Store zu senden, für die noch keine entsprechende API in der neuesten Version des Windows SDK verfügbar ist.

Hinweis

Die SendRequestAsync-Methode ist nur für Apps verfügbar, die auf Windows 10, Version 1607 oder höher abzielen. Einige der anforderungen, die von dieser Methode unterstützt werden, werden nur in Releases nach Windows 10 Version 1607 unterstützt.

SendRequestAsync ist eine statische Methode der StoreRequestHelper-Klasse . Um diese Methode aufzurufen, müssen Sie die folgenden Informationen an die -Methode übergeben:

  • Ein StoreContext-Objekt , das Informationen zu dem Benutzer bereitstellt, für den Sie den Vorgang ausführen möchten. Weitere Informationen zu diesem Objekt finden Sie unter Erste Schritte mit der StoreContext-Klasse.
  • Eine ganze Zahl, die die Anforderung identifiziert, die Sie an den Store senden möchten.
  • Wenn die Anforderung Argumente unterstützt, können Sie auch eine JSON-formatierte Zeichenfolge übergeben, die die Argumente enthält, die mit der Anforderung übergeben werden sollen.

Das folgende Beispiel veranschaulicht, wie die Methode aufgerufen wird. In diesem Beispiel sind using-Anweisungen für die Namespaces Windows.Services.Store und System.Threading.Tasks erforderlich.

public async Task<bool> AddUserToFlightGroup()
{
    StoreSendRequestResult result = await StoreRequestHelper.SendRequestAsync(
        StoreContext.GetDefault(), 8,
        "{ \"type\": \"AddToFlightGroup\", \"parameters\": { \"flightGroupId\": \"your group ID\" } }");

    if (result.ExtendedError == null)
    {
        return true;
    }

    return false;
}

In den folgenden Abschnitten finden Sie Informationen zu den Anforderungen, die derzeit über die SendRequestAsync-Methode verfügbar sind. Wir werden diesen Artikel aktualisieren, wenn Unterstützung für neue Anforderungen hinzugefügt wird.

Anforderung von In-App-Bewertungen und Bewertungen

Sie können programmgesteuert einen Dialog aus Ihrer App starten, in dem Ihr Kunde aufgefordert wird, Ihre App zu bewerten und eine Überprüfung zu übermitteln, indem Sie die Anforderungszahl 16 an die SendRequestAsync-Methode übergeben. Weitere Informationen finden Sie unter Anzeigen eines Bewertungs- und Überprüfungsdialogfelds in Ihrer App.

Anforderungen für Fluggruppenszenarien

Wichtig

Alle in diesem Abschnitt beschriebenen Anforderungen für Fluggruppen sind derzeit für die meisten Entwicklerkonten nicht verfügbar. Diese Anforderungen schlagen fehl, es sei denn, Ihr Entwicklerkonto wird speziell von Microsoft bereitgestellt.

Die SendRequestAsync-Methode unterstützt eine Reihe von Anforderungen für Flightgruppenszenarien, z. B. das Hinzufügen eines Benutzers oder Geräts zu einer Fluggruppe. Um diese Anforderungen zu übermitteln, übergeben Sie den Wert 7 oder 8 zusammen mit einer JSON-formatierten Zeichenfolge an den parameterAsJson-Parameter, der die Anforderung angibt, die Sie übermitteln möchten, zusammen mit allen verwandten Argumenten. Diese requestKind-Werte unterscheiden sich in den folgenden Arten.

Anforderungsartwert BESCHREIBUNG
7 Die Anforderungen werden im Kontext des aktuellen Geräts ausgeführt. Dieser Wert kann nur für Windows 10, Version 1703 oder höher, verwendet werden.
8 Die Anforderungen werden im Kontext des Benutzers ausgeführt, der derzeit beim Store angemeldet ist. Dieser Wert kann auf Windows 10, Version 1607 oder höher, verwendet werden.

Die folgenden Flightgruppenanforderungen werden derzeit implementiert.

Abrufen von Remotevariablen für die am höchsten eingestufte Flight-Gruppe

Wichtig

Diese Anforderung ist derzeit für die meisten Entwicklerkonten nicht verfügbar. Diese Anforderung schlägt fehl, es sei denn, Ihr Entwicklerkonto wird speziell von Microsoft bereitgestellt.

Diese Anforderung ruft die Remotevariablen für die am höchsten eingestufte Flight-Gruppe für den aktuellen Benutzer oder das aktuelle Gerät ab. Um diese Anforderung zu senden, übergeben Sie die folgenden Informationen an die Parameter requestKind und parametersAsJson der SendRequestAsync-Methode .

Parameter BESCHREIBUNG
requestKind Geben Sie 7 an, um die am höchsten eingestufte Fluggruppe für das Gerät zurückzugeben, oder geben Sie 8 an, um die am höchsten eingestufte Fluggruppe für den aktuellen Benutzer und das aktuelle Gerät zurückzugeben. Es wird empfohlen, den Wert 8 für den parameter requestKind zu verwenden, da dieser Wert sowohl für den aktuellen Benutzer als auch für das gerät die ranghöchste Flight-Gruppe für die Mitgliedschaft zurückgibt.
parametersAsJson Übergeben Sie eine JSON-formatierte Zeichenfolge, die die im folgenden Beispiel gezeigten Daten enthält.

Das folgende Beispiel zeigt das Format der JSON-Daten, die an parametersAsJson übergeben werden sollen. Das Typfeld muss der Zeichenfolge GetRemoteVariables zugewiesen werden. Weisen Sie das Feld projectId der ID des Projekts zu, in dem Sie die Remotevariablen in Partner Center definiert haben.

{ 
    "type": "GetRemoteVariables", 
    "parameters": "{ \"projectId\": \"your project ID\" }" 
}

Nachdem Sie diese Anforderung übermittelt haben, enthält die Response-Eigenschaft des StoreSendRequestResult-Rückgabewerts eine JSON-formatierte Zeichenfolge mit den folgenden Feldern.

Feld BESCHREIBUNG
anonymous Ein boolescher Wert, wobei true angibt, dass die Benutzer- oder Geräteidentität in der Anforderung nicht vorhanden war, und false gibt an, dass die Benutzer- oder Geräteidentität in der Anforderung vorhanden war.
name Eine Zeichenfolge, die den Namen der am höchsten eingestuften Flightgruppe enthält, zu der das Gerät oder der Benutzer gehört.
settings Ein Wörterbuch mit Schlüssel-Wert-Paaren, das den Namen und den Wert der Remotevariablen enthält, die der Entwickler für die Fluggruppe konfiguriert hat.

Im folgenden Beispiel wird ein Rückgabewert für diese Anforderung veranschaulicht.

{ 
  "anonymous": false, 
  "name": "Insider Slow",
  "settings":
  {
      "Audience": "Slow"
      ...
  }
}

Hinzufügen des aktuellen Geräts oder Benutzers zu einer Flightgruppe

Wichtig

Diese Anforderung ist derzeit für die meisten Entwicklerkonten nicht verfügbar. Diese Anforderung schlägt fehl, es sei denn, Ihr Entwicklerkonto wird speziell von Microsoft bereitgestellt.

Um diese Anforderung zu senden, übergeben Sie die folgenden Informationen an die Parameter requestKind und parametersAsJson der SendRequestAsync-Methode .

Parameter BESCHREIBUNG
requestKind Geben Sie 7 an, um das Gerät einer Fluggruppe hinzuzufügen, oder geben Sie 8 an, um den Benutzer, der derzeit beim Store angemeldet ist, einer Fluggruppe hinzuzufügen.
parametersAsJson Übergeben Sie eine JSON-formatierte Zeichenfolge, die die im folgenden Beispiel gezeigten Daten enthält.

Das folgende Beispiel zeigt das Format der JSON-Daten, die an parametersAsJson übergeben werden sollen. Das Typfeld muss der Zeichenfolge AddToFlightGroup zugewiesen werden. Weisen Sie das Feld flightGroupId der ID der Fluggruppe zu, der Sie das Gerät oder den Benutzer hinzufügen möchten.

{ 
    "type": "AddToFlightGroup", 
    "parameters": "{ \"flightGroupId\": \"your group ID\" }" 
}

Wenn bei der Anforderung ein Fehler auftritt, enthält die HttpStatusCode-Eigenschaft des StoreSendRequestResult-Rückgabewerts den Antwortcode.

Entfernen des aktuellen Geräts oder Benutzers aus einer Flightgruppe

Wichtig

Diese Anforderung ist derzeit für die meisten Entwicklerkonten nicht verfügbar. Diese Anforderung schlägt fehl, es sei denn, Ihr Entwicklerkonto wird speziell von Microsoft bereitgestellt.

Um diese Anforderung zu senden, übergeben Sie die folgenden Informationen an die Parameter requestKind und parametersAsJson der SendRequestAsync-Methode .

Parameter BESCHREIBUNG
requestKind Geben Sie 7 an, um das Gerät aus einer Flightgruppe zu entfernen, oder geben Sie 8 an, um den Benutzer, der derzeit beim Store angemeldet ist, aus einer Fluggruppe zu entfernen.
parametersAsJson Übergeben Sie eine JSON-formatierte Zeichenfolge, die die im folgenden Beispiel gezeigten Daten enthält.

Das folgende Beispiel zeigt das Format der JSON-Daten, die an parametersAsJson übergeben werden sollen. Das Typfeld muss der Zeichenfolge RemoveFromFlightGroup zugewiesen sein. Weisen Sie das Feld flightGroupId der ID der Fluggruppe zu, aus der Sie das Gerät oder den Benutzer entfernen möchten.

{ 
    "type": "RemoveFromFlightGroup", 
    "parameters": "{ \"flightGroupId\": \"your group ID\" }" 
}

Wenn bei der Anforderung ein Fehler auftritt, enthält die HttpStatusCode-Eigenschaft des StoreSendRequestResult-Rückgabewerts den Antwortcode.