2016-02-11 4 views
8

Ich habe in-app purchase für subscription Produkt implementiert, es funktioniert gut. Ich habe für jedes Produkt ein Monatsabonnement festgelegt, das nach einem Monat verlängert wird.abonnierte In-App-Erneuerung Sendung in Android

Jetzt ist meine Frage, gibt es eine Möglichkeit, erneuerte Produktliste und Erneuerungsdatum zu bekommen?

Bietet Google jede Art von Service oder Veranstaltung, durch die wir über die Erneuerung erfahren können.

Antwort

6

Leider bietet die In-app Billing API v3 keine Veranstaltung oder Art der Benachrichtigung über Abonnementverlängerung oder -kündigung.

Das einzige, was Sie tun können, ist manuell die API abzufragen, um das aktuell aktivierte Abonnement abzurufen. (Dies gilt auch für die Android API sowie die http basiert ist ...)

Die Art und Weise, dies zu tun, ist von einem Android-Client:

  • abfragen Inventar, wie Sie in der Regel das tun bekommen Liste der Produkte mit IabHelper#queryInventory(boolean querySkuDetails, List<String> moreItemSkus, List<String> moreSubsSkus)

  • Wenn der Benutzer ein aktives Abonnement hat, können Sie den Kauf darüber mit IabHelper#getPurchase(String sku) erhalten. Der Kauf enthält Informationen zum Abonnementstatus und zur Uhrzeit. (Doc here)

Um dies zu tun, mit den Google Play Developer API (von Ihrem serveur), haben Sie get zu verwenden, werden die Informationen in den zurück ressource sein.

+0

Ich habe Ihre Lösung versucht. Mit 'billingService.getPurchases' erhalte ich ein Produkt, das ich gekauft habe, aber inventory.hasPurchase() gibt immer false zurück, obwohl ich dieses Produkt habe. –

1

Ich habe keine Antwort bekommen, aber etwas bekommen, was ich mit euch allen teile. Nach vielen Recherchen habe ich erfahren, dass es keine Sendung oder Dienstleistung gibt, durch die wir wissen, dass das Produkt erneuert oder storniert wird.

Mit der Verwendung von billingService.getPurchases habe ich alle Käufe des aktuellen Benutzers.

Bundle bundle = billingService.getPurchases(3, getPackageName(), "subs", null); 

Dies gibt mir eine Liste der abonnierten Artikel mit folgenden Details.

INAPP_PURCHASE_ITEM_LIST 
RESPONSE_CODE 
INAPP_PURCHASE_DATA_LIST 
INAPP_DATA_SIGNATURE_LIST 

von oben Details i aurenew Status, Kaufdatum erhalten, orderId, package, purchaseTime, purchaseState, purchaseToken.

von allen Informationen atleast kann ich wissen, wann Produkt gekauft wurde, Wetter autorenew ist an/aus.

Wenn der Nutzer autoRenew im Google Play Store kündigt, ist seine/ihre Zykluskette vollständig und erhält bis zum Ende des Abonnements Vorteile.

Nach Erreichen des Enddatums des Abonnements, wenn autoRenew falsch ist, erhält der Benutzer keine Vorteile in Bezug auf dieses Produkt/Kauf/Abonnement.

Verwandte Themen