Какая замена MarketplaceReviewTask в Windows Phone 8.1 Universal Apps

Я смотрел повсюду и просто не могу найти способ запустить Rate and Review из своего приложения. Кто-нибудь знает, как запустить эту задачу на новом Windows Phone 8.1?

Ответы

Ответ 1

await Windows.System.Launcher.LaunchUriAsync(
    new Uri("ms-windows-store:reviewapp?appid=" + CurrentApp.AppId));

это хорошо!

Ответ 2

Прямой замены 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]"));

Ответ 3

Я могу подтвердить, что метод, опубликованный user3496220, работает, но только если вы используете идентификатор приложения вашего приложения из Dev Center (а не CurrentApp.AppId) Как это в вашем случае:

await Windows.System.Launcher.LaunchUriAsync(
    new Uri("ms-windows-store:reviewapp?appid=fc0c29fc-f615-4753-aad7-5cf760ca5d2d"));

Ответ 4

Я знаю, что этот вопрос конкретно касается 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

Ответ 5

Ok. Я выяснил это. Я не уверен, что это лучший способ сделать это, но это единственный способ, которым это работало.

Вместо того, чтобы использовать какой-либо специальный Uri, я напрямую связался с моей ссылкой на приложение как это. Как описано в MSDN.

Есть одна проблема, хотя, если вы никогда не публиковали приложение, которое хотите включить проверку, у вас не будет ссылки.

Спасибо @Romasz за обмен ссылками MSDN.

Ответ 6

Это откроет IE, который перенаправляет в хранилище:

await Launcher.LaunchUriAsync(CurrentApp.LinkUri);

Ответ 7

Я нашел сложный способ отличить телефон 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.

Надеюсь, что это поможет