android - chrome - ¿Cómo puedo hacer una búsqueda en Amazon App Store usando un Intent y filtrarlo por nombre de desarrollador?
kindle cloud reader (5)
Amazon ahora admite sus propios enlaces profundos: https://developer.amazon.com/appsandservices/apis/earn/in-app-purchasing/docs/deeplink
Por ejemplo, puede iniciar un intento con uri amzn://apps/android?p=my.package.name
.
¿Hay alguna manera de iniciar una intención en el Kindle Fire que haga que la aplicación AppStore se abra y muestre todas las aplicaciones para un determinado desarrollador? Por ejemplo, en un teléfono / tableta con Android Market instalado, puedo hacer esto:
Intent otherApps = new Intent(Intent.ACTION_VIEW,Uri.parse("market://search?q=pub:/"" + developerName + "/""));
activity.startActivity(otherApps);
Y mostrar todas mis aplicaciones en Android Market. ¿Puedo hacer eso con Amazon App Store? ¿Si es así, cómo? Intenté esa intención con otros nombres aparentemente válidos (como "ZeptoLab") y no obtuve ningún filtro. Simplemente me deja en la App Store sin filtro. Buscar una aplicación específica con "market: // details? Id = package.name" parece funcionar.
Desde https://developer.amazon.com/help/faq.html#Marketing :
Para apuntar a su aplicación con fines de marketing, utilice la URL http://www.amazon.com/gp/mas/dl/android?p=packagename (donde packagename es el nombre del paquete de la aplicación).
Si desea vincular a la lista de todas sus aplicaciones en Amazon Appstore, use la URL http://www.amazon.com/gp/mas/dl/android?p=packagename&showAll=1 .
por ejemplo, http://www.amazon.com/gp/mas/dl/android?p=com.rovio.angrybirds&showAll=1
Todo esto se puede ver aquí: https://developer.amazon.com/sdk/in-app-purchasing/sample-code/deeplink.html
Actualización (enlace profundo):
amzn://apps/android?p=
Desde - https://developer.amazon.com/help/tuabg.html
Para la publicidad en la aplicación o la vinculación basada en el navegador para dispositivos móviles, por favor: utilice esta estructura de enlace: http: // www.amazon.com/gp/mas/dl/android?p=com.example.package/ref=mas_pm_app_name
Para obtener un enlace que dirija a una lista de todas sus aplicaciones dentro de nuestra tienda en EE. UU., Utilice esta estructura de enlace: http://www.amazon.com/gp/mas/dl/android?p=com.example.package&showTodo = 1
Ahora, piensas que amazon tendría esto correcto en su propio sitio web, pero la primera parte que puse en negrita es incorrecta. Esto es lo que debería ser:
http://www.amazon.com/gp/mas/dl/android?p=com.example.package&ref=mas_pm_app_name
Observe el & en lugar del / entre el nombre del paquete y la referencia. Espero que esto ayude a otras personas ya que este pequeño detalle desperdició parte de mi tiempo ...
La mejor manera es mirar su sitio web (o aquí ), que actualmente dice esto:
búsqueda: amzn: // aplicaciones / android? s = amazon% 20mp3 o http://www.amazon.com/gp/mas/dl/android?s=amazon%20mp3
página de detalles usando el nombre del paquete: amzn: // apps / android? p = com.amazon.mp3 o http://www.amazon.com/gp/mas/dl/android?p=com.amazon.mp3
página de detalles con ID único ("asin"): amzn: // apps / android? asin = B004FRX0MY o http://www.amazon.com/gp/mas/dl/android?asin=B004FRX0MY
mostrar todas las aplicaciones del desarrollador que creó la aplicación: amzn: // apps / android? p = com.amazon.mp3 & showAll = 1 o http://www.amazon.com/gp/mas/dl/android?p=com .amazon.mp3 y showAll = 1
Aquí está la solución que se me ocurrió usando el siguiente consejo de chiuki:
Agregué un booleano a uno de mis archivos de recursos que indica si la aplicación se publicó o no en Amazon AppStore o Android Market. Sí, tienes que cambiarlo cada vez que publicas tu aplicación, pero piensas en algo así como recordar establecer "depurable" en "falso" cuando publicas. Ponlo en una lista de verificación. Dice así:
En archivo de recursos:
<bool name="app_is_in_amazon_app_store">true< /bool>
En codigo:
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 */}
}