Intention d'Android d'afficher un article à l'aide de l'application Amazon sur l'appareil plutôt que sur le navigateur
-
23-12-2019 - |
Question
Dans mon application Android, j'ai un bouton avec l'image d'arrière-plan d'un produit Amazon.com (disons une chemise ou quelque chose du genre), et lorsque je clique dessus, j'aimerais qu'il s'ouvre dans l'application Amazon (com.amazon.mShop.android) si elle est déjà installée plutôt que dans le navigateur, et dans le navigateur si l'application n'est pas installée.
J'ai pu trouver comment ajouter un lien profond vers une application client Amazon spécifique, mais pas comment créer un lien vers un élément spécifique qui s'ouvrirait avec l'application Amazon.
Actuellement, mon écouteur de clics s'ouvre dans un navigateur en procédant comme suit :
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent();
intent.setAction(Intent.ACTION_VIEW);
intent.addCategory(Intent.CATEGORY_BROWSABLE);
intent.setData(Uri.parse(urlOfItemOnAmazonSite));
startActivity(intent);
}
})
La solution
La page d'accueil du développeur Amazon est probablement le meilleur endroit pour cette réponse.Cela peut être un bon début : https://developer.amazon.com/public/apis/earn/in-app-purchasing/docs/deeplink#Link%20Configuration.Ici, ils expliquent comment construire le Uri
vous devrez utiliser pour définir les données d'intention.
Bien sûr, vous voudrez peut-être être prudent et envelopper startActivity
dans un try/catch au cas où Amazon ne serait pas installé et qu'il lancerait un ActivityNotFoundException
Autres conseils
Vous pouvez simplement faire ce qui suit:
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Uri uri=Uri.parse(productUrl);
Intent intent=new Intent(Intent.ACTION_VIEW,uri);
startActivity(intent);
}
})
// Remarque URL d'extraction de magasin de produits dans Var producturl (ou tout autre var) et // Paysez-le.