2014-09-01 3 views
7

J'ai cherché haut et bas pour obtenir des conseils sur la meilleure façon d'aborder cette ... J'ai lu Google Play In-App Abonnements (http://developer.android.com/google/play/billing/billing_subscriptions.html) et la section sur d'exécution Abonnements (http://developer.android.com/google/play/billing/billing_integrate.html#Subs) mais je reste ne vois pas un moyen d'éviter les abus.Achat via Android d'un abonnement avec un essai gratuit - comment éviter les abus?

J'ai également vu la question connexe ici - Google Inapp purchasing and trial period. Cependant, l'utilisation des SharedPreferences est sujette à des abus relativement faciles.

J'ai une application qui nécessitera un abonnement pour une fonctionnalité complète. J'ai mis en place un abonnement mensuel à un produit d'achat intégré, disons ID = "myapp.subscription.monthly", coûtant 0,99 $/mois. Je souhaite donner aux utilisateurs la possibilité de découvrir toutes les fonctionnalités, alors je donne une période d'essai de 30 jours à "myapp.subscription.monthly". Lorsque l'utilisateur installe l'application pour la première fois, il lui est demandé d'acheter l'abonnement mensuel, il est facturé $ 0.00 et il lui est dit que dans 30 jours, sa carte commencera à être facturée 0,99 $/mois.

Lorsque mon application appelle "getPurchases()", le fait qu'ils ont un abonnement sera retourné.

Si elles annulent au cours de l'essai gratuit, ou dire après quelques mois de facturation, un appel à « getPurchases() » ne retourne rien, selon la section « Mise en œuvre »:

Les retours d'appel un ensemble avec tous les abonnements actifs appartenant à l'utilisateur. Une fois qu'un abonnement expire sans être renouvelé, il n'apparaîtra plus dans l'ensemble retourné.

Étant donné que l'utilisateur n'a pas d'abonnement actif, mon application l'invite à acheter l'abonnement pour bénéficier de toutes les fonctionnalités. Encore une fois, ils auront l'essai gratuit de 30 jours.

Je pensais avoir un deuxième produit d'abonnement, dites "myapp.subscription.monthly.no.free.trial" et je serais l'article disponible à l'achat. Toutefois, sans moyen de demander à Google Play si l'utilisateur déjà acheté déjà acheté un abonnement, mon application ne peut pas savoir que devrait offrir le produit "pas d'essai gratuit". Alors, comment éviter que quelqu'un s'abonne et annule encore et encore pour continuer à bénéficier de ces 30 jours gratuits? Existe-t-il un moyen de demander à Google Play l'historique complet des achats?

+0

Vous pouvez crypter des préférences partagées – Snake

Répondre

0

J'utilise également dans la facturation de l'application, mais Google toujours un essai fournis gratuitement par utilisateur. Si vous vous abonnez à nouveau à sku, google ne fournira pas de période d'essai à cet utilisateur.

1

Google Play gère automatiquement ce magasin

Si votre utilisateur annule l'essai gratuit et essaie ensuite de faire un achat, il/elle sera montré le 0,99 $ plutôt que de donner à nouveau un essai gratuit. Mais, si l'utilisateur paie le 0,99 $ après l'annulation de l'essai gratuit, la facturation effective ne commencera qu'après la fin de la période d'essai gratuite annulée.

Il aurait été utile s'il y avait un moyen de savoir si un produit a un essai gratuit ou non du côté client. J'espère que cela sera bientôt intégré à l'API In-App Billing.

Questions connexes