如何使用Intent进行Amazon应用商店搜索并按开发者名称进行过滤?

4

有没有一种方法可以在Kindle Fire上启动Intent,使AppStore应用程序打开并显示特定开发人员的所有应用程序?例如,在安装了Android Market的手机/平板电脑上,我可以这样做:

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

我可以在Amazon应用商店展示我所有的应用吗?如果可以,怎么做?我尝试过使用其他看似有效的名称(如“ZeptoLab”)进行意图操作,但没有任何过滤。我只能进入完整的未经过滤的应用商店。使用“market://details?id=package.name”查找特定应用程序似乎是有效的。

5个回答

19

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

为了营销目的而指向您的应用程序,请使用URLhttp://www.amazon.com/gp/mas/dl/android?p=packagename(其中,packagename是您的应用程序包名称)。

如果您想链接到Amazon Appstore上所有应用程序的列表,请使用URLhttp://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=

4
最好的方法是查看他们的网站(或者这里),目前它列出了以下内容:

2
从 - 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

现在,您认为亚马逊自己的网站上应该已经正确了,但是我加粗的第一部分是错误的。它实际上应该是这样的:

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

请注意包名和ref之间使用&而不是/。希望这可以帮助其他人,因为这个小细节浪费了我一些时间...

3
我联系了亚马逊,他们在文档中修复了这个问题。 - JoeLaws
这也是不正确的。例如,如果您住在德国并参考 .com 网站,则该应用程序将被列为“由于地理限制而不可用”。 - user458577

2

2
这是我根据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 */} 
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接