एप्लिकेशन का यह संस्करण Google Play के माध्यम से बिलिंग के लिए कॉन्फ़िगर नहीं किया गया है


269

जब मैं अपने एप्लिकेशन को इन-ऐप बिलिंग के साथ चलाने का प्रयास करता हूं तो मुझे त्रुटि मिल रही है: "एप्लिकेशन का यह संस्करण Google Play के माध्यम से कॉन्फ़िगर नहीं किया गया है। अधिक जानकारी के लिए सहायता केंद्र की जांच करें"।

मेरे पास पहले से ही मैनिफ़ेस्ट फ़ाइल में बिलिंग अनुमति है और मेरे पास Google Play पर एक प्रारूप के रूप में अपलोड किया गया एक .apk अपलोड है और मैंने अपने फोन पर उसी हस्ताक्षरित एपीके को भी स्थापित किया है।

इस मुद्दे को हल करने के बारे में कोई मदद?

जवाबों:


339

यह त्रुटि कई कारणों से हो सकती है।

Google IAB परीक्षण के लिए आवश्यकताओं की सूची यहां दी गई है।

आवश्यक शर्तें:

  1. AndroidManifest में "com.android.vending.BILLING" अनुमति शामिल होनी चाहिए ।
  2. एपीके रिलीज मोड में बनाया गया है
  3. एपीके को रिलीज सर्टिफिकेट के साथ साइन किया गया है । (महत्वपूर्ण: Google Play से "ऐप साइनिंग के साथ" यह केवल तभी काम करता है जब आप सीधे GooglePlayStore से डाउनलोड करते हैं!)
  4. एपीके को कम से कम एक बार अल्फा / बीटा डिस्ट्रीब्यूशन चैनल (पहले - ड्राफ्ट के रूप में) डेवलपर कंसोल पर अपलोड किया जाता है । (कुछ समय ~ 2h-24h ) लेता है ।
  5. IAB उत्पाद प्रकाशित होते हैं और उनकी स्थिति सक्रिय होती है
  6. डेवलपर कंसोल में परीक्षण खाता जोड़ा गया है।

परीक्षण आवश्यकताओं:

  1. टेस्ट एपीके में एक ही संस्करणकोड है जो डेवलपर कंसोल पर अपलोड किया गया है।
  2. टेस्ट एपीके उसी सर्टिफिकेट के साथ साइन किया गया है जिस पर dev.console पर अपलोड किया गया है।
  3. परीक्षण खाता (डेवलपर नहीं) - डिवाइस पर मुख्य खाता है। (मुख्य खाता आवश्यक नहीं हो सकता है - @MinosL टिप्पणी के अनुसार )
  4. परीक्षण खाते को परीक्षक के रूप में चुना जाता है और यह एक वैध भुगतान विधि से जुड़ा होता है । ( @Kyone )

पुनश्च: रिलीज सर्टिफिकेट के साथ डिबगिंग : https://stackoverflow.com/a/15754187/1321401 ( लिंक के लिए Thnx @dipp )

PPS: इस सूची को लंबे समय से पहले से ही बनाना चाहते थे।

अपडेट के लिए Thnx @zlgdev , @Kyone , @MinosL


5
यह सुनिश्चित करने के लिए मत भूलें कि जिस खाते का आप IAB परीक्षण कर रहे हैं, वह आपके द्वारा बिल्ड अपलोड किए जाने के बाद उत्पन्न "ऑप्ट-इन URL" का उपयोग कर परीक्षक के रूप में चुना गया है ; और यह एक वैध भुगतान विधि से जुड़ा हुआ है
Kyone

3
क्या सिर्फ IAP का परीक्षण करना आसान नहीं होना चाहिए ? या सामान्य रूप से चीजों का परीक्षण करने के लिए ..
जुआन

1
ध्यान देने योग्य भी; परीक्षण खाते को डेवलपर खाते से लिंक नहीं किया जाना चाहिए (
एपीके

2
ध्यान देने योग्य भी; यदि "एप्लिकेशन हस्ताक्षर प्रमाणपत्र" सक्षम है, तो हम अपने स्थानीय एपीके का उपयोग वास्तविक खरीद के साथ परीक्षण करने के लिए नहीं कर सकते क्योंकि हम हस्ताक्षर प्रमाण पत्र के साथ हस्ताक्षर नहीं कर सकते हैं। (मुझे पता लगाने के लिए 3 घंटे की तरह लग गए)
10

1
मैं सफलतापूर्वक 1) एक हस्ताक्षरित डिबग ऐप के साथ परीक्षण कर रहा हूं जो 2 है) डिवाइस पर मुख्य खाता नहीं है , इसलिए Google IAB परीक्षण के लिए प्रक्रिया ऊपर बताए अनुसार सख्त नहीं है।
मिनोसल

194

आह ने कुछ घंटों की कोशिश के बाद इसका हल ढूंढ लिया।

  1. Google को अनुप्रयोगों को संसाधित करने और उन्हें अपने सर्वर पर अपडेट करने में थोड़ा समय लगता है, मेरे लिए इसमें लगभग आधा दिन लगता है। इसलिए Google Play पर ड्राफ्ट के रूप में एपीके को सहेजने के बाद, आपको कुछ घंटे पहले इंतजार करना होगा कि इन-ऐप उत्पाद सामान्य रूप से प्रतिक्रिया देंगे और नियमित खरीद की अनुमति देंगे।
  2. निर्यात करें और APK पर हस्ताक्षर करें। अनसाइनड एपीके में खरीदारी करने की कोशिश में त्रुटि मिलेगी।

71
वाह, क्या यह गंभीर है? बस उसी समस्या में भाग गया। क्या सब कुछ Google ने मुझे इन-ऐप बिलिंग का परीक्षण करने के लिए कहा था, लेकिन अभी भी एक ही त्रुटि संदेश प्राप्त हो रहा है। मुझे लगता है कि मुझे इंतजार करना होगा और देखना होगा। लेकिन क्या Google वास्तव में हमसे उम्मीद करता है कि डेवलपर्स को ऐप-बिलिंग में लागू करने के लिए हर बार हमें अपने ऐप को अपडेट करने की आवश्यकता होगी? यह मेरे लिए काफी अनुचित है, कम से कम कहने के लिए।
शमौन

6
क्या आप एंड्रॉइड स्टूडियो से कनेक्ट करते समय परीक्षण कर सकते हैं / डिबगर से कनेक्ट करते समय चल रहे हैं? या क्या आपको USB के माध्यम से रिलीज़ APK स्थापित करने की आवश्यकता है?
अल्फी हेंसन

3
क्या Android उपकरण> निर्यात हस्ताक्षरित परियोजना ... आदि के अलावा अन्य खरीद प्रक्रिया का परीक्षण करने का एक आसान तरीका है, फिर मैन्युअल रूप से कॉपी करें APK को डिवाइस, टेस्ट, .... दोहराएं? मेरा कुछ छूट रहा है?
वायर्ड 00

4
गंभीरता से, मैं डिबग प्रमाण पत्र के साथ आवेदन का उपयोग नहीं कर सकता और इन-ऐप बिलिंग का परीक्षण कर सकता हूं?
TacB0sS

8
ध्यान दें कि आप अपने आईडीई से सीधे डिबग बिल्ड का उपयोग कर सकते हैं, जैसा कि आप काम कर रहे हैं। आपको बस डिबग कीस्टोर को एक में बदलना होगा जो आपके रिलीज़ स्टोर से मेल खाता है। अधिक जानकारी के लिए यह पोस्ट देखें: stackoverflow.com/questions/10886814/…
CottonBallPaws

137

यदि आपका प्रकाशित संस्करण आपके फ़ोन पर परीक्षण कर रहे संस्करण के समान नहीं है, तो वही होगा।

उदाहरण के लिए, अपलोड किया गया संस्करण है android:versionCode="1", और जिस संस्करण का आप अपने फ़ोन पर परीक्षण कर रहे हैं, वह हैandroid:versionCode="2"


3
क्या आप मुझे बता सकते हैं कि अपलोड किया गया संस्करण क्या है android:versionCode="1"और फोन क्या है, android:versionCode="2"यह ठीक है या मुझे अपना एपीके गूगल प्ले बदलना है।
Youddh

1
आपको जो करने की आवश्यकता है वह स्थानीय संस्करण को "1" से टक्कर देने के लिए है, इसलिए यह वर्तमान लाइव संस्करण से मेल खाता है, कम से कम अस्थायी रूप से परीक्षण के लिए।
रोमेन

2
ऐसा लगता है कि आपकी स्थिति के आधार पर इस त्रुटि के 2 सामान्य सुधार हैं। मेरे मामले में यह एक था।
मैट

धन्यवाद, यह मुद्दा था। मेरे संलग्न डिवाइस पर रिलीज़ हस्ताक्षरित एपीके के साथ ठीक डिबगिंग कर रहा था। फिर, संस्करणकोड को बदल दिया और यह 1005 त्रुटि प्राप्त करना शुरू कर दिया। वाह!
बजे अन्ना बिलस्ट्रॉम

@ पता है कि -1005 भी USER_CANCELLED है अगर आप iabHelper
JacksOnF1re

47

आपको अपने एपीके पर अपने जीवित प्रमाण पत्र के साथ हस्ताक्षर करने की आवश्यकता है। फिर अपने परीक्षण उपकरण पर स्थापित करें। फिर आप InAppBilling का परीक्षण कर सकते हैं। यदि आप अपने एप्लिकेशन को डिवाइस द्वारा ग्रहण (डिबग मोड में) के माध्यम से सीधे चला रहे हैं तो आपको यह त्रुटि मिलेगी।

यदि आप android.test.purchasedSKU के रूप में उपयोग कर रहे हैं , तो यह सभी तरह से काम करेगा, लेकिन आपके पास अंतिम प्रतिक्रिया में डेवलपरपायलोड नहीं होगा।

यदि आप ऐप आइटम में अपने स्वयं के मसौदे का उपयोग कर रहे हैं, तो आप सभी तरह से परीक्षण कर सकते हैं, लेकिन आपसे शुल्क लिया जाएगा और इसलिए बाद में आपको इसे वापस करना होगा।

आप उसी gmail खाते के साथ आइटम नहीं खरीद सकते हैं जिसका उपयोग आप Google play विकास कंसोल के लिए करते हैं।


1
डिबगर से चल रहा +1 डिबग प्रमाणपत्र का उपयोग करता है। एप्लिकेशन को निर्यात करने और एक नई सार्वजनिक कुंजी बनाने (और इसे डेवलपर कंसोल में स्थापित करने) के बाद, बस खुद को एपीके ईमेल करें और इसे अपने जीमेल इनबॉक्स से इंस्टॉल करें।
cdavidyoung

अगर मैं "android.test.purchased" कोशिश करना चाहता हूं तो क्या मैं अपने कोड और डेवलपर कंसोल में SKU को बदलने जा रहा हूं?
रोकोलोगो

26

डेवलपर कंसोल में:

Settings-> Account details-> License Testing-> परीक्षण पहुँच के साथ जीमेल खातों

और यहां अपने खाते लिखें


एक जादू की तरह काम करता है।
जॉर्डन

17

यदि आप 2018 से यहां हैं, तो आपको सीधे प्ले स्टोर से एपीके डाउनलोड करना होगा और "व्युत्पन्न" एपीके इंस्टॉल करना होगा। शायद ऐसा इसलिए है क्योंकि Google के Play Store में एक फीचर है "ऐप साइनिंग बाई गूगल प्ले"।


1
कौन सा एपीके? मैं एआईडीएल का उपयोग कर रहा हूं क्या मुझे अभी भी ऐसा करने की आवश्यकता है?
जेन लियू

@ZhenLiu मुझे लगता है कि जरूरत नहीं है
कानून Gimenez

इसके अलावा, ऐप पहले से ही एक अलग साधन (यानी। एंड्रॉइड स्टूडियो) द्वारा डिवाइस पर इंस्टॉल नहीं किया जा सकता है। प्ले स्टोर से इंस्टॉलेशन / अपडेट काम करेगा, लेकिन IAP नहीं - आपको ओपी त्रुटि मिलेगी।
ज्यूड

हम यह कैसे डिबग करते हैं?
ओलिवर डिक्सन

3

यह तब होगा जब आप Google Play में एक से अधिक APK के किसी भिन्न संस्करण का उपयोग करेंगे।


3

मुझे केवल मेरे साथ जो हुआ है, उसे जोड़ने में मदद करें।

यह मुख्य रूप से हस्ताक्षर करने के कारण था।

जब से मैंने प्रोजेक्ट संरचना में हस्ताक्षर विवरण जोड़ा है, मैं सोच रहा था कि हर बार जब मैं चलाऊंगा, तो उम्मीद है कि हस्ताक्षरित एपीके इंस्टॉल हो रहा है। लेकिन बिल्ड टाइप 'डिबग' को चुना गया था।

नीचे फिक्स ने मेरे लिए समस्या हल कर दी।

  • निर्मित प्रकार 'रिलीज' का जेनरेट किया गया हस्ताक्षरित एपीके।
  • मैन्युअल रूप से APK स्थापित किया है।

2

मेरे मामले में मैंने एक ही संदेश स्थापित APK के अलग-अलग हस्ताक्षरों के कारण देखा और बाजार APK पर अपलोड किया।


2

एसओ और अन्य साइटों पर कई उत्तरों और टिप्पणियों के विपरीत, आपको अपने उत्पाद के अल्फा / बीटा संस्करण के साथ प्रारंभिक परीक्षण करने की आवश्यकता नहीं है जिसे Google Play से आपके परीक्षण उपकरण पर डाउनलोड किया गया है (अल्फा / बीटा प्रकाशन प्रक्रिया अक्सर खाती है आधा दिन)। न ही आपको अपने डेवलपर डिवाइस से अपने परीक्षण उपकरण पर एक हस्ताक्षरित रिलीज़ APK को लोड और पुनः लोड करना होगा।

आप अपने डेवलपर स्टूडियो से सीधे ADB के माध्यम से अपने डेवलपर डिवाइस से लोड किए गए डिबग ऐप का उपयोग करके ऐप बिलिंग सेवाओं में प्रारंभिक Google Play डिबग कर सकते हैं। यदि आप ऐसी त्रुटियों का सामना कर रहे हैं जो इसे रोकती हैं, तो संभव है कि आपने अपने कोड में कुछ गलत किया हो। अपने SKU (उत्पाद आईडी) और उनके प्रारूप के उदाहरण पर विशेष रूप से ध्यान दें (यदि आप अपने APK को com.mydomain.my_product_id के रूप में लोड करते हैं, तो सुनिश्चित करें कि आपकी कोशिश इसे इस तरह से खरीदने की है - समान मामला और डोमेन प्रदान करना) । इसके अलावा, अपने आइटम टाइप पर विशेष रूप से ध्यान दें - यह क्रमशः ऐप खरीदारी या सदस्यता में प्रबंधित / अप्रबंधित के लिए "अनुपयुक्त" या "सब्स" होना चाहिए।

जैसा कि चिराग पटेल द्वारा सुझाया गया है, बशर्ते आपके पास आपका बिलिंग कोड ठीक से स्थापित हो, अपने प्रारंभिक परीक्षणों के दौरान android.test.purchased Sku (उत्पाद आईडी) का उपयोग करके सभी परीक्षण करें। इस आईडी के लिए अपने बिलिंग ऑपरेशन में हस्ताक्षर, टोकन और पेलोड चेक के माध्यम से पास करने के लिए जांचें, क्योंकि यह डेटा Google परीक्षण प्रणाली द्वारा प्रदान नहीं किया गया है। इसके अतिरिक्त, अपनी स्कीम का परीक्षण करने के लिए इस आईडी को अपने खरीद, अनलॉक / लोड और प्रस्तुतीकरण के माध्यम से अपना एक परीक्षण उत्पाद दें। खरीद को साफ करने के लिए, बस इसका उपभोग करें, एक ही Sku और एक टोकन स्ट्रिंग पास करके इस तरह से स्वरूपित किया गया - कोई अन्य फ़ील्ड नहीं हैं:

    "inapp:"+appContext.getAppContext().getPackageName()+":android.test.purchased";

एक बार जब आप परीक्षण के इस चरण को पूरा कर लेते हैं, तो अपने अल्फा / बीटा उत्पाद के साथ अर्ध-लाइव परीक्षण पर जाएं। एक Google समूह बनाएं (अनिवार्य रूप से एक मेलिंग सूची), अपने परीक्षण उपयोगकर्ताओं को इसमें ईमेल जोड़ें, और इस चरण में अपने डिवाइस का परीक्षण करने के लिए इस समूह को जोड़ें / आमंत्रित करें (आपके ऐप के Google डेवलपर सूची के "एपीके" भाग में प्रदर्शन किया गया)। खरीद को सिम्युलेटेड किया जाएगा, लेकिन वास्तव में चार्ज नहीं किया जाएगा - हालांकि खरीद को साफ करने और फिर से परीक्षण करने के लिए, Google इंगित करता है कि आपको उन्हें अपने मोबाइल वॉलेट से वापस करना होगा। यह परीक्षण का एकमात्र चरण है जिसमें अल्फा / बीटा लोड और परीक्षण उपयोगकर्ताओं का उपयोग करने की समय लेने वाली प्रक्रिया की आवश्यकता होती है।


1

यदि आप IAB को डिबग करना चाहते हैं तो आपको क्या करना है:

  1. Google को अपने ऐप के एक संस्करण को IAB अनुमति के साथ प्रकट होने पर प्रस्तुत करें:

  2. Google Play पर अपने ऐप में एक उत्पाद जोड़ें: इन-ऐप बिलिंग का व्यवस्थापन

  3. हस्ताक्षरित कस्टम डिबग कीस्टोर सेट करें: हस्ताक्षर किए गए कीस्टोर का उपयोग करने के लिए ग्रहण कॉन्फ़िगर करें


1

एक ही समस्या थी, और मैं DZDomi से पोस्ट पढ़ने से पहले इसे हल नहीं किया गया था। यह अचानक हुआ कि Google डेवलपर कंसोल में एक सेटिंग है जिसे आपको सक्षम करने की आवश्यकता है। "एप्लिकेशन खरीदारी" अनुभाग में, आपके उत्पाद के लिए एक पंक्ति है और सबसे दाईं ओर इसके लिए एक स्थिति है। यह सक्रिय होना चाहिए!


0

मेरी समस्या यह थी कि मैंने इसे debug.keystore के साथ जांचने का प्रयास किया, मेरा मतलब है कि इसे ग्रहण के माध्यम से चलाया जा रहा है। मैंने इसे कीस्टॉर के साथ निर्यात किया जिसके साथ मैं अल्फा मोड में प्रकाशित हुआ (इसे आपके परीक्षण करने से पहले इसे प्रकाशित किया जाना चाहिए)। मेरा फोन और मैं सामान्य रूप से इसका परीक्षण कर सकता था।


0

समस्या तब भी होती है, जब आपने एपीके अपलोड करने के बाद इन-ऐप खरीदारी को जोड़ा है, लेकिन आपने प्ले स्टोर (अल्फा, बीटा और प्रोडक्शन) में एप्लिकेशन प्रकाशित नहीं किया है।

जिसका मूल रूप से मतलब है, कि आपको इन-ऐप खरीद के बाद जोड़ना होगा जब आपने प्ले स्टोर (अल्फा, बीटा और प्रोडक्शन) में एपीके प्रकाशित किया है। अन्यथा आप इन-ऐप खरीदारी के लिए खरीद या क्वेरी करने में सक्षम नहीं होंगे।


0

यहां उल्लेख नहीं किया गया एक और कारण यह है कि आपको वास्तविक डिवाइस पर परीक्षण करने की आवश्यकता है। एमुलेटर वास्तव में अच्छा बनने के साथ, यह एक आसान गलती है।


0

हाल ही में Google ने अपने सिस्टम में बदलाव लागू किया है, और जब से आपने कम से कम एक एपीके अपने कंसोल पर अपलोड किया है, आप किसी भी संस्करण कोड / नंबर के साथ अपने ऐप के साथ अपने इन-ऐप अनुरोधों का परीक्षण कर सकते हैं।

क्रॉस संदर्भ लिंक

gradleडिबगिंग के लिए अपने डीबग बिल्ड पर हस्ताक्षर करने के लिए कॉन्फ़िगर करें।

android {
    ...
    defaultConfig { ... }
    signingConfigs {
        release {
            storeFile file("my-release-key.jks")
            storePassword "password"
            keyAlias "my-alias"
            keyPassword "password"
        }
    }
    buildTypes {
        debug {
            signingConfig signingConfigs.release
            ...
        }
    }
}

0

उपाय

अपने ऐप को प्ले स्टोर पर अपलोड करने के बाद थोड़ी देर के लिए रुक जाएं क्योंकि Google को ऐप वर्जन अपडेट करने में थोड़ा समय लगता है। यह काम करेगा!


0

मैं moto c2 में एक ही समस्या है + मेरे मामले में यह एक बार मैं फिर से शुरू होगा डिवाइस समस्या है, यह सही चलेगा ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.