2012-12-15 15 views
13

मुझे क्या चाहिए? सभी खरीदी गई वस्तुओं को पुनर्प्राप्त करने के बाद मुझे अपने सर्वर पर खरीद सत्यापित करने की आवश्यकता है, मैं इन-ऐप भुगतान से प्राप्त हस्ताक्षर और हस्ताक्षरित डेटा के साथ करना चाहता हूं।एंड्रॉइड बिलिंग v3 - कोई हस्ताक्षर

सबसे पहले मैंने इन-ऐप बिलिंग v2 का उपयोग किया, वहां मुझे अपने डेवलपर खाते के साथ स्थिर परीक्षण sku android.test.purchased के लिए सही हस्ताक्षर और सिग्न्डाटा के साथ हर बार मिला।

मैंने नए बिलिंग v3 पर स्विच किया क्योंकि यह लागू करने के लिए बहुत अच्छा लगता है, हालांकि मुझे अब कोई हस्ताक्षर नहीं मिला है।

मैंने Google को अपने एपीके का पिछला संस्करण अपलोड किया है (अभी तक प्रकाशित नहीं हुआ है क्योंकि यह अभी तक समाप्त नहीं हुआ है), मैंने आगे के परीक्षणों के लिए एक सक्रिय इन-एप उत्पाद भी जोड़ा।

एपीके का अपलोड कल 10:00 बजे था इसलिए मुझे लगता है कि मैंने काफी इंतजार किया है।

मैंने क्या प्रयास किया?

    मेरी स्वयं के साथ
  • अहस्ताक्षरित apk जोड़ा "सक्रिय" एप्लिकेशन के अंतर्गत उत्पाद => कोई हस्ताक्षर
  • sku android.test.purchased => कोई हस्ताक्षर
  • पर हस्ताक्षर किए के साथ अहस्ताक्षरित apk: मैं अलग संस्करण में अपने आवेदन स्थापित किया है sku android.test.purchased => कोई हस्ताक्षर

उन 4 "एपी के साथ अपने स्वयं के साथ apk जोड़ा" सक्रिय "एप्लिकेशन के अंतर्गत उत्पाद => कोई हस्ताक्षर

  • हस्ताक्षरित APK पी कहता है "मैंने अपने डेवलपर फोन दोनों (जहां मेरा प्राथमिक Google खाता डेवलपर कंसोल खाता के समान उपयोगकर्ता है) की कोशिश की है और एक और फोन सेटअप पर एक टेस्ट अकाउंट के साथ, टेस्ट अकाउंट भी" टेस्ट अकाउंट्स "के तहत मेरी खाता सेटिंग्स में रखा गया है। ।

    हम्म और अब मेरे पास कोई और विचार नहीं है कि मुझे अपना हस्ताक्षर कैसे मिलता है। मुझे लगता है कि मुझे एक सक्रिय ऐप + सक्रिय इन-एप उत्पाद के साथ हस्ताक्षर मिलेगा क्योंकि भुगतान प्रक्रिया काम करती है (adb logcat प्रदर्शित करता है जिसे मैंने "Android.test.purchased" खरीदा है) मेरा स्वयं निर्मित ऐप उत्पाद मैं कर सकता था परीक्षण भी नहीं करें क्योंकि अगर मैं अपने डेवलपर खाते का उपयोग करता हूं, तो प्ले स्टोर मुझे "पहले से स्वामित्व नहीं खरीद सकता है" और मेरे परीक्षण खाते के साथ मुझे एक त्रुटि मिली "यह उत्पाद आपके खाते के लिए उपलब्ध नहीं है"।

    क्या आपके पास मेरी समस्या का समाधान है?

  • +0

    @ lunarnet76, डेटा क्या है, वास्तव में सरल है।सिग्न्डाटा वह डेटा है जो Google आपके खाते में वापस भेजता है, डेटा आपको खरीद स्थिति के बारे में बताता है, और सिग्नेटा को सत्यापित करने के लिए हस्ताक्षर का उपयोग आपकी सार्वजनिक ऐप कुंजी के साथ किया जा सकता है और Google ने इसे – prdatur

    +0

    prdarur भेज दिया है। मुझे एक ही समस्या है, क्या आपको कोई समाधान मिला? – melodiouscode

    +0

    अभी के लिए नहीं, लेकिन अन्य पदों को पढ़कर जो कहता है "Google का चित्रित केवल इतना कहता है कि आपको इसका उपयोग नहीं करना चाहिए, लेकिन इसे हटाया नहीं जाएगा" मैंने वी 2 पर रहने का फैसला किया, क्योंकि मेरे कार्यान्वयन की अपेक्षा की गई थी। लेकिन मैं वी 3 के साथ समाधान की तलाश करना बंद नहीं करता हूं। क्योंकि मैं अपने सर्वर V2 के माध्यम से भुगतान सत्यापित करता हूं, मुझे ऐप के भीतर सार्वजनिक कुंजी प्रदान किए बिना ऐसा करने दें, जो कि बहुत अच्छा है, मेरे पास केवल मेरे सर्वर पर सार्वजनिक कुंजी है जो सत्यापित करता है। वी 3 के साथ मुझे लगता है कि यह भी संभव नहीं है। – prdatur

    उत्तर

    2

    मुझे वी 3 के साथ मिला कि परीक्षण उत्पाद किसी भी हस्ताक्षरित डेटा को वापस नहीं करते हैं, लेकिन यदि आप अपनी रिलीज कुंजी के साथ अपने ऐप पर हस्ताक्षर करते हैं और अपने वास्तविक उत्पादों के खरीद प्रवाह को पूरा करते हैं तो आपको डेटा पर हस्ताक्षर मिलता है।

    +0

    मेरे "परीक्षण" -> मेरे स्वयं के "सक्रिय" इन-ऐप उत्पाद => कोई हस्ताक्षर – prdatur

    1

    अब आपको परीक्षण खरीद (android.test। *) के लिए हस्ताक्षर नहीं मिलते हैं। मैंने अपने वास्तविक उत्पादों का उपयोग करके गोताखोरी ली और अपना ऐप बाजार स्थान पर अपलोड किया (बस इसे प्रकाशित नहीं किया)।

    कम और देखें हस्ताक्षर वापस लौटना शुरू हो गया! मैं किसी भी सर्वर साइड सत्यापन में संशोधन करने की अनुशंसा करता हूं जिसका उपयोग आप हस्ताक्षर जांच को छोड़ने के लिए कर रहे हैं जब डेटा में android.test है। * Item id।

    नोट: उपर्युक्त के बारे में महत्वपूर्ण बात यह है: "मेरे असली उत्पादों का उपयोग करना"।

    +0

    हैलो के साथ हस्ताक्षरित एपीके देखें, लेकिन "मेरे स्वयं के साथ हस्ताक्षरित एपीके" सक्रिय "इन-ऐप उत्पाद => नहीं" के लिए मेरा परीक्षण देखें हस्ताक्षर "मैंने एक" असली "उत्पाद भी जोड़ा था और यह मुझे एक हस्ताक्षर ईथर नहीं दिया है। – prdatur

    +0

    हाय, मैं बस इतना कह सकता हूं कि यह मेरे लिए काम कर रहा है। जाहिर है, मैं एक ऐसे खाते का उपयोग कर रहा हूं जो ऐप के डेवलपर्स में से एक के रूप में पंजीकृत है। केवल अंतर ही मैं सोच सकता हूं कि ऐप एक प्रकाशित है, केवल प्रश्न में एपीके एक अप्रकाशित स्थिति (अगली रिलीज) में है। – melodiouscode

    +0

    और मुझे लगता है कि यह समस्या है। एक अप्रकाशित ऐप (कभी प्रकाशित नहीं) को कोई हस्ताक्षर नहीं मिलेगा, इसे थोड़ी देर के लिए प्रकाशित किया गया था। ऐप सुविधा में वर्तमान में प्रकाशित होने की आवश्यकता नहीं है, लेकिन ऐप स्वयं ही है। लेकिन यह व्यवहार मेरे लिए नहीं है, कभी भी प्रकाशित ऐप के साथ हस्ताक्षर प्राप्त करना संभव नहीं है। – prdatur

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