Как я могу выполнить поиск в Amazon App Store с помощью Intent и отфильтровать его по имени разработчика? - PullRequest
3 голосов
/ 23 ноября 2011

Есть ли способ запустить Intent в Kindle Fire, который приведет к открытию приложения AppStore и отображению всех приложений для определенного разработчика?Например, на телефоне / планшете с установленным Android Market я могу сделать следующее:

           Intent otherApps = new Intent(Intent.ACTION_VIEW,Uri.parse("market://search?q=pub:\"" + developerName + "\""));
           activity.startActivity(otherApps);

И показать все мои приложения в Android Market.Могу ли я сделать это с Amazon App Store?Если так, то как?Я пробовал это намерение с другими, казалось бы, действительными именами (такими как "ZeptoLab"), и я не получаю никакой фильтрации.Это просто бросает меня в полном нефильтрованном App Store.Поиск определенного приложения с "market: // details? Id = package.name" действительно работает.

Ответы [ 5 ]

19 голосов
/ 23 ноября 2011

С https://developer.amazon.com/help/faq.html#Marketing:

Чтобы указать ваше приложение в маркетинговых целях, используйте URL http://www.amazon.com/gp/mas/dl/android?p=packagename (где имя_пакета - это имя пакета приложения).

Если вы хотите сделать ссылку на список всех ваших приложений в Amazon Appstore, используйте URL http://www.amazon.com/gp/mas/dl/android?p=packagename&showAll=1.

например http://www.amazon.com/gp/mas/dl/android?p=com.rovio.angrybirds&showAll=1

Все это можетможно увидеть здесь: https://developer.amazon.com/sdk/in-app-purchasing/sample-code/deeplink.html

Обновление (глубокие ссылки):

amzn://apps/android?p=
3 голосов
/ 15 апреля 2015

Лучше всего посмотреть на их веб-сайт (или здесь ), который в настоящее время утверждает следующее:

2 голосов
/ 16 августа 2014

Amazon теперь поддерживает свои собственные глубокие ссылки: https://developer.amazon.com/appsandservices/apis/earn/in-app-purchasing/docs/deeplink

Например, вы можете начать намерение с помощью uri amzn://apps/android?p=my.package.name.

2 голосов
/ 25 декабря 2012

С - https://developer.amazon.com/help/tuabg.html

Для рекламы в приложении или для ссылок на основе мобильного браузера: Используйте эту структуру ссылок: http: // www.amazon.com/gp/mas/dl/android?p=com.example.package/ref=mas_pm_app_name

Чтобы получить ссылку на список всех ваших приложений в нашем магазине в США, пожалуйста: Используйте эту структуру ссылок: http://www.amazon.com/gp/mas/dl/android?p=com.example.package&showAll=1

Теперь, вы думаете, что amazon будет иметь это правильно на своем веб-сайте, но первая часть, которую я выделил жирным шрифтом, неверна. Вот что на самом деле должно быть:

http://www.amazon.com/gp/mas/dl/android?p=com.example.package&ref=mas_pm_app_name

Обратите внимание на & вместо / между именем пакета и ref. Надеюсь, это поможет другим людям, так как эта маленькая деталь потратила немного моего времени ...

2 голосов
/ 29 ноября 2011

Вот решение, которое я придумал, используя приведенный ниже совет от chiuki:

Я добавил логическое значение в один из моих файлов ресурсов, которое указывает, опубликовано ли приложение в Amazon AppStore или Android Market.Да, вы должны менять его всякий раз, когда публикуете свое приложение, но подумайте об этом, как если бы вы запомнили для debuggable значение «false» при публикации.Поместите это в контрольный список.Это выглядит так:

В файле ресурсов:

 <bool name="app_is_in_amazon_app_store">true< /bool>

В коде:

public class SomeUtil
{


 private static Boolean isInAmazonAppStore;


 public static boolean isInAmazonAppStore(Activity activity)
 {

       if (isInAmazonAppStore == null) 
        {
           isInAmazonAppStore =   activity.getResources().getBoolean(R.bool.app_is_in_amazon_app_store) ;
        }

       return isInAmazonAppStore;

 }

    public static void startOtherMarketAppsActivity(Activity activity)
    {
        try
        {
            Intent otherApps = null;

            if (isInAmazonAppStore(activity))
            {
              otherApps = new Intent(Intent.ACTION_VIEW,Uri.parse("http://www.amazon.com/gp/mas/dl/android?p=" + getPackageNameInAmazonAppStore(activity) + "&showAll=1")); 
            }
            else
            {
              otherApps = new Intent(Intent.ACTION_VIEW,Uri.parse("market://search?q=pub:\"" + getAndroidDeveloperName(activity) + "\""));
            }

            activity.startActivity(otherApps);
        }
        catch(Exception ex){  /* error handling */} 
}
...