2010-05-23 2 views
62

Я только что написал игру для Google Play Store и хотел бы напомнить моим клиентам оставить отзыв на рынке приложений (особенно демо-версию). Есть ли способ запустить рыночные намерения в режиме, который приведет пользователя к разделу отзывов/комментариев на странице?Как запустить Google Play в режиме «Отправить отзыв» на Android?

Я уже использую этот подход для увязки моего демо к платному приложению ...

Intent goToMarket = null; 
goToMarket = new Intent(
        Intent.ACTION_VIEW, 
        Uri.parse("market://details?id=com.paulmaidment.games.flagsoftheworld")); 
startActivity(goToMarket); 

Есть ли лучшая практика?

Кроме того, есть ли способ отслеживать рефералов из моего демонстрационного приложения, чтобы я мог попытаться рассчитать какой-то коэффициент конверсии? (то есть, насколько эффективна демонстрационная заявка при генерировании продаж.)

+0

Все, что вы можете сделать, это перенаправить пользователя на ваш Google Play данные страницы, например с [AppRater] (https://github.com/delight-im/AppRater), аналогичными библиотеками или вручную. Вы не можете продолжить навигацию пользователя в приложении Google Play. – caw

ответ

13

Я не уверен, если это возможно для намерения взять пользователя непосредственно в раздел отзывов/комментариев. Руководство разработчика не упоминает эту возможность.

Что касается отслеживания рефералов вы можете захотеть, чтобы проверить это: http://code.google.com/mobile/analytics/docs/android/#android-market-tracking

+0

с Android ICS (4.x), вы можете перейти непосредственно к диалогу обратной связи, но это тот, который используется для отчетов об ошибках. не уверены в последствиях его использования. я обновил свой ответ, чтобы включить его также в случае, если кто-то захочет попробовать его. –

81

Обратите внимание, что для того, чтобы сделать деятельность потока более ожидаемой для конечного пользователя, вы должны рассмотреть вопрос о добавлении некоторых намерений флагов. я предлагаю:

String appPackageName= getPackageName(); 
Intent marketIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id="+appPackageName)); 
marketIntent.addFlags(Intent.FLAG_ACTIVITY_NO_HISTORY | Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET|Intent.FLAG_ACTIVITY_MULTIPLE_TASK|Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(marketIntent); 

Таким образом, когда пользователь нажимает назад, он получит в приложение, а не оставаться на рынке (если он был там раньше). Кроме того, если пользователь снова открыл ваше приложение (после того, как оно ушло на задний план), рынок не появится.

Вы также можете добавить попытку catch для вызова startActivity(), чтобы вы могли показать веб-сайт приложения, если рынок недоступен (либо каким-либо образом удалены, либо потому, что компания устройства не включила его).


EDIT: другой альтернативы How to use Intent.ACTION_APP_ERROR as a means for a “feedback” framework in Android?

+1

работал как шарм! – pbojinov

+0

На самом деле вы должны добавить флаг 'Intent.FLAG_ACTIVITY_NEW_TASK'. – caw

+0

@ MarcoW. Спасибо. В моем коде я добавил его, и здесь я почему-то не стал. –

Смежные вопросы