0 votes

Empêcher l'application d'utiliser des achats intégrés ?

J'ai installé une application qui offre un abonnement pour sa version pro en tant qu'achat in-app.

Elle sélectionne automatiquement le compte et affiche les cartes ajoutées dans la fenêtre contextuelle d'abonnement

Je ne peux pas changer le compte de paiement, je suppose qu'il prend le compte de Google Pay installé sur mon téléphone que j'utilise pour mes paiements quotidiens.

Je n'aime pas cela, je n'aime pas quand une application arbitraire en laquelle je n'ai pas confiance a par défaut accès à mon profil de paiement, et j'aimerais désactiver cette possibilité pour l'appli. Est-ce possible ?

Je ne comprends pas d'où vient cette possibilité, je n'ai accordé aucune permission de paiement pour l'application.

Cette permission est-elle inhérente à n'importe quelle application et je ne peux pas la désactiver ?

Pour répondre à d'éventuelles questions futures : j'ai essayé d'installer cette application depuis un autre compte comme suggéré ici, j'ai essayé de réinstaller, et j'ai même installé cette application depuis un fichier APK à la fin. Aucun résultat. Elle pointe toujours vers le même compte de paiement, je suppose qu'il a été enregistré dès la première fois au tout début lorsque j'ai installé l'application à partir de celui-ci.

0 votes

A ma connaissance, il n'existe aucune autorisation pour empêcher les applications de faire des achats intégrés. Le niveau de protection de com.android.vending.BILLING est "Normal", donc il ne peut pas être révoqué. Il existe quelques hacks mais ils ne fonctionneront pas sans root.

0 votes

Le niveau de protection est "Normal", donc ne peut pas être révoqué C'est étrange car les informations des cartes de paiement sont sensibles et y accéder par n'importe quelle application, même installée à partir d'un fichier APK, n'est pas sûr

0 votes

Liés, mais non répondus: android.stackexchange.com/q/106251/96277

2voto

pr0nin Points 353

Pour un achat intégré, l'application qui contient les achats intégrés coopère avec l'application Google Play Store. Dans ce processus, l'application n'a pas accès aux informations de paiement, qui sont toutes gérées par l'application Google Play Store.

De ce que je sais, voici ce qui se passe lorsqu'un utilisateur effectue un achat intégré :

Préparation : Lors de la publication de l'application, le développeur de l'application enregistre tous les achats intégrés possibles chez Google afin que Google sache exactement pour quelle application quels achats intégrés sont possibles.

Côté utilisateur, les étapes suivantes sont effectuées :

  1. L'application affiche un bouton pour effectuer un achat intégré.
  2. Si l'utilisateur clique sur ce bouton, un code fourni par Google à l'intérieur de l'application est déclenché, contactant ainsi l'application Google Play Store. Dans cette communication, le Play Store vérifie l'authenticité de l'application (la signature de l'application est vérifiée). Ensuite, les informations sur le package d'achat intégré sélectionné sont envoyées à l'application Play Store. De plus, un "nom d'utilisateur obfusqué" (l'identifiant unique de votre compte utilisateur au sein de cette application) est envoyé pour que l'application puisse ultérieurement identifier pour quel compte un abonnement réussi a été acheté.
  3. L'application Google Play Store prend le relais et affiche la boîte de dialogue d'achat comme dans votre deuxième capture d'écran.
  4. Si l'utilisateur confirme l'abonnement dans la boîte de dialogue d'achat du Google Play Store, le paiement sera effectué et le backend de Google émet un jeton d'achat qui est envoyé au Play Store et qui est ensuite transmis à l'application pour laquelle l'achat a été effectué. Dans ce jeton, le nom d'utilisateur obfusqué mentionné précédemment est inclus ainsi que les données sur l'achat intégré qui a été effectué.

0 votes

Cela ne répond pas à ma question principale : comment empêcher l'application de déclencher ce dialogue Play Store?

0 votes

@Suncatcher Sur la base de votre question, j'ai supposé que la question réelle concerne les données du compte auxquelles l'application accède. Sur les appareils non rootés, vous ne pouvez pas empêcher une application d'ouvrir une boîte de dialogue d'achat intégré. Vous ne pouvez que prévenir le véritable achat en paramétrant le Play Store pour toujours demander le mot de passe du compte lors d'un achat (voir les paramètres du Play Store -> Authentification). La seule autre façon que je connaisse serait de modifier (-> resigner) l'application. Ensuite, l'achat intégré échouerait directement et aucune boîte de dialogue ne s'ouvrirait. Mais cela signifie également que l'application est déconnectée des mises à jour du Play Store.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X