diff --git a/hub/apps/publish/best-practices/best-practices.md b/hub/apps/publish/best-practices/best-practices.md new file mode 100644 index 0000000000..3beb7971e9 --- /dev/null +++ b/hub/apps/publish/best-practices/best-practices.md @@ -0,0 +1,306 @@ +--- +description: Best practices for publishing your app +title: Best practices for publishing your app +ms.topic: article +ms.date: 05/27/2025 +--- + +# Best practices + +## Tips for choosing a great app name + +Choosing the right name for your app is important. Pick a name that will capture your customers' interest and draw them in to learn more about your app. Here are some tips for choosing a great app name. + +**Keep it short**. While your app's name can have up to 256 characters, the space used to display your app's name is limited. Long names may be truncated based on where in the store your app is being displayed and the user's display size and settings. + +> [!TIP] +> Windows uses variable width fonts, so the number of visible characters in your title depends on which characters you use. For example, using Segoe UI, about 30 `i` characters will fit in the same space as 10 `w` characters. If you have multiple apps, be sure to test the visibility of each app's title, even if they are the same number of characters. Also be sure to test all localizations of your app's name. Keep in mind that East-Asian characters tend to be wider than Latin characters, so fewer characters will be displayed. + +**Be original**. Make sure your app name is distinctive enough that it won't be easily confused with an existing app. + +**Do not use names trademarked by others**. Make sure that you have the right to use the name that you reserve. If someone else has trademarked the name, they can report an infringement and you will not be able to keep using that name. If that happens after your app has been published, it will be removed from the Store until you've changed all instances of the name in your app, its content, and its store listing before you can submit your app for certification again. + +**Avoid trailing differentiators**. Information that distinguishes different versions of your app should not be put at the end of your title. This information can be truncated by the UI, and users can miss it even if it is displayed. + +If this is unavoidable, use different logos and app images to make it easier to differentiate one app from another. + +**Do not include emojis in your name**. You will not be able to reserve a name that includes emojis or other unsupported characters. + +### Choosing which device families to support + +If you upload packages targeting one individual device family, we'll check the box to make those packages available to new customers on that type of device. For example, if a package targets Windows.Desktop, the **Windows 10/11 Desktop** box will be checked for that package (and you won't be able to check the boxes for other device families). + +Packages targeting the Windows.Universal device family can run on any Windows 10 or Windows 11 device (including Xbox One). By default, we'll make those packages available to new customers on all device types _except_ for Xbox. + +You can uncheck the box for any Windows 10 or Windows 11 device family if you don’t want to offer your submission to customers on that type of device. If a device family’s box is unchecked, new customers on that type of device won’t be able to acquire the app (though customers who already have the app can still use it, and will get any updates you submit). + +If your app supports them, we recommend keeping all of the boxes checked, unless you have a specific reason to limit the types of Windows 10 or Windows 11 devices which can acquire your app. For instance, if you know that your app doesn't offer a good experience on [Surface Hub](https://developer.microsoft.com/windows/surfacehub) and/or [Microsoft HoloLens](https://developer.microsoft.com/mixed-reality), you can uncheck the **Windows 10 Team** and/or **Windows 10 Holographic** box. This prevents any new customers from acquiring the app on those devices. If you later decide you're ready to offer it to those customers, you can create a new submission with the boxes checked. + +## Write a great app description for MSIX app + +A great description can make your app stand out in the Microsoft Store and help encourage customers to download it. [The description you enter when submitting your app](/hub/apps/publish/publish-your-app/msix/add-and-edit-store-listing-info.md#description) is displayed in your app's Store listing. The first few lines may also be displayed in search results and algorithm lists in the Store. + +Here are some tips for making your app's description the best it can be. + +- **Grab attention in the first few sentences.** The beginning of your description is the most important, so make sure it grabs and holds attention. Start with the value prop: why should potential customers take the time and money to get your app? What is the benefit to choosing your app over another? In one or two sentences, using plain and clear language, explain your app's unique appeal and why someone would want it. +- **Make it easy to learn about your app.** After your initial hook, describe additional benefits, in-app purchase opportunities, and other details about your app that customers will want to know. Make sure you include any disclosures or information that you are required to provide under the law in the markets where you are distributing your app. +- **Use lists and short paragraphs.** Potential customers may just take a quick glance at your app's description. Breaking up the content by using short paragraphs and lists makes it easier to scan. + + > [!NOTE] + >  Adding a list of [product features](/hub/apps/publish/publish-your-app/msix/create-app-store-listing.md) can also help to quickly show what your app does. This list appears directly below the app description. + +- **Avoid dry language.** Write your description using engaging language. Be sure the wording clearly describes what your app does, but say it in a way that doesn't sound boring. For many apps, a casual and friendly tone works well. +- **Use a length that is just right.** A good description reads quickly, but also includes enough info to get the reader interested and explain what the app does. A complex app will need more sentences to describe it; a simple app may need only a few. In most cases the right length is somewhere over 200 words, but well under 3000. +- **Be clear about free trials and add-ons.** If you offer a free trial of your app, be sure to explain how that trial works, so that customers understand which features are limited. It's also a good idea to mention what types of add-ons are available, particularly if they have significant impacts on your app's functionality. +- **Use standard capitalization and punctuation.** Descriptions in all caps, or those that have unusual punctuation, can be hard to read. +- **Don't forget to check the spelling and grammar.** A description with lots of misspelled words or mangled sentences doesn't reflect well on the quality of your app. Be sure to review your description (or have someone else take a look) to check for errors. +- **Don't include links or info that belongs elsewhere.** URLs that you enter in the description field won't be clickable, so don't try to add links for things like your privacy policy or support website. Instead, add these in the designated areas of the **Properties** page of your submission. +- **Don't use HTML tags.** HTML or other code will not be rendered. Your description needs to be plain text only. +- **Get ideas by reviewing descriptions of similar apps in the Store.** Take a look at how other developers describe their apps. This also helps you figure out what you can emphasize that is different about your app. + +### Global Time Zones + +Below is a table that shows what specific time zones are used in each market, so when your submission uses local time (e.g. release at 9am local), you can find out what time will it be released in each market, in particular helpful with markets that have more than one time zone, like Canada. + +| Market | Time Zone | +| -------------------------------------------- | ------------------------------------------------------------- | +| Afghanistan | (UTC+04:30) Kabul | +| Albania | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Algeria | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| American Samoa | (UTC+13:00) Samoa | +| Andorra | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Angola | (UTC+01:00) West Central Africa | +| Anguilla | (UTC-04:00) Atlantic Time (Canada) | +| Antarctica | (UTC+12:00) Auckland, Wellington | +| Antigua and Barbuda | (UTC-04:00) Atlantic Time (Canada) | +| Argentina | (UTC-03:00) City of Buenos Aires | +| Armenia | (UTC+04:00) Abu Dhabi, Muscat | +| Aruba | (UTC-04:00) Atlantic Time (Canada) | +| Australia | (UTC+10:00) Canberra, Melbourne, Sydney | +| Austria | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Azerbaijan | (UTC+04:00) Baku | +| Bahamas, The | (UTC-05:00) Eastern Time (US & Canada) | +| Bahrain | (UTC+04:00) Abu Dhabi, Muscat | +| Bangladesh | (UTC+06:00) Dhaka | +| Barbados | (UTC-04:00) Atlantic Time (Canada) | +| Belarus | (UTC+03:00) Minsk | +| Belgium | (UTC+01:00) Brussels, Copenhagen, Madrid, Paris | +| Belize | (UTC-06:00) Central Time (US & Canada) | +| Benin | (UTC+01:00) West Central Africa | +| Bermuda | (UTC-04:00) Atlantic Time (Canada) | +| Bhutan | (UTC+06:00) Dhaka | +| Bolivarian Republic of Venezuela | (UTC-04:00) Caracas | +| Bolivia | (UTC-04:00) Georgetown, La Paz, Manaus, San Juan | +| Bonaire, Saint Eustatius and Saba | (UTC-04:00) Atlantic Time (Canada) | +| Bosnia and Herzegovina | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Botswana | (UTC+01:00) West Central Africa | +| Bouvet Island | (UTC+00:00) Monrovia, Reykjavik | +| Brazil | (UTC-03:00) Brasilia | +| British Indian Ocean Territory | (UTC+06:00) Dhaka | +| British Virgin Islands | (UTC-04:00) Atlantic Time (Canada) | +| Brunei | (UTC+08:00) Irkutsk | +| Bulgaria | (UTC+02:00) Chisinau | +| Burkina Faso | (UTC+00:00) Monrovia, Reykjavik | +| Burundi | (UTC+02:00) Harare, Pretoria | +| Côte d'Ivoire | (UTC+00:00) Monrovia, Reykjavik | +| Cambodia | (UTC+07:00) Bangkok, Hanoi, Jakarta | +| Cameroon | (UTC+01:00) West Central Africa | +| Canada | (UTC-05:00) Eastern Time (US & Canada) | +| Cabo Verde | (UTC-01:00) Cabo Verde Is. | +| Cayman Islands | (UTC-05:00) Eastern Time (US & Canada) | +| Central African Republic | (UTC+01:00) West Central Africa | +| Chad | (UTC+01:00) West Central Africa | +| Chile | (UTC-04:00) Santiago | +| China | (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi | +| Christmas Island | (UTC+07:00) Krasnoyarsk | +| Cocos (Keeling) Islands | (UTC+06:30) Yangon (Rangoon) | +| Colombia | (UTC-05:00) Bogota, Lima, Quito, Rio Branco | +| Comoros | (UTC+03:00) Nairobi | +| Congo | (UTC+01:00) West Central Africa | +| Congo (DRC) | (UTC+01:00) West Central Africa | +| Cook Islands | (UTC-10:00) Hawaii | +| Costa Rica | (UTC-06:00) Central Time (US & Canada) | +| Croatia | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Curaçao | (UTC-04:00) Cuiaba | +| Cyprus | (UTC+02:00) Chisinau | +| Czechia | (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague | +| Denmark | (UTC+01:00) Brussels, Copenhagen, Madrid, Paris | +| Djibouti | (UTC+03:00) Nairobi | +| Dominica | (UTC-04:00) Atlantic Time (Canada) | +| Dominican Republic | (UTC-04:00) Atlantic Time (Canada) | +| Ecuador | (UTC-05:00) Bogota, Lima, Quito, Rio Branco | +| Egypt | (UTC+02:00) Chisinau | +| El Salvador | (UTC-06:00) Central Time (US & Canada) | +| Equatorial Guinea | (UTC+01:00) West Central Africa | +| Eritrea | (UTC+03:00) Nairobi | +| Estonia | (UTC+02:00) Chisinau | +| Ethiopia | (UTC+03:00) Nairobi | +| Falkland Islands | (UTC-04:00) Santiago | +| Faroe Islands | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| Fiji | (UTC+12:00) Fiji | +| Finland | (UTC+02:00) Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius | +| France | (UTC+01:00) Brussels, Copenhagen, Madrid, Paris | +| French Guiana | (UTC-03:00) Cayenne, Fortaleza | +| French Polynesia | (UTC-10:00) Hawaii | +| French Southern and Antarctic Lands | (UTC+05:00) Ashgabat, Tashkent | +| Gabon | (UTC+01:00) West Central Africa | +| Gambia, The | (UTC+00:00) Monrovia, Reykjavik | +| Georgia | (UTC-05:00) Eastern Time (US & Canada) | +| Germany | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Ghana | (UTC+00:00) Monrovia, Reykjavik | +| Gibraltar | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Greece | (UTC+02:00) Athens, Bucharest | +| Greenland | (UTC+00:00) Monrovia, Reykjavik | +| Grenada | (UTC-04:00) Atlantic Time (Canada) | +| Guadeloupe | (UTC-04:00) Atlantic Time (Canada) | +| Guam | (UTC+10:00) Guam, Port Moresby | +| Guatemala | (UTC-06:00) Central Time (US & Canada) | +| Guernsey | (UTC+00:00) Monrovia, Reykjavik | +| Guinea | (UTC+00:00) Monrovia, Reykjavik | +| Guinea-Bissau | (UTC+00:00) Monrovia, Reykjavik | +| Guyana | (UTC-04:00) Atlantic Time (Canada) | +| Haiti | (UTC-05:00) Eastern Time (US & Canada) | +| Heard Island and McDonald Islands | (UTC-05:00) Bogota, Lima, Quito, Rio Branco | +| Holy See (Vatican City) | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Honduras | (UTC-06:00) Central Time (US & Canada) | +| Hong Kong SAR | (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi | +| Hungary | (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague | +| Iceland | (UTC+00:00) Monrovia, Reykjavik | +| India | (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi | +| Indonesia | (UTC+07:00) Bangkok, Hanoi, Jakarta | +| Iraq | (UTC+04:00) Abu Dhabi, Muscat | +| Ireland | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| Israel | (UTC+02:00) Jerusalem | +| Italy | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Jamaica | (UTC-05:00) Eastern Time (US & Canada) | +| Japan | (UTC+09:00) Osaka, Sapporo, Tokyo | +| Jersey | (UTC+00:00) Monrovia, Reykjavik | +| Jordan | (UTC+02:00) Chisinau | +| Kazakhstan | (UTC+05:00) Ashgabat, Tashkent | +| Kenya | (UTC+03:00) Nairobi | +| Kiribati | (UTC+14:00) Kiritimati Island | +| Korea | (UTC+09:00) Seoul | +| Kuwait | (UTC+04:00) Abu Dhabi, Muscat | +| Kyrgyzstan | (UTC+06:00) Astana | +| Laos | (UTC+07:00) Bangkok, Hanoi, Jakarta | +| Latvia | (UTC+02:00) Chisinau | +| Lesotho | (UTC+02:00) Harare, Pretoria | +| Liberia | (UTC+00:00) Monrovia, Reykjavik | +| Libya | (UTC+02:00) Chisinau | +| Liechtenstein | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Lithuania | (UTC+02:00) Chisinau | +| Luxembourg | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Macao SAR | (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi | +| Madagascar | (UTC+03:00) Nairobi | +| Malawi | (UTC+02:00) Harare, Pretoria | +| Malaysia | (UTC+08:00) Kuala Lumpur, Singapore | +| Maldives | (UTC+05:00) Ashgabat, Tashkent | +| Mali | (UTC+00:00) Monrovia, Reykjavik | +| Malta | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Man, Isle of | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| Marshall Islands | (UTC+12:00) Petropavlovsk-Kamchatsky - Old | +| Martinique | (UTC-04:00) Atlantic Time (Canada) | +| Mauritania | (UTC+00:00) Monrovia, Reykjavik | +| Mauritius | (UTC+04:00) Port Louis | +| Mayotte | (UTC+03:00) Nairobi | +| Mexico | (UTC-06:00) Guadalajara, Mexico City, Monterrey | +| Micronesia | (UTC+10:00) Guam, Port Moresby | +| Moldova | (UTC+02:00) Chisinau | +| Monaco | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Mongolia | (UTC+07:00) Krasnoyarsk | +| Montenegro | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Montserrat | (UTC-04:00) Atlantic Time (Canada) | +| Morocco | (UTC+01:00) Casablanca | +| Mozambique | (UTC+02:00) Harare, Pretoria | +| Myanmar | (UTC+06:30) Yangon (Rangoon) | +| Namibia | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Nauru | (UTC+12:00) Petropavlovsk-Kamchatsky - Old | +| Nepal | (UTC+05:45) Kathmandu | +| Netherlands | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| New Caledonia | (UTC+11:00) Solomon Is., New Caledonia | +| New Zealand | (UTC+12:00) Auckland, Wellington | +| Nicaragua | (UTC-06:00) Central Time (US & Canada) | +| Niger | (UTC+01:00) West Central Africa | +| Nigeria | (UTC+01:00) West Central Africa | +| Niue | (UTC+13:00) Samoa | +| Norfolk Island | (UTC+11:00) Solomon Is., New Caledonia | +| North Macedonia | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Northern Mariana Islands | (UTC+10:00) Guam, Port Moresby | +| Norway | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Oman | (UTC+04:00) Abu Dhabi, Muscat | +| Pakistan | (UTC+05:00) Islamabad, Karachi | +| Palau | (UTC+09:00) Osaka, Sapporo, Tokyo | +| Palestinian Authority | (UTC+02:00) Chisinau | +| Panama | (UTC-05:00) Eastern Time (US & Canada) | +| Papua New Guinea | (UTC+10:00) Vladivostok | +| Paraguay | (UTC-04:00) Asuncion | +| Peru | (UTC-05:00) Bogota, Lima, Quito, Rio Branco | +| Philippines | (UTC+08:00) Kuala Lumpur, Singapore | +| Pitcairn Islands | (UTC-08:00) Pacific Time (US & Canada) | +| Poland | (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague | +| Portugal | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| Qatar | (UTC+04:00) Abu Dhabi, Muscat | +| Reunion | (UTC+04:00) Port Louis | +| Romania | (UTC+02:00) Chisinau | +| ROW | (UTC-07:00) Mountain Time (US & Canada) | +| Russia | (UTC+03:00) Moscow, St. Petersburg | +| Rwanda | (UTC+02:00) Harare, Pretoria | +| São Tomé and Príncipe | (UTC+00:00) Monrovia, Reykjavik | +| Saint Barthélemy | (UTC+04:00) Yerevan | +| Saint Helena, Ascension and Tristan da Cunha | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| Saint Kitts and Nevis | (UTC-04:00) Atlantic Time (Canada) | +| Saint Lucia | (UTC-04:00) Atlantic Time (Canada) | +| Saint Martin (French Part) | (UTC-04:00) Atlantic Time (Canada) | +| Saint Pierre and Miquelon | (UTC-02:00) Mid-Atlantic - Old | +| Saint Vincent and the Grenadines | (UTC-04:00) Atlantic Time (Canada) | +| Samoa | (UTC+13:00) Samoa | +| San Marino | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Saudi Arabia | (UTC+03:00) Kuwait, Riyadh | +| Senegal | (UTC+00:00) Monrovia, Reykjavik | +| Serbia | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Seychelles | (UTC+04:00) Abu Dhabi, Muscat | +| Sierra Leone | (UTC+00:00) Monrovia, Reykjavik | +| Singapore | (UTC+08:00) Kuala Lumpur, Singapore | +| Sint Maarten (Dutch Part) | (UTC-04:00) Atlantic Time (Canada) | +| Slovakia | (UTC+01:00) Belgrade, Bratislava, Budapest, Ljubljana, Prague | +| Slovenia | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Solomon Islands | (UTC+11:00) Solomon Is., New Caledonia | +| Somalia | (UTC+03:00) Nairobi | +| South Africa | (UTC+02:00) Harare, Pretoria | +| South Georgia and the South Sandwich Islands | (UTC-02:00) Mid-Atlantic - Old | +| Spain | (UTC+01:00) Brussels, Copenhagen, Madrid, Paris | +| Sri Lanka | (UTC+05:30) Chennai, Kolkata, Mumbai, New Delhi | +| Suriname | (UTC-03:00) Cayenne, Fortaleza | +| Svalbard and Jan Mayen | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Swaziland | (UTC+02:00) Harare, Pretoria | +| Sweden | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Switzerland | (UTC+01:00) Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna | +| Taiwan | (UTC+08:00) Taipei | +| Tajikistan | (UTC+05:00) Ashgabat, Tashkent | +| Tanzania | (UTC+03:00) Nairobi | +| Thailand | (UTC+07:00) Bangkok, Hanoi, Jakarta | +| Timor-Leste | (UTC+09:00) Seoul | +| Togo | (UTC+00:00) Monrovia, Reykjavik | +| Tokelau | (UTC+13:00) Nuku'alofa | +| Tonga | (UTC+13:00) Nuku'alofa | +| Trinidad and Tobago | (UTC-04:00) Atlantic Time (Canada) | +| Tunisia | (UTC+01:00) Sarajevo, Skopje, Warsaw, Zagreb | +| Türkiye | (UTC+03:00) Istanbul | +| Turkmenistan | (UTC+05:00) Ashgabat, Tashkent | +| Turks and Caicos Islands | (UTC-05:00) Eastern Time (US & Canada) | +| Tuvalu | (UTC+12:00) Petropavlovsk-Kamchatsky - Old | +| U.S. Minor Outlying Islands | (UTC+13:00) Samoa | +| U.S. Virgin Islands | (UTC-04:00) Atlantic Time (Canada) | +| Uganda | (UTC+03:00) Nairobi | +| Ukraine | (UTC+02:00) Chisinau | +| United Arab Emirates | (UTC+04:00) Abu Dhabi, Muscat | +| United Kingdom | (UTC+00:00) Dublin, Edinburgh, Lisbon, London | +| United States | (UTC-05:00) Eastern Time (US & Canada) | +| Uruguay | (UTC-03:00) Brasilia | +| Uzbekistan | (UTC+05:00) Ashgabat, Tashkent | +| Vanuatu | (UTC+11:00) Solomon Is., New Caledonia | +| Vietnam | (UTC+07:00) Bangkok, Hanoi, Jakarta | +| Wallis and Futuna | (UTC+12:00) Petropavlovsk-Kamchatsky - Old | +| Yemen | (UTC+04:00) Abu Dhabi, Muscat | +| Zambia | (UTC+02:00) Harare, Pretoria | +| Zimbabwe | (UTC+02:00) Harare, Pretoria | diff --git a/hub/apps/publish/index.md b/hub/apps/publish/index.md index d47611b424..969622c179 100644 --- a/hub/apps/publish/index.md +++ b/hub/apps/publish/index.md @@ -114,7 +114,7 @@ For more information, please visit [Reserve your app's name - Windows apps | Mic - **Packages**: Upload the app packages for your app which will be downloaded by the Store user. [Upload app packages - Windows apps | Microsoft Learn](./publish-your-app/msix/upload-app-packages.md) - - **Store Listings**: Enter the app description, screenshots, and logos that will be displayed on your app’s Product Details Page (PDP) in the Store, by creating a Store listing. [Create app store listings - Windows apps | Microsoft Learn](./publish-your-app/msix/create-app-store-listing.md) + - **Store Listings**: Enter the app description, screenshots, and logos that will be displayed on your app’s Product Details Page (PDP) in the Store, by creating a Store listing. [Create app store listings - Windows apps | Microsoft Learn](./publish-your-app/msix/add-and-edit-store-listing-info.md) - **Submission options (optional)**: Enter notes for certification or decide when your app should publish to the Store using submission options. [Manage submission options - Windows apps | Microsoft Learn](./publish-your-app/msix/manage-submission-options.md) @@ -122,7 +122,7 @@ For more information, please visit [Reserve your app's name - Windows apps | Mic If your draft is missing any necessary information, it will be marked as **Incomplete.** -For more information, please visit [Create an app submission - Windows apps | Microsoft Learn.](./publish-your-app/msix/create-app-submission.md) +For more information, please visit [Create an app submission - Windows apps | Microsoft Learn.](./publish-your-app/msix/add-and-edit-store-listing-info.md) ## App certification process [MSIX/PWA] @@ -238,7 +238,7 @@ Once you reserve your app name, you'll be automatically directed to the availabi - **Packages**: Upload the app packages for your app which will be downloaded by the Store user. [Upload app packages - Windows apps | Microsoft Learn.](./publish-your-app/msi/upload-app-packages.md) - - **Store Listings**: Enter the app description, screenshots, and logos that will be displayed on your app’s Product Details Page (PDP) in the Store, by creating a Store listing. [Create app store listings - Windows apps | Microsoft Learn.](./publish-your-app/msi/create-app-store-listing.md) + - **Store Listings**: Enter the app description, screenshots, and logos that will be displayed on your app’s Product Details Page (PDP) in the Store, by creating a Store listing. [Create app store listings - Windows apps | Microsoft Learn.](./publish-your-app/msi/add-and-edit-store-listing-info.md) 2. After you complete a section, click on **Save**. Once all sections are complete and you are ready to submit, click on **Submit**. diff --git a/hub/apps/publish/partner-center/assign-product-level-custom-permissions-to-account-users.md b/hub/apps/publish/partner-center/assign-product-level-custom-permissions-to-account-users.md index eb84eab13d..9912e030a4 100644 --- a/hub/apps/publish/partner-center/assign-product-level-custom-permissions-to-account-users.md +++ b/hub/apps/publish/partner-center/assign-product-level-custom-permissions-to-account-users.md @@ -55,7 +55,7 @@ Note that some permissions cannot be set for add-ons. This is either because the | **Properties** | Can view the Properties page of products. | Can view and edit the Properties page of products. | Can view the Properties page of add-ons. | Can view and edit the Properties page of add-ons. | | **Age ratings** | Can view the Age ratings page of products. | Can view and edit the Age ratings page of products. | Can view the Age ratings page of add-ons. | Can view and edit the Age ratings page of add-ons. | | **Packages** | Can view the Packages page of products. | Can view and edit the Packages page of products, including uploading packages. | Can view the Packages page of addons (if applicable). | Can view and edit Packages page of addons (if applicable). | -| **Store listings** | Can view the Store listing page(s) of products.| Can view and edit the Store listing page(s) of products, and can add new Store listings for different languages.| Can view the Store listing page(s) of add-ons.| Can view and edit the Store listing page(s) of add-ons, and can add Store listings for different languages.| +| **Store listings** | Can view the Store listing page(s) of products.| Can view and edit the Store listing page(s) of products, and can add new Store listings for different languages.| Can view the Store listing page(s) of add-ons.| Can view and edit the Store listing page(s) of add-ons, and can add Store listings for different languages.| | **Store submission** | No access is granted if this permission is set to read-only. | Can submit the product to the Store and view certification reports. Includes both new and updated submissions. | No access is granted if this permission is set to read-only. | Can submit the add-on to the Store and view certification reports. Includes both new and updated submissions. | | **New submission creation** | No access is granted if this permission is set to read-only.| Can create new submissions for the product.| No access is granted if this permission is set to read-only. | Can create new submissions for the add-on. | | **New add-ons** | No access is granted if this permission is set to read-only. | Can create new add-ons for the product. | N/A | N/A | diff --git a/hub/apps/publish/partner-center/msi/manage-app-name-reservations.md b/hub/apps/publish/partner-center/msi/manage-app-name-reservations.md index 9b6c4e5e0d..d936175c41 100644 --- a/hub/apps/publish/partner-center/msi/manage-app-name-reservations.md +++ b/hub/apps/publish/partner-center/msi/manage-app-name-reservations.md @@ -37,7 +37,7 @@ Note that your app must have at least one reserved name. If your app is already in the Store and you want to rename it, you can do so by reserving a new name for it (by following the steps described above) and then creating a new submission for the app. -To update a Store listing so that it uses the new name, go to the [Store listing page](../../publish-your-app/msi/create-app-store-listing.md) for that language and select the name from the **Product name** dropdown. Be sure to review your description and other parts of the listing for any mentions of the name and make updates if needed. +To update a Store listing so that it uses the new name, go to the [Store listing page](../.././publish-your-app/msi/add-and-edit-store-listing-info.md) for that language and select the name from the **Product name** dropdown. Be sure to review your description and other parts of the listing for any mentions of the name and make updates if needed. > [!NOTE] > If your app has packages and/or Store listings in multiple languages, you'll need to update the packages and/or Store listings for every language in which the name needs to be updated. diff --git a/hub/apps/publish/partner-center/msix/manage-app-name-reservations.md b/hub/apps/publish/partner-center/msix/manage-app-name-reservations.md index 4ac09b767c..1cbb71c587 100644 --- a/hub/apps/publish/partner-center/msix/manage-app-name-reservations.md +++ b/hub/apps/publish/partner-center/msix/manage-app-name-reservations.md @@ -37,7 +37,7 @@ Note that your app must have at least one reserved name. If your app is already in the Store and you want to rename it, you can do so by reserving a new name for it (by following the steps described above) and then creating a new submission for the app. -To update a Store listing so that it uses the new name, go to the [Store listing page](../../publish-your-app/msix/create-app-store-listing.md) for that language and select the name from the **Product name** dropdown. Be sure to review your description and other parts of the listing for any mentions of the name and make updates if needed. +To update a Store listing so that it uses the new name, go to the [Store listing page](../../publish-your-app/msix/add-and-edit-store-listing-info.md) for that language and select the name from the **Product name** dropdown. Be sure to review your description and other parts of the listing for any mentions of the name and make updates if needed. > [!NOTE] > If your app has packages and/or Store listings in multiple languages, you'll need to update the packages and/or Store listings for every language in which the name needs to be updated. diff --git a/hub/apps/publish/publish-your-app/msi/add-and-edit-store-listing-info.md b/hub/apps/publish/publish-your-app/msi/add-and-edit-store-listing-info.md index b5b3a3775b..759cc7af46 100644 --- a/hub/apps/publish/publish-your-app/msi/add-and-edit-store-listing-info.md +++ b/hub/apps/publish/publish-your-app/msi/add-and-edit-store-listing-info.md @@ -8,6 +8,32 @@ ms.localizationpriority: medium # Add and edit Store listing info for MSI/EXE app +## Create store listings for MSI/EXE app + +The Store listings section of the app submission process is where you provide the text and images that customers will see when they view your app's listing in the Microsoft Store. + +Many of the fields in a Store listing are optional, but we suggest providing multiple images and as much info as possible to make your listing stand out. The minimum required for the Store listings step to be considered complete is a text description and at least one screenshot. + +> [!TIP] +> If you prefer to manage your store listing offline, you can [import a .csv file](./import-and-export-store-listings.md) that contains your app's details. Using the import and export option can be especially convenient if you have listings in many languages, since it lets you make multiple updates at once. + +:::image type="content" source="images/msiexe-store-listings-overview.png" lightbox="images/msiexe-store-listings-overview.png" alt-text="A screenshot of the overview of Store listings section in Partner Center."::: + +## Manage Store listing languages + +You must complete the Store listing page for at least one language. We recommend providing a Store listing in each language that your packages support, and you also have flexibility to create Store listings in additional languages which are not supported by your packages and not support languages for which you do not wish to provide a Store listing. + +To add or remove languages for your Store listings, click Add languages from Manage Store listings page. + +:::image type="content" source="images/msiexe-listings-select-languages.png" lightbox="images/msiexe-listings-select-languages.png" alt-text="A screenshot of the Store listings section where you can add a language for listing your app in Microsoft Store."::: + +When you have finished making your selections, click Save to return to the Manage Store listing page. + +:::image type="content" source="images/msiexe-listings-language-added.png" lightbox="images/msiexe-listings-language-added.png" alt-text="A screenshot of the Store listings section showing a language has been added for listing."::: + +The Manage Store listings page of the app submission process is where you can also publish your app. By default, we'll publish your submission as soon as it passes certification. As your submission passes certification, you can view certification status on the Application Overview page. + + To edit a Store listing, select the language name from the Store listings overview page. You must edit each language separately. :::image type="content" source="images/msiexe-listings-language-overview.png" lightbox="images/msiexe-listings-language-overview.png" alt-text="A screenshot of the Store listings section showing overview of details which need to be filled for Store listings."::: diff --git a/hub/apps/publish/publish-your-app/msi/create-app-store-listing.md b/hub/apps/publish/publish-your-app/msi/create-app-store-listing.md deleted file mode 100644 index cd68742470..0000000000 --- a/hub/apps/publish/publish-your-app/msi/create-app-store-listing.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -description: The Store listings section of the app submission process is where you provide the text and images that customers will see when viewing your MSI/EXE app's listing in the Microsoft Store. -title: Create store listings [MSI/EXE] -ms.date: 10/30/2022 -ms.topic: article -ms.localizationpriority: medium ---- - -# Create store listings for MSI/EXE app - -The Store listings section of the app submission process is where you provide the text and images that customers will see when they view your app's listing in the Microsoft Store. - -Many of the fields in a Store listing are optional, but we suggest providing multiple images and as much info as possible to make your listing stand out. The minimum required for the Store listings step to be considered complete is a text description and at least one screenshot. - -> [!TIP] -> If you prefer to manage your store listing offline, you can [import a .csv file](./import-and-export-store-listings.md) that contains your app's details. Using the import and export option can be especially convenient if you have listings in many languages, since it lets you make multiple updates at once. - -:::image type="content" source="images/msiexe-store-listings-overview.png" lightbox="images/msiexe-store-listings-overview.png" alt-text="A screenshot of the overview of Store listings section in Partner Center."::: - -## Manage Store listing languages - -You must complete the Store listing page for at least one language. We recommend providing a Store listing in each language that your packages support, and you also have flexibility to create Store listings in additional languages which are not supported by your packages and not support languages for which you do not wish to provide a Store listing. - -To add or remove languages for your Store listings, click Add languages from Manage Store listings page. - -:::image type="content" source="images/msiexe-listings-select-languages.png" lightbox="images/msiexe-listings-select-languages.png" alt-text="A screenshot of the Store listings section where you can add a language for listing your app in Microsoft Store."::: - -When you have finished making your selections, click Save to return to the Manage Store listing page. - -:::image type="content" source="images/msiexe-listings-language-added.png" lightbox="images/msiexe-listings-language-added.png" alt-text="A screenshot of the Store listings section showing a language has been added for listing."::: - -The Manage Store listings page of the app submission process is where you can also publish your app. By default, we'll publish your submission as soon as it passes certification. As your submission passes certification, you can view certification status on the Application Overview page. diff --git a/hub/apps/publish/publish-your-app/msi/import-and-export-store-listings.md b/hub/apps/publish/publish-your-app/msi/import-and-export-store-listings.md index 7a7c36b073..0f468540bc 100644 --- a/hub/apps/publish/publish-your-app/msi/import-and-export-store-listings.md +++ b/hub/apps/publish/publish-your-app/msi/import-and-export-store-listings.md @@ -47,7 +47,7 @@ Once you’ve exported your listings and saved your .csv file, you can edit your Most of the Store listing fields are optional. The Description, one Screenshot, Store logo (1:1 box art) and Applicable license terms are required for each listing. For all other fields, you can leave the field empty if you don’t want to include it in your listing. -Many of the fields in your exported listings require text entry, such as the ones in the example above, Description and WhatsNew. For these types of fields, simply enter the appropriate text into the field for each language. Be sure to follow the length and other requirements for each field. For more info on these requirements, see [Create app Store listings](./create-app-store-listing.md). +Many of the fields in your exported listings require text entry, such as the ones in the example above, Description and WhatsNew. For these types of fields, simply enter the appropriate text into the field for each language. Be sure to follow the length and other requirements for each field. For more info on these requirements, see [Create app Store listings](./add-and-edit-store-listing-info.md). Providing info for fields that correspond to assets, such as images, are a bit more complicated. Rather than Text, the Type for these assets is Relative path. diff --git a/hub/apps/publish/publish-your-app/msi/publish-update-to-your-app-on-store.md b/hub/apps/publish/publish-your-app/msi/publish-update-to-your-app-on-store.md index cfa7790fa0..da9a74baf8 100644 --- a/hub/apps/publish/publish-your-app/msi/publish-update-to-your-app-on-store.md +++ b/hub/apps/publish/publish-your-app/msi/publish-update-to-your-app-on-store.md @@ -16,7 +16,7 @@ You can make changes to a published app at any time. To submit updates, go to th :::image type="content" source="images/msiexe-update-app.png" lightbox="images/msiexe-update-app.png" alt-text="A screenshot showing how to submit an update for EXE/MSI app."::: -Go to the required sections like [Pricing and availability](./price-and-availability.md), [Properties](./enter-app-properties.md), [Age ratings](./age-ratings.md), [Packages](./upload-app-packages.md) and [Store listing](./create-app-store-listing.md) to make the changes you'd like and save them. Then click  **Publish** on Manage Store listing page. +Go to the required sections like [Pricing and availability](./price-and-availability.md), [Properties](./enter-app-properties.md), [Age ratings](./age-ratings.md), [Packages](./upload-app-packages.md) and [Store listing](./add-and-edit-store-listing-info.md) to make the changes you'd like and save them. Then click  **Publish** on Manage Store listing page. > [!NOTE] > diff --git a/hub/apps/publish/publish-your-app/msi/write-great-app-description.md b/hub/apps/publish/publish-your-app/msi/write-great-app-description.md index 944f0e80b5..9228d01c7c 100644 --- a/hub/apps/publish/publish-your-app/msi/write-great-app-description.md +++ b/hub/apps/publish/publish-your-app/msi/write-great-app-description.md @@ -17,7 +17,7 @@ Here are some tips for making your app's description the best it can be. - **Use lists and short paragraphs.** Potential customers may just take a quick glance at your app's description. Breaking up the content by using short paragraphs and lists makes it easier to scan. > [!NOTE] - >  Adding a list of [product features](create-app-store-listing.md) can also help to quickly show what your app does. This list appears directly below the app description. + >  Adding a list of [product features](./add-and-edit-store-listing-info.md) can also help to quickly show what your app does. This list appears directly below the app description. - **Avoid dry language.** Write your description using engaging language. Be sure the wording clearly describes what your app does, but say it in a way that doesn't sound boring. For many apps, a casual and friendly tone works well. - **Use a length that is just right.** A good description reads quickly, but also includes enough info to get the reader interested and explain what the app does. A complex app will need more sentences to describe it; a simple app may need only a few. In most cases the right length is somewhere over 200 words, but well under 3000. diff --git a/hub/apps/publish/publish-your-app/msix/add-and-edit-store-listing-info.md b/hub/apps/publish/publish-your-app/msix/add-and-edit-store-listing-info.md index 46a768d6d4..2edce8f293 100644 --- a/hub/apps/publish/publish-your-app/msix/add-and-edit-store-listing-info.md +++ b/hub/apps/publish/publish-your-app/msix/add-and-edit-store-listing-info.md @@ -1,13 +1,41 @@ --- description: This section will guide you in adding or editing all the store listing information for your MSIX app. title: Add and edit Store listing info for MSIX app -ms.date: 10/30/2022 +ms.date: 06/05/2025 ms.topic: article ms.localizationpriority: medium --- # Add and edit Store listing info for MSIX app +The **Store listings** section of the [app submission process](./create-app-submission.md) is where you provide the text and [images](./screenshots-and-images.md) that customers will see when viewing your app's listing in the Microsoft Store. + +Many of the fields in a **Store listing** are optional, but we suggest providing multiple images and as much info as possible to make your listing stand out. The minimum required for the **Store listings** step to be considered complete is a text description and at least one [screenshot](./screenshots-and-images.md). + +> [!TIP] +> You can optionally [import and export Store listings](./import-and-export-store-listings.md) if you'd prefer to enter your listing info offline in a .csv file, rather than providing info and uploading files directly in Partner Center. Using the import and export option can be especially convenient if you have listings in many languages, since it lets you make multiple updates at once. + +## Store listing languages + +You must complete the **Store listing** page for at least one language. We recommend providing a Store listing in each language that your packages support, but you have flexibility to remove languages for which you don’t wish to provide a Store listing. You can also create Store listings in additional languages which aren’t supported by your packages. + +> [!NOTE] +> If your submission includes packages already, we’ll show the [languages](./app-package-requirements.md#supported-languages) supported in your packages on the app overview page (unless you remove any of them). + +To add or remove languages for your Store listings, click **Add/remove languages** from the app overview page. If you‘ve already uploaded packages, you’ll see their languages listed in the **Languages supported by your packages** section. To remove one or more of these languages, click **Remove**. If you later decide to include a language that you previously removed from this section, you can click **Add**. + +:::image type="content" source="images/msix-manage-store-listing.png" lightbox="images/msix-manage-store-listing.png" alt-text="A screenshot showing the manage store listing page for MSIX/PWA app."::: + +In the **Additional Store listing languages** section, you can click **Manage additional languages** to add or remove languages that are _not_ included in your packages. Check the boxes for the languages that you’d like to add, then click **Update**. The languages you’ve selected will be displayed in the **Additional Store listing languages** section. To remove one or more of these languages, click **Remove** (or click **Manage additional languages** and uncheck the box for languages you’d like to remove). + +:::image type="content" source="images/msix-listing-languages-pop-up.png" lightbox="images/msix-listing-languages-pop-up.png" alt-text="A screenshot showing the list of languages available for listing a MSIX/PWA app."::: + +:::image type="content" source="images/msix-listing-language-added.png" lightbox="images/msix-listing-language-added.png" alt-text="A screenshot showing a listing language has ben added for MSIX/PWA app."::: + +When you have finished making your selections, click **Save** to return to the app overview page. + +## Add and edit Store listing info for MSIX app + To edit a Store listing, select the language name from the app overview page. You must edit each language separately, unless you choose to export your Store listings and work offline, then import all of the listing data at once. For more about how that works, see [Import and export Store listings](./import-and-export-store-listings.md). :::image type="content" source="images/msix-listing-overview.png" lightbox="images/msix-listing-overview.png" alt-text="A screenshot showing the overview of the listing page for MSIX/PWA app."::: @@ -29,7 +57,7 @@ If you haven't uploaded packages for the language you're working on, and you've The description field is where you can tell customers what your app does. This field is required, and will accept up to 10,000 characters of plain text. -For some tips on making your description stand out, see [Write a great app description](./write-great-app-description.md). +For some tips on making your description stand out, see [Write a great app description](/hub/apps/publish/best-practices/best-practices.md). ## What's new in this version diff --git a/hub/apps/publish/publish-your-app/msix/app-package-requirements.md b/hub/apps/publish/publish-your-app/msix/app-package-requirements.md index a40d6c1d64..546b12ab95 100644 --- a/hub/apps/publish/publish-your-app/msix/app-package-requirements.md +++ b/hub/apps/publish/publish-your-app/msix/app-package-requirements.md @@ -232,4 +232,4 @@ Language codes that are not included here are not supported by the Store. We rec | Vietnamese | vi, vi-vn | | Welsh | cy, cy-gb | | Wolof | wo, wo-sn | -| Yoruba | yo-latn, yo-ng | +| Yoruba | yo-latn, yo-ng | \ No newline at end of file diff --git a/hub/apps/publish/publish-your-app/msix/configure-release-schedule.md b/hub/apps/publish/publish-your-app/msix/configure-release-schedule.md new file mode 100644 index 0000000000..38f67f52ce --- /dev/null +++ b/hub/apps/publish/publish-your-app/msix/configure-release-schedule.md @@ -0,0 +1,71 @@ +--- +description: Learn how to configure precise release scheduling for your app in the Microsoft Store, including setting release and stop acquisition dates for specific markets. +title: Configure precise release scheduling +ms.date: 6/5/2025 +ms.topic: article +ms.localizationpriority: medium +--- + +# Configure precise release scheduling + +The **Schedule** section on the [Pricing and availability](./price-and-availability.md) page lets you set the precise date and time that your app should become available in the Store, giving you greater flexibility and the ability to customize dates for different markets. + +:::image type="content" source="../msix/images/msix-precise-release-scheduling.png" lightbox="../msix/images/msix-precise-release-scheduling.png" alt-text="A screenshot of the Pricing and availability section showing precise release scheduling options."::: + +> [!NOTE] +> You can additionally opt to set a date when the product should no longer be available in the Store. Note that this means that the product can no longer be found in the Store via searching or browsing, but any customer with a direct link can see the product's Store listing. They can only download it if they already own the product or if they have a [promotional code](../../generate-promotional-codes.md) and are using a Windows 10 or Windows 11 device. + +By default (unless you have selected one of the **Make this app available but not discoverable in the Store** options in the [Visibility](./visibility-options.md#discoverability) section), your app will be available to customers as soon as it passes certification and complete the publishing process. To choose other dates, select **Show options** to expand this section. + +Note that you won't be able to configure dates in the **Schedule** section if you have selected one of the **Make this app available but not discoverable in the Store** options in the [Visibility](./visibility-options.md#discoverability) section, because your app won't be released to customers, so there is no release date to configure. + +> [!IMPORTANT] +> The dates you specify in the Schedule section only apply to customers on Windows 10 and Windows 11. +> +> If your previously-published app supports earlier OS versions, any **Stop acquisition** date you select will not apply to those customers; they will still be able to acquire the app (unless you submit an update with a new selection in the [Visibility](./visibility-options.md#discoverability) section, or if you select **Make app unavailable** from the **App overview** page). + +## Base schedule + +Selections you make for the Base schedule will apply to all markets in which your app is available, unless you later add dates for specific markets (or market groups) by selecting [Customize for specific markets](#customize-the-schedule-for-specific-markets). + +You’ll see two options here: **Release** and **Stop acquisition**. + +## Release + +In the **Release** drop-down, you can set when you want your app to be available in the Store. This means that the app is discoverable in the Store via searching or browsing, and that customers can view its Store listing and acquire the app. + +> [!NOTE] +> After your app has been published and has become available in the Store, you will no longer be able to select a **Release** date (since the app will already have been released). +> Here are the options you can configure for a product’s **Release** schedule: + +- **as soon as possible**: The product will release as soon as it is certified and published. This is the default option. +- **at**: The product will release on the date and time that you select. You additionally have two options: + - **UTC**: The time you select will be Universal Coordinated Time (UTC) time, so that the app releases at the same time everywhere. + - **Local**: The time you select will be the used in each time zone associated with a market. (Note that for markets that include more than one time zone, only one time zone in that market will be used. For the United States, the Eastern time zone is used. A comprehensive list of time zones is shown further down this page.) + +## Stop acquisition + +In the **Stop acquisition** dropdown, you can set a date and time when you want to stop allowing new customers to acquire it from the Store or discover its listing. This can be useful if you want to precisely control when an app will no longer be offered to new customers, such as when you are coordinating availability between more than one of your apps. + +By default, **Stop acquisition** is set to never. To change this, select **at** in the drop-down and specify a date and time, as described above. At the date and time you select, customers will no longer be able to acquire the app. + +It's important to understand that this option has the same impact as selecting **Make this app discoverable but not available** in the [Visibility](./visibility-options.md#discoverability) section and choosing **Stop acquisition: Any customer with a direct link can see the product’s Store listing, but they can only download it if they owned the product before, or have a promotional code and are using a Windows 10 or Windows 11 device.** To completely stop offering an app to new customers, click **Make app unavailable** from the App overview page. For more info, see [Removing an app from the Store](../msix/app-package-management.md#removing-an-app-from-the-store). + +> [!TIP] +> If you select a date to **Stop acquisition**, and later decide you'd like to make the app available again, you can create a new submission and change **Stop acquisition** back to **Never**. The app will become available again after your updated submission is published. + +## Customize the schedule for specific markets + +By default, the options you select above will apply to all markets in which your app is offered. To customize the price for specific markets, click **Customize for specific markets**. The **Market selection** pop-up window will appear, listing all of the markets in which you’ve chosen to make your app available. If you excluded any markets in the [Markets](./market-selection.md) section, those markets will not be shown. + +To add a schedule for one market, select it and click **Create**. You’ll then see the same **Release** and **Stop acquisition** options described above, but the selections you make will only apply to that market. + +To add a schedule that will apply to multiple markets, you’ll create a _market group_. To do so, select the markets you wish to include, then enter a name for the group. (This name is for your reference only and won’t be visible to any customers.) For example, if you want to create a market group for North America, you can select **Canada**, **Mexico**, and **United States**, and name it **North America** or another name that you choose. When you’re finished creating your market group, click **Create**. You’ll then see the same **Release** and **Stop acquisition** options described above, but the selections you make will only apply to that market group. + +To add a custom schedule for an additional market, or an additional market group, just click **Customize for specific markets** again and repeat these steps. To change the markets included in a market group, select its name. To remove the custom schedule for a market group (or individual market), click **Remove**. + +> [!NOTE] +> A market can’t belong to more than one of the market groups you use in the **Schedule** section. + +> [!TIP] +> For more information about **Global Time Zones** you can see the [table](../../best-practices/best-practices.md#global-time-zones) in the best practices section. \ No newline at end of file diff --git a/hub/apps/publish/publish-your-app/msix/create-app-store-listing.md b/hub/apps/publish/publish-your-app/msix/create-app-store-listing.md deleted file mode 100644 index 6ac88b07c0..0000000000 --- a/hub/apps/publish/publish-your-app/msix/create-app-store-listing.md +++ /dev/null @@ -1,35 +0,0 @@ ---- -description: The Store listings section of the app submission process is where you provide the text and images that customers will see when viewing your MSIX app's listing in the Microsoft Store. -title: Create store listings for MSIX app -ms.date: 10/30/2022 -ms.topic: article -ms.localizationpriority: medium ---- - -# Create store listings for MSIX app - -The **Store listings** section of the [app submission process](./create-app-submission.md) is where you provide the text and [images](./screenshots-and-images.md) that customers will see when viewing your app's listing in the Microsoft Store. - -Many of the fields in a **Store listing** are optional, but we suggest providing multiple images and as much info as possible to make your listing stand out. The minimum required for the **Store listings** step to be considered complete is a text description and at least one [screenshot](./screenshots-and-images.md). - -> [!TIP] -> You can optionally [import and export Store listings](./import-and-export-store-listings.md) if you'd prefer to enter your listing info offline in a .csv file, rather than providing info and uploading files directly in Partner Center. Using the import and export option can be especially convenient if you have listings in many languages, since it lets you make multiple updates at once. - -## Store listing languages - -You must complete the **Store listing** page for at least one language. We recommend providing a Store listing in each language that your packages support, but you have flexibility to remove languages for which you don’t wish to provide a Store listing. You can also create Store listings in additional languages which aren’t supported by your packages. - -> [!NOTE] -> If your submission includes packages already, we’ll show the [languages](./app-package-requirements.md#supported-languages) supported in your packages on the app overview page (unless you remove any of them). - -To add or remove languages for your Store listings, click **Add/remove languages** from the app overview page. If you‘ve already uploaded packages, you’ll see their languages listed in the **Languages supported by your packages** section. To remove one or more of these languages, click **Remove**. If you later decide to include a language that you previously removed from this section, you can click **Add**. - -:::image type="content" source="images/msix-manage-store-listing.png" lightbox="images/msix-manage-store-listing.png" alt-text="A screenshot showing the manage store listing page for MSIX/PWA app."::: - -In the **Additional Store listing languages** section, you can click **Manage additional languages** to add or remove languages that are _not_ included in your packages. Check the boxes for the languages that you’d like to add, then click **Update**. The languages you’ve selected will be displayed in the **Additional Store listing languages** section. To remove one or more of these languages, click **Remove** (or click **Manage additional languages** and uncheck the box for languages you’d like to remove). - -:::image type="content" source="images/msix-listing-languages-pop-up.png" lightbox="images/msix-listing-languages-pop-up.png" alt-text="A screenshot showing the list of languages available for listing a MSIX/PWA app."::: - -:::image type="content" source="images/msix-listing-language-added.png" lightbox="images/msix-listing-language-added.png" alt-text="A screenshot showing a listing language has ben added for MSIX/PWA app."::: - -When you have finished making your selections, click **Save** to return to the app overview page. diff --git a/hub/apps/publish/publish-your-app/msix/create-app-submission.md b/hub/apps/publish/publish-your-app/msix/create-app-submission.md index feb30abbbb..e71475c495 100644 --- a/hub/apps/publish/publish-your-app/msix/create-app-submission.md +++ b/hub/apps/publish/publish-your-app/msix/create-app-submission.md @@ -31,6 +31,9 @@ Items that you are required to provide or specify are noted below. Some areas ar | **Sale pricing** | Not required | | | **Organizational licensing** | Not required | | +> [!TIP] +> For detailed information about the **Pricing and availability** fields, see the [Set pricing and availability](./price-and-availability.md) section. + ### Properties page | Field name | Required | @@ -47,24 +50,31 @@ Items that you are required to provide or specify are noted below. Some areas ar | **Product declarations** | Not required | | **System requirements** | Not required | +> [!TIP] +> For detailed information about the **Properties** fields, see the [Add app properties](./enter-app-properties.md) section. + ### Age ratings page | Field name | Notes | | ------------------| ------------ | | **All questions** | **Required** | +> [!TIP] +> For detailed information about the **Age ratings** fields, see the [Generate age ratings](./age-ratings.md) section. + ### Packages page | Field name | Required | Notes | | ------------------------------ | ------------ | ------------------------------ | | **App package** | **Required** | At least one package required. | | **Device family availability** | Not required | | -| **Gradual package rollout** | Not required | | -| **Mandatory update** | Not required | | + +> [!TIP] +> For detailed information about the **Packages** fields, see the [Upload package](./upload-app-packages.md) section. ### Store listings -You'll need all the required info for at least one of the languages that your app supports. We recommend providing [Store listings](./create-app-store-listing.md) in all of the languages your app supports, and you can also provide Store listings in additional languages. To make it easier to manage multiple listings for the same product, you can import and export Store listings. +You'll need all the required info for at least one of the languages that your app supports. We recommend providing [Store listings](./add-and-edit-store-listing-info.md) in all of the languages your app supports, and you can also provide Store listings in additional languages. To make it easier to manage multiple listings for the same product, you can import and export Store listings. | Field name | Required | Notes | | ----------------------------------------------------------------- | ------------ | ---------------------------------------------------------- | @@ -82,6 +92,10 @@ You'll need all the required info for at least one of the languages that your ap | **Additional license terms** | Not required | | | **Developed by** | Not required | | +> [!TIP] +> For detailed information about the **Store listings** fields, see the [Store listings](./add-and-edit-store-listing-info.md) section. + + ### Submission options page | Field name | Required | @@ -91,6 +105,9 @@ You'll need all the required info for at least one of the languages that your ap | **Restricted capabilities** | **Required** if your product declares any restricted capabilities | | **Submission notification audience** | Not required | +> [!TIP] +> For detailed information about the **Submission options** fields, see the [Upload package](./manage-submission-options.md ) section. + Once you have completed all the sections, you can submit your app for certification by clicking **Submit for certification** button on the Application overview page. > [!NOTE] diff --git a/hub/apps/publish/publish-your-app/msix/enter-app-properties.md b/hub/apps/publish/publish-your-app/msix/enter-app-properties.md index c5fc58078f..c3271c091d 100644 --- a/hub/apps/publish/publish-your-app/msix/enter-app-properties.md +++ b/hub/apps/publish/publish-your-app/msix/enter-app-properties.md @@ -18,6 +18,11 @@ You must indicate the category (and subcategory/genre, if applicable) which the For more info, see [Category and subcategory table](./categories-and-subcategories.md). +## Privacy policy +You must indicate whether your app accesses, collects, or transmits personal information. If it does, providing a valid privacy policy URL is required. If it doesn’t, the URL is optional—however, Microsoft may still require one based on the capabilities declared in your app package. Failure to include a required privacy policy may result in certification failure. + +For more details, see [Privacy policy for your MSIX app](./support-info.md). + ## Support info This section lets you provide info such as Privacy policy URL, website and support contact info to help customers understand more about your app and how to get support. You are responsible for ensuring your app complies with applicable privacy laws and regulations, and for providing a valid privacy policy URL here if required. diff --git a/hub/apps/publish/publish-your-app/msix/images/msix-new-product.png b/hub/apps/publish/publish-your-app/msix/images/msix-new-product.png index 487a3c656b..0ffff962bf 100644 Binary files a/hub/apps/publish/publish-your-app/msix/images/msix-new-product.png and b/hub/apps/publish/publish-your-app/msix/images/msix-new-product.png differ diff --git a/hub/apps/publish/publish-your-app/msix/images/msix-precise-release-scheduling.png b/hub/apps/publish/publish-your-app/msix/images/msix-precise-release-scheduling.png index ab9464c43c..ce7146769f 100644 Binary files a/hub/apps/publish/publish-your-app/msix/images/msix-precise-release-scheduling.png and b/hub/apps/publish/publish-your-app/msix/images/msix-precise-release-scheduling.png differ diff --git a/hub/apps/publish/publish-your-app/msix/images/msix-properties-overview.png b/hub/apps/publish/publish-your-app/msix/images/msix-properties-overview.png index 36a8d29cb8..4074b12172 100644 Binary files a/hub/apps/publish/publish-your-app/msix/images/msix-properties-overview.png and b/hub/apps/publish/publish-your-app/msix/images/msix-properties-overview.png differ diff --git a/hub/apps/publish/publish-your-app/msix/images/msix-set-app-pricing.png b/hub/apps/publish/publish-your-app/msix/images/msix-set-app-pricing.png index 594aaac709..41ad41039b 100644 Binary files a/hub/apps/publish/publish-your-app/msix/images/msix-set-app-pricing.png and b/hub/apps/publish/publish-your-app/msix/images/msix-set-app-pricing.png differ diff --git a/hub/apps/publish/publish-your-app/msix/import-and-export-store-listings.md b/hub/apps/publish/publish-your-app/msix/import-and-export-store-listings.md index ad9d9689a4..e2dc2ffa14 100644 --- a/hub/apps/publish/publish-your-app/msix/import-and-export-store-listings.md +++ b/hub/apps/publish/publish-your-app/msix/import-and-export-store-listings.md @@ -8,7 +8,7 @@ ms.localizationpriority: medium # Import and export store listings for MSIX app -Instead of [entering info for your Store listings directly in Partner Center](./create-app-store-listing.md), you have the option to add or update info by exporting your listings in a .csv file, entering your info and assets, and then importing the updated file. You can use this method to create listings from scratch, or to update listings you’ve already created. +Instead of [entering info for your Store listings directly in Partner Center](./add-and-edit-store-listing-info.md), you have the option to add or update info by exporting your listings in a .csv file, entering your info and assets, and then importing the updated file. You can use this method to create listings from scratch, or to update listings you’ve already created. This option is especially useful if you want to create or update Store listings for your product in multiple languages, since you can copy/paste the same info into multiple fields and easily make any changes that should apply to specific languages. @@ -57,7 +57,7 @@ If you don’t want to make any edits to a particular field, you can delete the Deleting the info in a field for one language, without removing the entire row, works differently, depending on the field. For fields whose **Type** is **Text**, deleting the info in a field will simply remove that entry from the listing in that language. However, deleting the info in a field for an image, such as a screenshot or logo, will not have any effect; the previous image will still be used unless you remove it by editing directly in Partner Center. Deleting the info for a trailer field will actually remove that trailer from Partner Center, so be sure you have a copy of any needed files before you do so. -Many of the fields in your exported listings require text entry, such as the ones in the example above, **Description** and **ReleaseNotes**. For these types of fields, simply enter the appropriate text into the field for each language. Be sure to follow the length and other requirements for each field. For more info on these requirements, see [Create app Store listings](./create-app-store-listing.md). +Many of the fields in your exported listings require text entry, such as the ones in the example above, **Description** and **ReleaseNotes**. For these types of fields, simply enter the appropriate text into the field for each language. Be sure to follow the length and other requirements for each field. For more info on these requirements, see [Create app Store listings](./add-and-edit-store-listing-info.md). Providing info for fields that correspond to assets, such as images and trailers, are a bit more complicated. Rather than **Text**, the **Type** for these assets is **Relative path (or URL to file in Partner Center)**. @@ -91,6 +91,6 @@ You can continue to make updates to your listings either by importing another up ## Add-ons -For add-ons, importing and exporting Store listings uses the same process described above, except that you'll only see the three fields relevant to [add-on Store listings](./create-app-store-listing.md): **Description**, **Title**, and **StoreLogo300x300** (referred to as **Icon** in the Store listing page in Partner Center). The **Title** field is required, and the other two fields are optional. +For add-ons, importing and exporting Store listings uses the same process described above, except that you'll only see the three fields relevant to [add-on Store listings](./add-and-edit-store-listing-info.md): **Description**, **Title**, and **StoreLogo300x300** (referred to as **Icon** in the Store listing page in Partner Center). The **Title** field is required, and the other two fields are optional. Note that you must import and export Store listings separately for each add-on in your app by navigating to the submission overview page for the add-on. diff --git a/hub/apps/publish/publish-your-app/msix/manage-submission-options.md b/hub/apps/publish/publish-your-app/msix/manage-submission-options.md index c9a531fd6d..f208be2e07 100644 --- a/hub/apps/publish/publish-your-app/msix/manage-submission-options.md +++ b/hub/apps/publish/publish-your-app/msix/manage-submission-options.md @@ -34,16 +34,6 @@ You can change this release date after submitting your product, as long as it ha As noted earlier, if you want to specify certain dates for your submission to be published, use the **Publish this submission as soon as it passes certification (or per dates you selected in the Schedule section)** and leave the **Publishing hold options** set to the default selection. Using the **Start publishing this submission on** option means that your submission will not start the publishing process until that date, but delays during certification or publishing could cause the actual release date to be later than the date you select. -### Restricted capabilities - -If we detect that your packages declare any [restricted capabilities](/windows/uwp/packaging/app-capability-declarations#restricted-capabilities), you’ll need to provide info in this section in order to receive approval. For each capability, tell us why your app needs to declare the capability and how it is used. Be sure to provide as much detail as possible to help us understand why your product needs to declare the capability. - -During the certification process, our testers will review the info you provide to determine whether your submission is approved to use the capability. Note that this may add some additional time for your submission to complete the certification process. If we approve your use of the capability, your app will continue through the rest of the certification process. You generally will not have to repeat the capability approval process when you submit updates to your app (unless you declare additional capabilities). - -If we don’t approve your use of the capability, your submission will fail certification, and we will provide feedback in the certification report. You then have the option to create a new submission and upload packages which don’t declare the capability, or, if applicable, address any issues related to your use of the capability and request approval in a new submission. - -Note that there are some restricted capabilities which will very rarely be approved. For more info about each restricted capability, see [App capability declarations](/windows/uwp/packaging/app-capability-declarations#restricted-capabilities). - ## Notes for certification As you submit your app, you have the option to use the **Notes for certification** page to provide additional info to the certification testers. This info can help ensure that your app is tested correctly. Including these notes is particularly important for products that use Xbox Live Services and/or that require logging in to an account. If we can't fully test your submission, it may fail certification. @@ -72,6 +62,16 @@ When considering what to write, remember: - **Services and external components must be online and available.** If your app needs to connect to a service in order to function, make sure that the service will be online and available. Include any information about the service that testers will need, such as login info. If your app can't connect to a service it needs during testing, it may fail certification. +### Restricted capabilities + +If we detect that your packages declare any [restricted capabilities](/windows/uwp/packaging/app-capability-declarations#restricted-capabilities), you’ll need to provide info in this section in order to receive approval. For each capability, tell us why your app needs to declare the capability and how it is used. Be sure to provide as much detail as possible to help us understand why your product needs to declare the capability. + +During the certification process, our testers will review the info you provide to determine whether your submission is approved to use the capability. Note that this may add some additional time for your submission to complete the certification process. If we approve your use of the capability, your app will continue through the rest of the certification process. You generally will not have to repeat the capability approval process when you submit updates to your app (unless you declare additional capabilities). + +If we don’t approve your use of the capability, your submission will fail certification, and we will provide feedback in the certification report. You then have the option to create a new submission and upload packages which don’t declare the capability, or, if applicable, address any issues related to your use of the capability and request approval in a new submission. + +Note that there are some restricted capabilities which will very rarely be approved. For more info about each restricted capability, see [App capability declarations](/windows/uwp/packaging/app-capability-declarations#restricted-capabilities). + ## App submission controls Submission controls let you manage your app submission more easily. You can delete a draft submission, cancel a review process, or make your app unavailable. diff --git a/hub/apps/publish/publish-your-app/msix/publish-update-to-your-app-on-store.md b/hub/apps/publish/publish-your-app/msix/publish-update-to-your-app-on-store.md index 4d16441e17..bc2087224f 100644 --- a/hub/apps/publish/publish-your-app/msix/publish-update-to-your-app-on-store.md +++ b/hub/apps/publish/publish-your-app/msix/publish-update-to-your-app-on-store.md @@ -12,7 +12,7 @@ You can make changes to a published app at any time. To submit updates, go to th :::image type="content" source="images/msix-start-app-update.png" lightbox="images/msix-start-app-update.png" alt-text="A screenshot showing how to start update for an app."::: -Go to the required sections like [Pricing and availability](./price-and-availability.md), [Properties](./enter-app-properties.md), [Age ratings](./age-ratings.md), [Packages](./upload-app-packages.md), [Store listing](./create-app-store-listing.md) and [Submission options](./manage-submission-options.md) to make the changes you'd like and save them. Then click  **Submit for certification** on the App overview page. +Go to the required sections like [Pricing and availability](./price-and-availability.md), [Properties](./enter-app-properties.md), [Age ratings](./age-ratings.md), [Packages](./upload-app-packages.md), [Store listing](./add-and-edit-store-listing-info.md) and [Submission options](./manage-submission-options.md) to make the changes you'd like and save them. Then click  **Submit for certification** on the App overview page. :::image type="content" source="images/msix-submit-app-update.png" lightbox="images/msix-submit-app-update.png" alt-text="A screenshot showing the overview of Properties section showing support info."::: diff --git a/hub/apps/publish/publish-your-app/msix/reserve-your-apps-name.md b/hub/apps/publish/publish-your-app/msix/reserve-your-apps-name.md index 4323c4f45f..ab5c18f800 100644 --- a/hub/apps/publish/publish-your-app/msix/reserve-your-apps-name.md +++ b/hub/apps/publish/publish-your-app/msix/reserve-your-apps-name.md @@ -28,21 +28,5 @@ Follow the following steps to reserve your app's name: > [!NOTE] > You might find that you cannot reserve a name, even though you do not see any apps listed by that name in the Microsoft Store. This is usually because another developer has reserved the name for their app but has not submitted it yet. If you are unable to reserve a name for which you hold the trademark or other legal right, or if you see another app in the Microsoft Store using that name, [contact Microsoft](https://www.microsoft.com/info/cpyrtInfrg.html). -## Tips for choosing a great app name - -Choosing the right name for your app is important. Pick a name that will capture your customers' interest and draw them in to learn more about your app. Here are some tips for choosing a great app name. - -**Keep it short**. While your app's name can have up to 256 characters, the space used to display your app's name is limited. Long names may be truncated based on where in the store your app is being displayed and the user's display size and settings. - > [!TIP] -> Windows uses variable width fonts, so the number of visible characters in your title depends on which characters you use. For example, using Segoe UI, about 30 `i` characters will fit in the same space as 10 `w` characters. If you have multiple apps, be sure to test the visibility of each app's title, even if they are the same number of characters. Also be sure to test all localizations of your app's name. Keep in mind that East-Asian characters tend to be wider than Latin characters, so fewer characters will be displayed. - -**Be original**. Make sure your app name is distinctive enough that it won't be easily confused with an existing app. - -**Do not use names trademarked by others**. Make sure that you have the right to use the name that you reserve. If someone else has trademarked the name, they can report an infringement and you will not be able to keep using that name. If that happens after your app has been published, it will be removed from the Store until you've changed all instances of the name in your app, its content, and its store listing before you can submit your app for certification again. - -**Avoid trailing differentiators**. Information that distinguishes different versions of your app should not be put at the end of your title. This information can be truncated by the UI, and users can miss it even if it is displayed. - -If this is unavoidable, use different logos and app images to make it easier to differentiate one app from another. - -**Do not include emojis in your name**. You will not be able to reserve a name that includes emojis or other unsupported characters. +> For guidance on selecting an effective app name, see the [Best practices](/hub/apps/publish/best-practices/best-practices.md) section. diff --git a/hub/apps/publish/publish-your-app/msix/resolve-submission-errors.md b/hub/apps/publish/publish-your-app/msix/resolve-submission-errors.md index 6784bff844..8456ceda50 100644 --- a/hub/apps/publish/publish-your-app/msix/resolve-submission-errors.md +++ b/hub/apps/publish/publish-your-app/msix/resolve-submission-errors.md @@ -49,7 +49,7 @@ Review this list to help avoid issues that frequently prevent apps from getting - Include a [privacy policy URL](./support-info.md#privacy-policy-url) if your app requires one; for example, if your app accesses any kind of personal information in any way or is otherwise required by law. To help determine if your app requires a privacy policy, review the [App Developer Agreement](https://go.microsoft.com/fwlink/?linkid=528905) and the [Microsoft Store Policies](../../store-policies.md). -- Make sure that your app's description clearly represents what your app does. For help, see our guidance on [writing a great app description](./write-great-app-description.md). +- Make sure that your app's description clearly represents what your app does. For help, see our guidance on [writing a great app description on the best practices section](/hub/apps/publish/best-practices/best-practices.md). - Provide complete and accurate responses to all of the questions in the [Age ratings](./age-ratings.md) section. diff --git a/hub/apps/publish/publish-your-app/msix/schedule-pricing-changes.md b/hub/apps/publish/publish-your-app/msix/schedule-pricing-changes.md index f59cd6bcf9..498694f174 100644 --- a/hub/apps/publish/publish-your-app/msix/schedule-pricing-changes.md +++ b/hub/apps/publish/publish-your-app/msix/schedule-pricing-changes.md @@ -1,16 +1,16 @@ --- description: Select the base price for an MSIX app and schedule price changes. You can also customize these options for specific markets. -title: Set and schedule app pricing for MSIX app +title: Set app pricing for MSIX app ms.date: 10/30/2022 ms.topic: article ms.localizationpriority: medium --- -# Set and schedule app pricing for MSIX app +# Set app pricing for MSIX app ## Configure app pricing -The **Pricing** section of the [Pricing and availability](./price-and-availability.md) page lets you select the base price for an app. You can also [schedule price changes](#schedule-price-changes) to indicate the date and time at which your app’s price should change. Additionally, you have the option to [override the base price for specific markets](#override-base-price-for-specific-markets), either by selecting a new price tier or by entering a free-form price in the market's local currency. Please be aware that Microsoft does not alter the product pricing you set without your approval. You’re in charge of making sure the prices match the current market situations, including currency exchange rates. +The **Pricing** section of the [Pricing and availability](./price-and-availability.md) page lets you select the base price for an app. You can also [schedule price changes](./configure-release-schedule.md) to indicate the date and time at which your app’s price should change. Additionally, you have the option to [override the base price for specific markets](#override-base-price-for-specific-markets), either by selecting a new price tier or by entering a free-form price in the market's local currency. Please be aware that Microsoft does not alter the product pricing you set without your approval. You’re in charge of making sure the prices match the current market situations, including currency exchange rates. :::image type="content" source="images/msix-set-app-pricing.png" lightbox="images/msix-set-app-pricing.png" alt-text="A screenshot of the Pricing and availability section showing how to set app pricing."::: @@ -31,22 +31,6 @@ Keep in mind that the price tier you select may include sales or value-added tax > [!NOTE] > If you choose the **Stop acquisition** option under **Make this product available but not discoverable in the Store** in the [Visibility](./visibility-options.md#discoverability) section), you won't be able to set pricing for your submission (since no one will able to acquire the app unless they use a promotional code to get the app for free). -### Schedule price changes - -You can optionally schedule one or more price changes if you want the base price of your app to change at a specific date and time. - -> [!IMPORTANT] -> Price changes are only shown to customers on Windows 10 or Windows 11 devices (including Xbox). If your previously-published app supports earlier OS versions, the price changes will not apply to those customers. - -Click **Schedule a price change** to see the price change options. Choose the price tier you’d like to use (or enter a free-form price for single-market base price overrides), then select the date, time, and time zone. - -You can click **Schedule a price change** again to schedule as many subsequent changes as you’d like. - -> [!NOTE] -> Scheduled price changes work differently from [Sale pricing](../../put-apps-and-add-ons-on-sale.md). When you put an app on sale, the price shows with a strikethrough in the Store, and customers will be able to purchase the app at the sale price during the time period that you have selected. After the sale period is up, the sale price will no longer apply and the app will be available at its base price (or a different price that you have specified for that market, if applicable). -> -> With a scheduled price change, you can adjust the price to be either higher or lower. The change will take place on the date you specify, but it won’t be displayed as a sale in the Store, or have any special formatting applied; the app will just have a new price. - ### Override base price for specific markets By default, the options you select above will apply to all markets in which your app is offered. You can optionally change the price for one or more markets, either by choosing a different price tier or entering a free-form price in the market’s local currency. This way, you can maintain your regional pricing strategy and respond more effectively to the changes in the currency exchange rates in each market. diff --git a/hub/apps/publish/publish-your-app/msix/screenshots-and-images.md b/hub/apps/publish/publish-your-app/msix/screenshots-and-images.md index 534f741dfc..45f2bb804c 100644 --- a/hub/apps/publish/publish-your-app/msix/screenshots-and-images.md +++ b/hub/apps/publish/publish-your-app/msix/screenshots-and-images.md @@ -12,7 +12,7 @@ Well-designed images are one of the main ways for you to represent your app to p You can provide [screenshots](#screenshots), [logos](#store-logos), [trailers](#trailers), and other art assets to include in your app's Store listing. Some of these are required, and some are optional (although some of the optional images are important to include for the best Store display). -During the [app submission process](./create-app-submission.md), you provide these art assets in the [Store listings](./create-app-store-listing.md) step. Note that the images which are used in the Store, and the way that they appear, may vary depending on the customer's operating system and other factors. +During the [app submission process](./create-app-submission.md), you provide these art assets in the [Store listings](./add-and-edit-store-listing-info.md) step. Note that the images which are used in the Store, and the way that they appear, may vary depending on the customer's operating system and other factors. The Store may also use your app's icon and other images that you include in your app's package. Run the [Windows App Certification Kit](/windows/uwp/debug-test-perf/windows-app-certification-kit) to determine if you're missing any required images before you submit your app. For guidance and recommendations about these images, see [App icons and logos](../../../design/style/iconography/overview.md). diff --git a/hub/apps/publish/publish-your-app/msix/upload-app-packages.md b/hub/apps/publish/publish-your-app/msix/upload-app-packages.md index 94f799ad79..48e049f1ee 100644 --- a/hub/apps/publish/publish-your-app/msix/upload-app-packages.md +++ b/hub/apps/publish/publish-your-app/msix/upload-app-packages.md @@ -60,15 +60,7 @@ After your packages have been [successfully uploaded on the **Packages** page](. This section also includes a checkbox where you can indicate whether you want to allow Microsoft to make the app available to any future Windows 10 or Windows 11 device families. We recommend keeping this box checked so that your app can be available to more potential customers as new device families are introduced. -### Choosing which device families to support - -If you upload packages targeting one individual device family, we'll check the box to make those packages available to new customers on that type of device. For example, if a package targets Windows.Desktop, the **Windows 10/11 Desktop** box will be checked for that package (and you won't be able to check the boxes for other device families). - -Packages targeting the Windows.Universal device family can run on any Windows 10 or Windows 11 device (including Xbox One). By default, we'll make those packages available to new customers on all device types _except_ for Xbox. - -You can uncheck the box for any Windows 10 or Windows 11 device family if you don’t want to offer your submission to customers on that type of device. If a device family’s box is unchecked, new customers on that type of device won’t be able to acquire the app (though customers who already have the app can still use it, and will get any updates you submit). - -If your app supports them, we recommend keeping all of the boxes checked, unless you have a specific reason to limit the types of Windows 10 or Windows 11 devices which can acquire your app. For instance, if you know that your app doesn't offer a good experience on [Surface Hub](https://developer.microsoft.com/windows/surfacehub) and/or [Microsoft HoloLens](https://developer.microsoft.com/mixed-reality), you can uncheck the **Windows 10 Team** and/or **Windows 10 Holographic** box. This prevents any new customers from acquiring the app on those devices. If you later decide you're ready to offer it to those customers, you can create a new submission with the boxes checked. +For more info on which device family should the app support, see [Choosing which device families to support](/hub/apps/publish/best-practices/best-practices.md). #### Xbox devices diff --git a/hub/apps/publish/publish-your-app/msix/write-great-app-description.md b/hub/apps/publish/publish-your-app/msix/write-great-app-description.md deleted file mode 100644 index 4e60b2c2d7..0000000000 --- a/hub/apps/publish/publish-your-app/msix/write-great-app-description.md +++ /dev/null @@ -1,29 +0,0 @@ ---- -description: A great description can make your MSIX app stand out in the Microsoft Store and help encourage customers to download it. -title: Write a great app description for MSIX app -ms.date: 10/30/2022 -ms.topic: article -ms.localizationpriority: medium ---- - -# Write a great app description for MSIX app - -A great description can make your app stand out in the Microsoft Store and help encourage customers to download it. [The description you enter when submitting your app](add-and-edit-store-listing-info.md#description) is displayed in your app's Store listing. The first few lines may also be displayed in search results and algorithm lists in the Store. - -Here are some tips for making your app's description the best it can be. - -- **Grab attention in the first few sentences.** The beginning of your description is the most important, so make sure it grabs and holds attention. Start with the value prop: why should potential customers take the time and money to get your app? What is the benefit to choosing your app over another? In one or two sentences, using plain and clear language, explain your app's unique appeal and why someone would want it. -- **Make it easy to learn about your app.** After your initial hook, describe additional benefits, in-app purchase opportunities, and other details about your app that customers will want to know. Make sure you include any disclosures or information that you are required to provide under the law in the markets where you are distributing your app. -- **Use lists and short paragraphs.** Potential customers may just take a quick glance at your app's description. Breaking up the content by using short paragraphs and lists makes it easier to scan. - - > [!NOTE] - >  Adding a list of [product features](create-app-store-listing.md) can also help to quickly show what your app does. This list appears directly below the app description. - -- **Avoid dry language.** Write your description using engaging language. Be sure the wording clearly describes what your app does, but say it in a way that doesn't sound boring. For many apps, a casual and friendly tone works well. -- **Use a length that is just right.** A good description reads quickly, but also includes enough info to get the reader interested and explain what the app does. A complex app will need more sentences to describe it; a simple app may need only a few. In most cases the right length is somewhere over 200 words, but well under 3000. -- **Be clear about free trials and add-ons.** If you offer a free trial of your app, be sure to explain how that trial works, so that customers understand which features are limited. It's also a good idea to mention what types of add-ons are available, particularly if they have significant impacts on your app's functionality. -- **Use standard capitalization and punctuation.** Descriptions in all caps, or those that have unusual punctuation, can be hard to read. -- **Don't forget to check the spelling and grammar.** A description with lots of misspelled words or mangled sentences doesn't reflect well on the quality of your app. Be sure to review your description (or have someone else take a look) to check for errors. -- **Don't include links or info that belongs elsewhere.** URLs that you enter in the description field won't be clickable, so don't try to add links for things like your privacy policy or support website. Instead, add these in the designated areas of the **Properties** page of your submission. -- **Don't use HTML tags.** HTML or other code will not be rendered. Your description needs to be plain text only. -- **Get ideas by reviewing descriptions of similar apps in the Store.** Take a look at how other developers describe their apps. This also helps you figure out what you can emphasize that is different about your app. diff --git a/hub/apps/publish/store-app-quality.md b/hub/apps/publish/store-app-quality.md index f16c838f09..e553983cc3 100644 --- a/hub/apps/publish/store-app-quality.md +++ b/hub/apps/publish/store-app-quality.md @@ -38,6 +38,7 @@ Make your **title** memorable and informative. A quality title can draw attentio - Be original and distinctive. For example, a title that’s a variation on the spelling of another app can cause confusion and a unique title can help your app stand out. - Choose a title that is informative. For example, “My First App” or “Client App” are too generic. - Take a look at the article [Choosing your app's name](publish-your-app/msix/reserve-your-apps-name.md) for more helpful title ideas. +- For some great tips, see the article [Write a great app name](./best-practices/best-practices.md#tips-for-choosing-a-great-app-name). The **description** lets you describe your app’s main features. Keep it clear, crisp, and compelling. @@ -46,7 +47,7 @@ The **description** lets you describe your app’s main features. Keep it clear, - List app features in the features section of the metadata and summarize your best features in the app description so customers can tell what they’ll get. For example, don’t just list the planets when you describe your astronomy app; tell customers about your app’s special satellite tracking feature. In crowded segments of the Store, make an extra effort to tell customers how your app is different and better. - Tell customers the truth. Describe what’s actually in the app. For example, don’t tell customers about features that aren’t yet in your app (unless you identify them as planned). - If your app depends on another app to function, say so the beginning of your description. This will let customers know what other software and apps they need to use your app. -- For some great tips, see the article [Write a great app description](publish-your-app/msix/write-great-app-description.md). +- For some great tips, see the article [Write a great app description](./best-practices/best-practices.md#write-a-great-app-description-for-msix-app). **Screenshots** and **Trailers** are your chance to give customers a preview of your app’s awesome functionality. Use them skillfully to highlight app quality: diff --git a/hub/apps/publish/store-submission-api.md b/hub/apps/publish/store-submission-api.md index 637f819a35..4edf7de1a1 100644 --- a/hub/apps/publish/store-submission-api.md +++ b/hub/apps/publish/store-submission-api.md @@ -27,7 +27,7 @@ Before you start writing code to call the Microsoft Store submission API for MSI - If your app does not yet exist in Partner Center, you must [create your app by reserving its name](publish-your-app/msix/reserve-your-apps-name.md) in Partner Center. You cannot use the Microsoft Store submission API to create an app in Partner Center; you must work in Partner Center to create it, and then after that you can use the API to access the app and programmatically create submissions for it. - Before you can create a submission for a given app using this API, you must first [create one submission for the app](publish-your-app/msix/create-app-submission.md) in Partner Center, including answering the [age ratings](publish-your-app/msix/age-ratings.md) questionnaire. After you do this, you will be able to programmatically create new submissions for this app using the API. - If you are creating or updating an app submission and you need to include new package, [prepare the package details](publish-your-app/msi/upload-app-packages.md). - - If you are creating or updating an app submission and you need to include screenshots or images for the Store listing, [prepare the app screenshots and images](publish-your-app/msi/create-app-store-listing.md). + - If you are creating or updating an app submission and you need to include screenshots or images for the Store listing, [prepare the app screenshots and images](publish-your-app/msi/add-and-edit-store-listing-info.md). ### How to associate an Azure AD application with your Partner Center account diff --git a/hub/apps/publish/toc.yml b/hub/apps/publish/toc.yml index fe291eae3e..54ce3c0748 100644 --- a/hub/apps/publish/toc.yml +++ b/hub/apps/publish/toc.yml @@ -16,7 +16,7 @@ items: - name: Reserve app name href: publish-your-app/msix/reserve-your-apps-name.md - name: Create app submission - href: publish-your-app/msix/create-app-submission.md + href: publish-your-app/msix/add-and-edit-store-listing-info.md - name: Set pricing and availability items: - name: Overview @@ -50,7 +50,7 @@ items: - name: Create Store listings items: - name: Create Store listings - href: publish-your-app/msix/create-app-store-listing.md + href: publish-your-app/msix/add-and-edit-store-listing-info.md - name: Add and edit Store listing info href: publish-your-app/msix/add-and-edit-store-listing-info.md - name: Add app screenshots, images, and trailers @@ -59,8 +59,6 @@ items: href: publish-your-app/msix/add-additional-information.md - name: Import and export Store listings href: publish-your-app/msix/import-and-export-store-listings.md - - name: Write a great app description - href: publish-your-app/msix/write-great-app-description.md - name: Responsible AI FAQ for AI-generated keywords href: publish-your-app/responsible-ai-faq-ai-generated-keywords.md - name: Manage Submission options @@ -70,7 +68,7 @@ items: - name: Reserve app name href: publish-your-app/msi/reserve-your-apps-name.md - name: Create app submission - href: publish-your-app/msi/create-app-submission.md + href: publish-your-app/msi/add-and-edit-store-listing-info.md - name: Set pricing and availability items: - name: Overview @@ -106,7 +104,7 @@ items: - name: Create Store listings items: - name: Create Store listings - href: publish-your-app/msi/create-app-store-listing.md + href: publish-your-app/msix/add-and-edit-store-listing-info.md - name: Add and edit Store listing info href: publish-your-app/msi/add-and-edit-store-listing-info.md - name: Add app screenshots and images @@ -207,6 +205,12 @@ items: href: publish-your-app/add-on/manage-submission-options.md - name: Update existing add-on href: publish-your-app/add-on/publish-update-to-your-app-on-store.md + - name: Best practices + items: + - name: Best practices for app submission + href: /hub/apps/publish/best-practices/best-practices.md + - name: App Quality + href: store-app-quality.md - name: Get your app certified items: - name: MSIX @@ -400,8 +404,6 @@ items: href: https://aka.ms/disclosurepolicypdf - name: Resources items: - - name: App Quality - href: store-app-quality.md - name: EU Digital Services Act requirements href: store-business-verification-reqs.md - name: Microsoft Edge Add-ons store developer policies