2016-04-13 21 views
6

मेरे पास अक्षय मासिक सदस्यता के साथ एक एंड्रॉइड ऐप है। इस ऐप में जब मैं अगले महीने में उसका सबस्क्रिप्शन जारी रखता हूं तो मैं उपयोगकर्ता को कुछ जानकारी सूचित करना चाहता हूं।एंड्रॉइड - सदस्यता कैसे नवीनीकृत की जाती है या नहीं?

जैसा कि मैं व्यापारी केंद्र में नवीनीकरण देख सकता हूं (आदेश आईडी के साथ समाप्त होता है ..0, ..1), लेकिन सूची में पूछताछ करते समय मेरी खरीद ऑर्डर आईडी समान रूप से समान है।

{ 
    "orderId": "GPA.XXXX-YYYY-XXXX-ZZZZZ", 
    "packageName": "my.packageName", 
    "productId": "my.sku", 
    "purchaseTime": 1456398623654, 
    "purchaseState": 0, 
    "developerPayload": "mypayload", 
    "purchaseToken": "token", 
    "autoRenewing": true 
} 

मुझे और परेशान करता है कि खरीदारी समय भी नहीं बदलता है।

तो मेरा सवाल यह है कि: अगर ऐप में पता लगाने का कोई तरीका है तो नवीनीकरण हुआ?

संपादित करें:

मैं Google Play डेवलपर API उपयोग कर रहा हूँ अपने आप को सदस्यता जानकारी प्राप्त करें और फिर नवीकरण की संख्या की गणना करने के लिए।

उत्तर

2

आदेश आईडी प्रत्येक आवर्ती लेनदेन एक पूर्णांक द्वारा संलग्न (वी 3 में) INAPP_PURCHASE_DATA JSON क्षेत्र की orderId क्षेत्र में लौटा दिया जाता है।

Subscription order numbers

आप किसी दिए गए सदस्यता से संबंधित लेन-देन ट्रैक करने में मदद करने के लिए, Google भुगतान एक आधार व्यापारी ऑर्डर सदस्यता की सभी पुनरावृत्ति के लिए संख्या प्रदान करता है और एक पूर्णांक जोड़कर इस प्रकार से प्रत्येक आवर्ती लेनदेन को दर्शाता है :

GPA.1234-5678-9012-34567 (base order number) 
GPA.1234-5678-9012-34567..0 (first recurrence orderID) 
GPA.1234-5678-9012-34567..1 (second recurrence orderID) 
GPA.1234-5678-9012-34567..2 (third recurrence orderID) ... 

लेकिन कारण local caching आप नहीं मिल सकता है नवीनतम जानकारी। इसलिए एप्लिकेशन मैनेजर से कैश साफ़ करने का प्रयास करें, यह देखने के लिए कि क्या आपको सही खरीद जानकारी मिलती है या नहीं।

खरीद क्वेरी के बाद से इस तरह से विश्वसनीय नहीं है, यह गूगल एक बैकएंड से Purchases.subscriptions: get एपीआई Play डेवलपर Purchases.subscriptions resource जिन पर वर्तमान सदस्यता की expiryTimeMillis वापस आ जाएगी प्राप्त करने के लिए कॉल करने के लिए और अधिक समझ में आता है।

{ 
    "kind": "androidpublisher#subscriptionPurchase", 
    "startTimeMillis": long, 
    "expiryTimeMillis": long, 
    "autoRenewing": boolean, 
    "priceCurrencyCode": string, 
    "priceAmountMicros": long, 
    "countryCode": string, 
    "developerPayload": string, 
    "paymentState": integer, 
    "cancelReason": integer 
} 
+0

जो आपने प्रदान किया है वह सदस्यता के लिए Google Play डेवलपर API से पूछताछ करने का एक तरीका है, यह सर्वर पक्ष से किया जा सकता है। लेकिन सवाल डिवाइस की तरफ से सूची पूछताछ करते हैं। –

+0

यदि इसे डिवाइस-साइड पर भरोसेमंद रूप से चेक नहीं किया जा सकता है, तो क्या अन्य विकल्पों को आजमाने के लिए बेहतर नहीं है जो सदस्यता प्राप्त करने के लिए यह जांचने में मदद करें कि सदस्यता को नवीनीकृत किया गया है या नहीं? – random

+0

पर्याप्त मेला।लेकिन सिर्फ इसलिए कि आप जानते हैं कि प्रलेखन में उन्होंने स्पष्ट रूप से कहा था कि यदि सदस्यता समाप्त हो गई है या अब मान्य नहीं है तो खरीद विवरण वापस नहीं किया जाएगा। मैंने अपने जवाब में लिंक पोस्ट किया है। –

4

सदस्यता के लिए खरीद डेटा केवल तभी वापस किया जाता है जब सदस्यता सक्रिय हो। यदि सदस्यता समाप्त हो जाती है तो आपको इन्वेंट्री से पूछताछ करते समय आपको यह खरीद डेटा नहीं मिलेगा। link

से

अंश एक आवर्ती भुगतान विफल होने (उदाहरण के लिए, क्योंकि ग्राहक की क्रेडिट कार्ड अमान्य हो गया है), सदस्यता का नवीनीकरण नहीं करता है। getPurchases() विधि विफल या समाप्त होने वाली सदस्यता वापस नहीं लौटाती है। सभी पुनरावृत्ति के लिए

संबंधित मुद्दे