9
9
* [ Logging] ( #logging )
10
10
* [ Common Switches] ( #common-switches )
11
11
* [ Accessing the Portal] ( #accessing-the-portal )
12
- * [ Creating Your Payload] ( #creating-your-payload )
12
+ * [ Creating Your Application Payload] ( #creating-your-application -payload )
13
13
* [ Creating A New Application Submission] ( #creating-a-new-application-submission )
14
14
* [ The Easy Way] ( #the-easy-way )
15
15
* [ Manual Submissions] ( #manual-submissions )
20
20
* [ Flighting Commands] ( #flighting-commands )
21
21
* [ In App Products] ( #in-app-products )
22
22
* [ IAP Overview] ( #iap-overview )
23
+ * [ Creating Your IAP Payload] ( #creating-your-iap-payload )
23
24
* [ IAP Commands] ( #iap-commands )
24
25
* [ Using INT vs PROD] ( #using-int-vs-prod )
25
26
* [ Telemetry] ( #telemetry )
@@ -95,7 +96,7 @@ to the appropriate page on the dev portal for what you're looking for, make use
95
96
you'll be taken to the page where you can view/edit the flight that the flight submission is
96
97
associated with.
97
98
98
- ## Creating Your Payload
99
+ ## Creating Your Application Payload
99
100
100
101
In StoreBroker, a "payload" is a combination of a json file and a zip file. The ** json** file
101
102
has the entire content of a Windows Store Submission. This content _ could_ be submitted as-is,
@@ -115,7 +116,7 @@ following the instructions in [SETUP.md](SETUP.md):
115
116
116
117
Generating the submission request JSON/zip package is done with
117
118
118
- New-SubmissionPackage <config-path> -PDPRootPath <path> [[-Release] <string>] -PDPInclude <filename> [-PDPExclude <filename>] -ImagesRootPath <path> -AppxPath <full-path>[, <additional-path>]+ -OutPath <output-dir> -OutName <output-name>
119
+ New-SubmissionPackage -ConfigPath <config-path> -PDPRootPath <path> [[-Release] <string>] -PDPInclude <filename> [-PDPExclude <filename>] -ImagesRootPath <path> -AppxPath <full-path>[, <additional-path>]+ -OutPath <output-dir> -OutName <output-name>
119
120
120
121
> Items in brackets ('[ ] ') are optional.
121
122
@@ -474,7 +475,7 @@ submissions).
474
475
** Return Values** :
475
476
` Update-ApplicationFlightSubmission ` returns back two values to you at its completion:
476
477
the new submission id, and the UploadURL. You can use that UploadUrl to upload your submission's
477
- .zip with ` Upload-SubmissionPackage ` , in the event that you didn't specify the ` PackagePath `
478
+ .zip with ` Upload-SubmissionPackage ` in the event that you didn't specify the ` PackagePath `
478
479
or want to upload it again.
479
480
480
481
#### Other Common Flight-related Tasks:
@@ -534,20 +535,57 @@ In-App Products (IAP's) are additional features that are offered to users of you
534
535
In the Store, IAP's are considered siblings to Applications, as opposed to children,
535
536
because the same IAP can be associated with more than one Application.
536
537
537
- ### IAP Commands
538
+ ### Creating Your IAP Payload
539
+
540
+ > These instructions very closely mirror those for [ Creating Your Application Payload] ( #creating-your-application-payload ) ,
541
+ > by design.
542
+
543
+ In StoreBroker, a "payload" is a combination of a json file and a zip file. The ** json** file
544
+ has the entire content of a Windows Store Submission. This content _ could_ be submitted as-is,
545
+ but usually only selected portions of it are "patched" into a new submission. The ** zip** file
546
+ usually has the icons for the localized listings, although depending on how you create your payload,
547
+ those might be missing.
548
+
549
+ To create your payload, you need to have the following (which you should already have from
550
+ following the instructions in [ SETUP.md] ( SETUP.md ) :
551
+ * [ StoreBroker config file] ( SETUP.md#getting-your-iap-config )
552
+ * [ PDP files] ( SETUP.md#getting-your-iap-pdps )
553
+ * Icons (if you use them in your listing)
554
+
555
+ > In order to use New-InAppProductSubmissionPackage, it is highly recommended that you read the
556
+ > documentation (` Get-Help New-InAppProductSubmissionPackage -Full ` ) and read the
557
+ > documentation in the configuration file.
558
+
559
+ Generating the submission request JSON/zip package is done with
560
+
561
+ New-InAppProductSubmissionPackage -ConfigPath <config-path> -PDPRootPath <path> [[-Release] <string>] -PDPInclude <filename> [-PDPExclude <filename>] -ImagesRootPath <path> -OutPath <output-dir> -OutName <output-name>
538
562
539
- > As noted in [ limitations] ( ../README.md#limitations ) , we have full support for IAP's, but unlike
540
- > App Submissions and Flights, we do not yet have a [ PDP] ( PDP.md ) format for IAP
541
- > metadata, nor a function like ` New-SubmissionPackage ` to generate the json/zip payload that the
542
- > IAP functions require. This is [ on our backlog] ( https://github.com/Microsoft/StoreBroker/issues/3 ) .
543
- > If you use IAP's and would like to help, please refer to [ CONTRIBUTING.md] ( ../CONTRIBUTING.md ) .
563
+ > Items in brackets ('[ ] ') are optional.
564
+
565
+ The ` -Release ` parameter is technically optional, depending on how you choose to store your PDP
566
+ files. For more info, run:
567
+
568
+ Get-Help New-InAppProductSubmissionPackage -Parameter PdpRootPath
569
+ Get-Help New-InAppProductSubmissionPackage -Parameter Release
570
+
571
+ > If one of your parameters does not change often, you can specify a value in the config file and
572
+ > leave out this parameter at runtime. In this case, you should specify the remaining parameters
573
+ > to ` New-InAppProductSubmissionPackage ` with their parameter names. As an example, it is
574
+ > possible to leave out ` OutPath ` but if you don't specify the remaining parameters by name,
575
+ > then the value of the next parameter, ` OutName ` , will be mapped to the ` OutPath ` parameter,
576
+ > causing a failure.
577
+
578
+ As part of its input, ` New-InAppProductSubmissionPackage ` expects a configuration file, which
579
+ you should have [ already created] ( SETUP.md#getting-your-iap-config ) .
580
+
581
+ ### IAP Commands
544
582
545
583
You'll find the layout of these commands to mimic those for Applications and Flights.
546
584
For every Get-* command there is a corresponding Format-* command that you can leverage.
547
585
548
586
> All IAP commands use the fully-spelled-out "InAppProduct". Even though PowerShell supports tab
549
587
> completion at the commandline, aliases also exist for all of these commands as well. Any time
550
- > you see a command that has the phrase "InAppProduct", there exits an alias for that same command
588
+ > you see a command that has the phrase "InAppProduct", there exists an alias for that same command
551
589
> that replaces that phrase with "Iap" (e.g. Get-InAppProducts -> Get-Iaps).
552
590
553
591
The basic syntax looks of the update command looks like this:
@@ -619,13 +657,13 @@ fully override the publication and visibility of your IAP submission.
619
657
620
658
` Update-InAppProductSubmission ` is a convenience method that wraps a number of individual
621
659
commands into a single command. If you want to understand exactly what it does, refer to the
622
- previous section on [ "manual submissions. "] ( #manual-submissions ) (similar methods exist for IAP
623
- submissions).
660
+ previous section on [ "manual submissions"] ( #manual-submissions ) for applications (similarly-named
661
+ methods exist for IAP submissions).
624
662
625
663
** Return Values** :
626
664
` Update-InAppProductSubmission ` returns back two values to you at its completion:
627
665
the new submission id, and the UploadURL. You can use that UploadUrl to upload your submission's
628
- .zip with ` Upload-SubmissionPackage ` , in the event that you didn't specify the ` PackagePath `
666
+ .zip with ` Upload-SubmissionPackage ` in the event that you didn't specify the ` PackagePath `
629
667
or want to upload it again.
630
668
631
669
#### Other Common IAP-related Tasks:
@@ -648,10 +686,15 @@ To create a new IAP:
648
686
New-InAppProduct -ProductId <productId> -ProductType <productType> -ApplicationIds <applicationIds>
649
687
650
688
where
651
- * ** ` <applicationIds> ` ** is a comma-separated list of ApplicationIds that should be able to offer
652
- this IAP.
653
689
* ** ` <productId> ` ** is a unique name that you provide to refer to this IAP in this API and in your
654
690
actual application sourcecode.
691
+ * ** ` <productType> ` ** is either ` Consumable ` for a "Developer managed consumable", or
692
+ ` Durable ` for a "durable managed consumable". Please note that at this time, although the
693
+ Developer Web Portal supports the creation of "Store Managed Consumables", the Store Submission
694
+ API _ does not_ . For more information on these types, see the online
695
+ [ documentation] ( http://go.microsoft.com/fwlink/?LinkId=787042 ) .
696
+ * ** ` <applicationIds> ` ** is a comma-separated list of ApplicationIds that should be able to offer
697
+ this IAP.
655
698
656
699
To delete an IAP:
657
700
0 commit comments