Ответ 1
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
это хорошо!
Я смотрел повсюду и просто не могу найти способ запустить Rate and Review из своего приложения. Кто-нибудь знает, как запустить эту задачу на новом Windows Phone 8.1?
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
это хорошо!
Прямой замены MarketplaceReviewTask
нет. Теперь он работает следующим образом: используя LaunchUriAsync с соответствующим Uri, описанным в "MSDN - ссылка на ваше приложение в магазине" :
, чтобы просмотреть приложение, которое вы можете использовать:
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=[app ID]"));
// or simply for the current app:
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp"));
В приведенной выше ссылке (MSDN) вы также найдете структуру Uri для перехода на страницу сведений и поиска указанного содержимого в хранилище.
Отметим также, что Windows Phone 8.1 имеет обратную совместимость с WP 8.0, поэтому все схемы URI для запуска встроенных приложений работают. Поэтому вы также можете использовать их следующим образом:
, чтобы просмотреть приложение:
await Windows.System.Launcher.LaunchUriAsync(new Uri(@"zune:reviewapp?appid=app" + YourAppID));
, чтобы увидеть подробную информацию Страница приложения:
await Windows.System.Launcher.LaunchUriAsync(new Uri(@"zune:navigate?appid=[app ID]"));
Я могу подтвердить, что метод, опубликованный user3496220, работает, но только если вы используете идентификатор приложения вашего приложения из Dev Center (а не CurrentApp.AppId) Как это в вашем случае:
await Windows.System.Launcher.LaunchUriAsync(
new Uri("ms-windows-store:reviewapp?appid=fc0c29fc-f615-4753-aad7-5cf760ca5d2d"));
Я знаю, что этот вопрос конкретно касается Windows Phone 8.1 Universal Apps. Но поскольку основной причиной создания универсального приложения является одно приложение, работающее как на Windows Phone 8.1, так и на Windows 8.1, я бы хотел добавить, что эта ссылка отличается для приложений Windows Store.
Как описано в MSDN (http://msdn.microsoft.com/en-us/library/windows/apps/Hh974767.aspx), синтаксис ссылки немного отличается:
Чтобы создать ссылку протокола Windows Store, добавьте имя семейства пакетов вашего приложения в URL-адрес:
ms-windows-store:[action]P?PFN=[Package Family Name]
Вы можете получить семейное имя пакета для своего приложения либо из Microsoft Visual Studio, либо, посетив страницу веб-страниц приложений, и просмотрите источник страницы.
Возможные действия:
PDP Opens an app listing page.
Review Opens the "Write a review" page of an app listing.
Пример Ссылка для запроса обзора магазина:
ms-windows-store:REVIEW?PFN=6509Knattips.StopNow_eadn2jc3headp
Ok. Я выяснил это. Я не уверен, что это лучший способ сделать это, но это единственный способ, которым это работало.
Вместо того, чтобы использовать какой-либо специальный Uri, я напрямую связался с моей ссылкой на приложение как это. Как описано в MSDN.
Есть одна проблема, хотя, если вы никогда не публиковали приложение, которое хотите включить проверку, у вас не будет ссылки.
Спасибо @Romasz за обмен ссылками MSDN.
Это откроет IE, который перенаправляет в хранилище:
await Launcher.LaunchUriAsync(CurrentApp.LinkUri);
Я нашел сложный способ отличить телефон Windows 8.1 от Windows-телефона 10, функция fooobar.com/info/239109/... на основе этой функции я использовал следующий код, чтобы функция оценки работала на wp8.1 и wp10 (протестировано на Nokia Lumia 925, Nokia Lumia 735 и Nokia Lumia 930).
private async void OnTapRateThisApp(object sender, RoutedEventArgs e)
{
bool launched = false;
try
{
// FUNCTION at /info/239109/how-to-detect-windows-phone-81-os-version-programatically/1244619#1244619
if (this.liIsWindowsPhone81(false))
{
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));
}
else
{
await Windows.System.Launcher.LaunchUriAsync(new Uri("ms-windows-store://review/?PFN=" + Package.Current.Id.FamilyName));
}
launched = true;
}
catch{}
if (!launched)
{
// Unable to launch the uri
}
}
Я хочу подчеркнуть, что приложение, над которым я работаю, является только телефоном Windows, не является UWP.
Надеюсь, что это поможет