Freigeben über


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, ständig aktualisiert, erweitert und zwischen Betriebssystemversionen verbessert werden, werden neue APIs in der Regel nur während der Hauptversionen des Betriebssystems zum Windows SDK hinzugefügt.

Wir stellen die SendRequestAsync-Methode als flexible Möglichkeit bereit, neue Store-Vorgänge für Universelle Windows-Plattform (UWP)-Apps verfügbar zu machen, bevor eine neue Version des Windows SDK veröffentlicht wird. Mit dieser Methode können Sie Anforderungen an den Store für neue Vorgänge 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 Versionen 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 zum 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 angibt, 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 zusammen mit der Anforderung übergeben werden sollen.

Das folgende Beispiel veranschaulicht, wie die Methode aufgerufen wird. In diesem Beispiel werden Anweisungen für die Namespaces "Windows.Services.Store " und "System.Threading.Tasks " verwendet.

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 Support für neue Anforderungen hinzugefügt wird.

Anfordern von In-App-Bewertungen und Rezensionen

Sie können programmgesteuert ein Dialogfeld aus Ihrer App starten, das Ihren Kunden auffordert, Ihre App zu bewerten und eine Überprüfung zu übermitteln, indem Sie die Anforderung ganzzahl 16 an die SendRequestAsync-Methode übergeben. Weitere Informationen finden Sie unter Anzeigen eines Bewertungs- und Überprüfungsdialogfelds in Ihrer App.

Anforderungen für Test-Flight-Gruppenszenarien

Wichtig

Alle in diesem Abschnitt beschriebenen Flight-Gruppenanforderungen 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 Test-Flight-Gruppenszenarien, z. B. das Hinzufügen eines Benutzers oder Geräts zu einer Test-Flight-Gruppe. 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 zusammen mit verwandten Argumenten übermitteln möchten. Die Methode unterstützt auch Anforderungen zum Zuordnen eines PFN mit einer BigID (ProductID aus dem Anzeigekatalog). Um diese Anforderung zu senden, übergeben Sie den Wert 9 an den parameter requestKind. Diese requestKind-Werte unterscheiden sich auf die folgenden Arten.

Anforderungstypwert Beschreibung
7 Die Anforderungen werden im Kontext des aktuellen Geräts ausgeführt. Dieser Wert kann nur unter Windows 10, Version 1703 oder höher, verwendet werden.
8 Die Anforderungen werden im Kontext des Benutzers ausgeführt, der aktuell beim Store angemeldet ist. Dieser Wert kann unter Windows 10, Version 1607 oder höher, verwendet werden.
9 Die Anforderungen geben die BigID (ProductId) von PackageFamilyName über eine HTTP-Anforderung an den Anzeigekatalog mit anonymer Authentifizierung zurück.

Die folgenden Flight-Gruppenanforderungen werden derzeit implementiert.

Abrufen von Remotevariablen für die Test-Flight-Gruppe mit dem höchsten Rang

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 Test-Flight-Gruppe mit dem höchsten Rang für den aktuellen Benutzer oder das aktuelle Gerät ab. Übergeben Sie zum Senden dieser Anforderung die folgenden Informationen an die Parameter "requestKind " und "parametersAsJson " der SendRequestAsync-Methode .

Parameter Beschreibung
requestKind Geben Sie 7 an, um die Test-Test-Flight-Gruppe für das Gerät zurückzugeben, oder geben Sie 8 an, um die Test-Flight-Gruppe mit dem höchsten Rang 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 für die Mitgliedschaft sowohl für den aktuellen Benutzer als auch für das Gerät die Test-Flight-Gruppe mit dem höchsten Rang 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. Das Typfeld muss der Zeichenfolge "GetRemoteVariables" zugewiesen werden. Weisen Sie das ProjectId-Feld der ID des Projekts zu, in dem Sie die Remotevariablen im 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 Flight-Gruppe mit dem höchsten Rang enthält, zu der das Gerät oder der Benutzer gehört.
Einstellungen Ein Wörterbuch mit Schlüssel-Wert-Paaren, die den Namen und den Wert der Remotevariablen enthalten, die der Entwickler für die Test-Flight-Gruppe 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 Test-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.

Übergeben Sie zum Senden dieser Anforderung die folgenden Informationen an die Parameter "requestKind " und "parametersAsJson " der SendRequestAsync-Methode .

Parameter Beschreibung
requestKind Geben Sie 7 an, um das Gerät zu einer Test-Flight-Gruppe hinzuzufügen, oder geben Sie 8 an, um den Benutzer hinzuzufügen, der aktuell beim Store angemeldet ist, zu einer Test-Flight-Gruppe.
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. Das Typfeld muss der Zeichenfolge "AddToFlightGroup" zugewiesen werden. Weisen Sie das Feld "flightGroupId " der ID der Test-Flight-Gruppe 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 Test-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.

Übergeben Sie zum Senden dieser Anforderung 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 Test-Flight-Gruppe zu entfernen, oder geben Sie 8 an, um den Benutzer zu entfernen, der aktuell bei dem Store angemeldet ist, aus einer Test-Flight-Gruppe.
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. Das Typfeld muss der Zeichenfolge RemoveFromFlightGroup zugewiesen werden. Weisen Sie das Feld "flightGroupId " der ID der Test-Flight-Gruppe 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.