Google Play से उपयोगकर्ता द्वारा डाउनलोड किए गए एप्लिकेशन (भुगतान / निःशुल्क) की सूची कैसे प्राप्त करें?


121

मैं हाल ही में इस ऐप को खरीद आया था Apps , जो किसी तरह मैं अपने Google खाते का उपयोग करके साइन इन करने के बाद Google Play में भुगतान किए गए एप्लिकेशन को पुनः प्राप्त करने में सक्षम हूं।

मैं यह पता लगाने की कोशिश कर रहा हूं कि यह कैसे किया जा रहा है क्योंकि मैं एक समान ऐप बनाना चाहता हूं, लेकिन मुफ्त ऐप के लिए जो डाउनलोड किए गए थे।

हालाँकि, मुझे नहीं पता कि OAuth API स्कोप का उपयोग उस जानकारी को पुनः प्राप्त करने के लिए किया गया था, यहां तक ​​कि एपीआई की पूरी सूची से गुजरने के बाद भी ।

Androidmarket पर पहुँच प्राप्त करने के लिए Google साइन इन करें


संपादित करें: मैं इस सवाल पर एक नया इनाम रख रहा हूं, जैसा कि मैंने यहां के बारे में पूछा गया एक समान प्रश्न का सुझाव दिया है , और क्योंकि यहां और वहां मुझे यह कैसे करना है, और क्या किया जा सकता है, इस बारे में कोई वास्तविक जवाब नहीं दिखता है। इसके साथ।

मैं कई टुकड़ों में प्रश्नों को परिष्कृत करना चाहूंगा:

  1. एपीआई क्या है जिसका उपयोग खरीदे गए ऐप्स की जानकारी प्राप्त करने के लिए किया जा सकता है? मैं इसके बारे में कहां पढ़ सकता हूं? कृपया इसे कैसे करें, इसका एक पूर्ण, कार्यशील उदाहरण दिखाएं।

  2. क्या यह और कर सकता है? शायद खोज करते हैं? हो सकता है कि मुफ्त ऐप दिखाए गए थे जो इंस्टॉल किए गए थे? हो सकता है कि जिस समय उन्हें स्थापित और अनइंस्टॉल किया गया था? और उन ऐप्स की श्रेणियां?

  3. क्या इस एपीआई का उपयोग करने के लिए कोई विशेष आवश्यकताएं हैं?


संपादित करें: मैं इस पर अधिकतम बाउंटी लगा रहा हूं, क्योंकि मैंने कितना भी पढ़ा और कोशिश की है, मैं अभी भी एक पीओसी बनाने में विफल रहा हूं जो कि प्ले स्टोर से उन ऐप्स को क्वेरी कर सकता है जिन्हें उपयोगकर्ता ने कभी डाउनलोड किया है (नाम, पैकेज) नाम, तिथि स्थापित और / या हटा दिया, आइकन URL, मूल्य ...), दोनों भुगतान और मुफ्त ऐप्स सहित।

अगर किसी को एक काम करने का नमूना मिलता है, तो दिखाएं कि यह कैसे किया गया है, और यह भी दिखाएं कि आपने इसके बारे में कैसे पाया है (प्रलेखन या कुछ भी जो आपको समाधान तक ले गया है)। मैं इसे कहीं भी नहीं पा सकता हूं, और यहां के मौजूदा समाधान भी मुझे शुरू करने के लिए बहुत अस्पष्ट हैं।


इस भंडार का प्रयास करें github.com/googlesamples/android-play-publisher-api/tree/master/...
Webserveis

मैं नमूना एप्लिकेशन लॉन्चर को देखूंगा। इससे पता चलता है कि फोन पर कौन-कौन से ऐप डाउनलोड हैं।
danny117

@android डेवलपर: मैंने विघटन Purchase Appsद्वारा एपीके फ़ाइल का विश्लेषण किया है । खरीदे गए ऐप्स की सूची प्राप्त करने के लिए इसने कभी भी किसी एप का इस्तेमाल नहीं किया। इसका दृष्टिकोण वैसा ही है जैसा हम जानते हैं कि प्ले स्टोर वेब पेज की HTML सामग्री को पार्स कर रहा है। यहाँ इस कोड का एक टुकड़ा है: hastebin.com/uceyavurij.js
aminography

@ जियोग्राफी तो यह उपयोगकर्ता के लिए कैसे प्राप्त करता है? आखिरकार, इसे उपयोगकर्ता के Google खाते का डेटा प्राप्त करने की आवश्यकता है ... यह केवल प्ले स्टोर एप्लिकेशन तक पहुंचने के लिए पर्याप्त नहीं है ... यह इसे दी गई अनुमतियों के साथ क्या करता है?
एंड्रॉयड डेवलपर

@androiddeveloper: जानकारी जो सभी के द्वारा प्रदान की जाती है Purchased Appsउसे playstore वेब सामग्री से पुनर्प्राप्त किया जा सकता है। दुर्भाग्य से मैं Google Play से एक ऐप खरीदने के लिए उपयोग नहीं किया है। यदि आप मुझे एक खाता साझा करते हैं जिसमें एक खरीदा हुआ ऐप है, तो मैं आपके लिए एक नमूना कोड विकसित कर सकता हूं।
अमीनोग्राफी

जवाबों:


51

समस्या हल हो गई है। शोषण बंद हो गया है।

हम Android के पूर्वावलोकन संस्करण में लॉग इन होने के कारण इस बग को बंद कर देंगे। यदि समस्या अभी भी प्रासंगिक है और नवीनतम सार्वजनिक रिलीज़ (Android Q) में प्रतिलिपि प्रस्तुत करने योग्य है, तो कृपया एक Bugreport कैप्चर करें और https://source.android.com/setup/contribute/report-bugs में बग लॉग ऑन करें । यदि अगले 14 दिनों के भीतर कोई जवाब नहीं मिलता है, तो यह मुद्दा बंद कर दिया जाएगा। समझने के लिए धन्यवाद।


नवीनतम अद्यतन:

यह एक बग है और Google इसे अगले अपडेट में संबोधित करेगा।

हमने भविष्य के रिलीज़ में इस मुद्दे को विचार के लिए टाल दिया है। Android को बेहतर बनाने के लिए आपके समय के लिए धन्यवाद


यह जवाब विचारों के एक समूह में बदल गया है और टिप्पणियों में चर्चा से जानकारी शामिल करने के लिए संपादित किया गया है।

androidmarketएपीआई, एक स्वनिर्धारित होगा एपीआई डेवलपर ने लिखा है। यह जनता के लिए उपलब्ध नहीं है।

टिप्पणियों में अपनी चिंताओं को दूर करने के लिए। डेवलपर ने इन सभी को प्रबंधित करने वाली परियोजना बनाने के लिए Android डेवलपर और Google के माध्यम से उपलब्ध वर्तमान एप का उपयोग किया होगा।

एक्सेस करने के लिए Full Account Access, मुझे यकीन नहीं है कि इन डेवलपर्स ने इसे कैसे हासिल किया है।

मैं AccountManager का उपयोग करने की सलाह दूंगा , जो android.accounts का हिस्सा है, इसमें क्रेडेंशियल्स और एक विधि getUserData तक पहुंच है । खाता प्रबंधक के पास पासवर्ड तक पहुंच है और वह खातों को बनाने और हटाने में सक्षम है। यह संभवतः, सामग्री प्रदाता के साथ उपयोग किया जाता है

Udinic / SyncAdapter प्रमाणीकरण देखें ।

आपकी टिप्पणी का जवाब देने के लिए:

इस ब्लॉग को आरंभ करने में आपकी मदद करनी चाहिए। अपना खुद का Android प्रमाणक लिखें


ये ऐप वास्तव में कैसे काम करते हैं, मैं आपको नहीं बता सकता। उनके पास अलग-अलग कार्यान्वयन भी हो सकते हैं (जब तक कि वे पर्दे के पीछे सहयोगी प्रयास नहीं करते हैं, वे निश्चित रूप से अलग होंगे)।

एक अनुमान। सबसे पहले GoogleSignInAccount का उपयोग com.google.android.gms.auth.api.signin के साथ करें ।

एप्लिकेशन को अनुमतियों की सीमा निर्धारित करने के लिए गुंजाइश की एक परिभाषा है।

RequestScopes () , का उपयोग करना

सार्वजनिक स्थैतिक अंतिम स्ट्रिंग प्रोफ़ाइल

... / यह आपके वेब ऐप को ओवर-द-एयर एंड्रॉइड ऐप इंस्टॉल करने देता है।

उदाहरण के लिए :

GoogleSignInOptions gso =
        new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
            .requestEmail().
            .requestScopes(new Scope("https://www.googleapis.com/auth/contacts.readonly"))
            .build();

यदि पूर्ण पहुंच प्राप्त की जा सकती है तो खाता धारक द्वारा उपयोग किए जाने वाले सभी एप्लिकेशन की एक सूची प्राप्त की जा सकती है और डिवाइस पर इसकी तुलना में किया जा सकता है।

पैकेज प्रबंधक डिवाइस पर वर्तमान में स्थापित सभी ऐप्स की एक सूची प्राप्त करेगा।
PackageInfo ऐप के बारे में विवरण प्रदान करता है।
INSTALL_REASON_USER उन ऐप्स को भी फ़िल्टर करेगा जो उपयोगकर्ता द्वारा सक्रिय रूप से इंस्टॉल किए गए हैं।

आप com.google.firebase.appindexing और उपयोगकर्ता क्रियाएँ लॉग इन करना चाह सकते हैं । विभिन्न क्रियाओं को ट्रैक किया जा सकता है।

उपयोगकर्ता खाता इतिहास https://myactivity.google.com/myactivity पर पाया जाता है ।

एक सहायक लिंक OAuth 2.0 खेल का मैदान है


यह जीथब रेपो नोड-गूगल-प्ले , नोड का उपयोग करके चालू है और Google Play API को कॉल करेगा। जैसा कि संग्रह था जिसे "अनौपचारिक" एपि, एंड्रॉइड-मार्केट-एपीआई के रूप में उपयोग किया गया था , ताकि बाजार की जगह को क्वेरी किया जा सके।


ऐप 1

एप्लिकेशन का दावा है निम्न अनुमतियों का उपयोग करें:

संस्करण 2.1.8 का उपयोग कर सकते हैं:
$ में app खरीद

अन्य

  • इंटरनेट से डेटा प्राप्त करते हैं
  • नेटवर्क कनेक्शन देखें
  • पूर्ण नेटवर्क का उपयोग
  • डिवाइस पर खातों का उपयोग करें
  • डिवाइस को सोने से रोकें
  • Google सेवा कॉन्फ़िगरेशन पढ़ें

ध्यान देने योग्य बात यह है कि ऐप बेसिक, इंस्टॉल होने पर कोई भी परमिशन सेट नहीं करता है। मैं किसी भी सुविधा का उपयोग करने में असमर्थ था, क्योंकि मेरे पास कोई भुगतान किए गए एप्लिकेशन नहीं हैं। इसलिए शुरुआती खोज के लिए - कोई अनुमति की आवश्यकता नहीं थी, जो इंगित करेगा कि ऐप में मेरे खाते तक पहुंच नहीं है।

मैंने अनुमतियों की जाँच की - कोई भी सेट नहीं था। तो पॉप अप को स्वीकार करने के लिए केवल एक चीज की आवश्यकता थी, जैसा कि आपके प्रश्न में प्रदर्शित किया गया है।


ऐप 2

आप जिस अन्य ऐप का जिक्र करते हैं, वही काम करता है जो एक्सेस किया जा रहा है उसके बारे में अधिक उल्टा है।

माई पेड एप्स

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


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


10

इनमें से एक एप्लिकेशन (माय पेड ऐप्स) के मामले में, नेटवर्क ट्रैफ़िक की जाँच करने के बाद यह बहुत स्पष्ट है कि यह भुगतान किए गए अनुप्रयोगों की सूची को पुनः प्राप्त करने के लिए स्टोर के खाता पृष्ठ का उपयोग करता है। अब, यह जिस तंत्र का उपयोग करता है, वही तंत्र है जो वर्तमान में Google Chrome, और पोकेमॉन गो का उपयोग समय में एक बिंदु पर करता है।

संक्षेप में, ऐसा करने के लिए कदम इस प्रकार हैं:

  1. लॉग इन करें : पहले चरण के लिए उल्लिखित कार्यक्रम उपयोगकर्ता को लॉग इन करने के लिए है और उपयोगकर्ता के टोकन तक पहुंच प्राप्त करने के लिए है। ऐसा करने के लिए, यह android.accounts.AccountManager.getAuthToken()विधि का उपयोग करता है । (और देखें: खाता प्रबंधक ) हालांकि, टोकन गुंजाइश के लिए, oauth2:https://www.google.com/accounts/OAuthLoginअनुरोध किया गया है। यह ध्यान रखना महत्वपूर्ण है कि Google से OAth2 प्रलेखन के आधार पर , यह गुंजाइश मान्य नहीं है; हालाँकि, यह Google OAuth v1 के लिए एक मान्य गुंजाइश की तरह लगता है।

  2. नव पुनर्प्राप्त एक्सेस टोकन में परिवर्तित करनाubertoken : अब, वास्तव में क्या ubertokenकरना चाहिए, यह अज्ञात है और इसके बारे में कोई आधिकारिक दस्तावेज नहीं है। हालांकि, यह उपयोगकर्ताओं को लॉगिन करने के लिए क्रोम ब्राउज़र द्वारा उपयोग किए जाने वाले जंगली में देखा गया था। यह https://accounts.google.com/OAuthLogin?source=ChromiumBrowser&issueuberauth=1पृष्ठ का अनुरोध करके किया जाता है ।

  3. ubertokenवेबसाइट सत्र के लिए परिवर्तित करना : बाद में, नए बनाए ubertokenगए का उपयोग करके https://accounts.google.com/MergeSessionएपीआई समापन बिंदु का उपयोग करके वेबसाइट सत्र प्राप्त करना संभव है । इस चरण के बाद, एप्लिकेशन अनिवार्य रूप से सभी व्यक्तिगत पृष्ठों को लोड करने में सक्षम है जिसे आप लॉग इन करते समय अपने ब्राउज़र का उपयोग करके खोल सकते हैं; भुगतान सेटिंग्स सहित कुछ विशेष पृष्ठों को छोड़कर।

  4. भुगतान किए गए आवेदनों की सूची प्राप्त करना:https://play.google.com/store/account पृष्ठ का अनुरोध और पार्स करना ।

' पैकेट कैप्चर ' द्वारा कैप्चर किए गए एप्लिकेशन का ट्रैफ़िक निम्नलिखित है :

ट्रैफ़िक पर कब्जा कर लिया

जैसा कि यह तस्वीर में स्पष्ट रूप से दिखाई दे रहा है, अंतिम परिणाम वही है जो मुझे मिलता है जब मैं अपने पीसी पर Chrome डेस्कटॉप पर स्टोर का खाता पृष्ठ खोलता हूं: क्रोम दृश्य स्रोत

साइड नोट :

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

दिलचस्प लेख :

पोकेमॉन टोकन

Google Chrome के OAuth2 टोकन का शोषण करना


1
क्या आप यह देखने के लिए पूर्ण नमूना दिखा सकते हैं कि यह कैसे काम करता है और मेरे द्वारा पूछे गए प्रश्नों का उत्तर देता है? जैसा कि मैंने लिखा है, मैं प्रत्येक ऐप के बारे में विभिन्न जानकारी प्राप्त करना चाहता हूं: कीमत, जब खरीदा जाता है, आदि ... क्या मुफ्त ऐप की सूची प्राप्त करना भी संभव है?
एंड्रॉयड डेवलपर

3

यदि आपके पास रूट एक्सेस है, तो आप एक्सेस कर सकते हैं /data/data/com.android.vending/databases/library.db

OnePlus3T:/data/data/com.android.vending/databases
-rw-rw---- 1 u0_a2 u0_a2 229376 2018-12-26 18:01 library.db

इस डेटाबेस में सारी जानकारी होती है, कि आपने कौन सा ऐप डाउनलोड किया है, कौन से ऐप आपने खरीदे हैं, और यहाँ तक कि किस ऐप में आपने काम किया है IAP

स्वामित्व तालिका देखें, इसमें सभी जानकारी है।

ownership (account STRING, library_id STRING, backend INTEGER, doc_id STRING, doc_type INTEGER, offer_type INTEGER, document_hash INTEGER, subs_valid_until_time INTEGER, app_certificate_hash STRING, app_refund_pre_delivery_endtime_ms INTEGER, app_refund_post_delivery_window_ms INTEGER, subs_auto_renewing INTEGER, subs_initiation_time INTEGER, subs_trial_until_time INTEGER, inapp_purchase_data STRING, inapp_signature STRING, preordered INTEGER, owned_via_license INTEGER, shared_by_me INTEGER, sharer_gaia_id TEXT, shareability INTEGER, purchase_time INTEGER, PRIMARY KEY (account, library_id, backend, doc_id, doc_type, offer_type))

1

अनौपचारिक Google API से निपटना अविश्वसनीय रूप से जटिल क्षेत्र है। यह काम करने के लिए संभव हो रहा है , लेकिन यह सब मैं कहूँगा। अपने जोख़िम पर आगे बढ़ें।

पहली चीज जिसे आप करने जा रहे हैं वह है Google Play को टोकन प्राप्त करना । यह कई तरीकों से किया जा सकता है, लेकिन यहां वे इसे खरीदे गए ऐप्स में कैसे करते हैं:

public static String getAuthToken(Activity activity, String userEmail) {

    AccountManager accountManager = AccountManager.get(activity);
    Account userAccount = new Account(userEmail, "com.google");

    Bundle options = new Bundle();
    options.putBoolean("suppressProgressScreen", true);

    String token;

    try {
      Bundle result = accountManager
        .getAuthToken(userAccount, "androidmarket", options, activity, null, null)
        .getResult();
      token = result.getString("authtoken");
    } catch (OperationCanceledException e) {
      Log.d(TAG, "Login canceled by user");
      return null;
    } catch (IOException | AuthenticatorException e) {
      Log.e(TAG, "Login failed", e);
      return null;
    }

    return token;
}

यहाँ ध्यान देने योग्य कुछ बातें:

  • उपरोक्त कोड को एसिंक्रोनस रूप से चलाया जाना चाहिए । मैं RxJava की सलाह देता हूं, लेकिन एक AsyncTask काम करेगा।
  • आप जिस खाते का उपयोग करना चाहते हैं, उसके लिए आपको एक ईमेल की आपूर्ति करनी चाहिए। मैं आपके ऊपर विवरण छोड़ दूँगा लेकिन यह उपयोग करना काफी आसान है AccountManager

आपके पास एक टोकन होने के बाद, अब आप किसी भी Google Play Store के समापन बिंदु तक पहुँच सकते हैं । खरीदे गए ऐप्स द्वारा उपयोग किया जाने वाला मुख्य है https://android.clients.google.com/fdfe/purchaseHistory। एक और जिसे आप में रुचि हो सकती है https://android.clients.google.com/fdfe/details?doc=(package name)( एपीकेचैप कोड से )। यहाँ कुछ और अधिक विश्लेषण के साथ एक पृष्ठ है। यदि आप इन API के लिए अनुरोध करते हैं, तो आपको कई हेडर की आपूर्ति करने की आवश्यकता होगी:

  • Authorization - "GoogleLogin auth=(your auth token)"
  • User-Agent - "Android-Finsky/6.4.12.C-all%20%5B0%5D%202744941 (api=3,versionCode=80641200,sdk=" + VERSION.SDK_INT + ",isWideScreen=0)";
  • X-DFE-Device-Id- आपकी डिवाइस की Google सेवा फ्रेमवर्क आईडी, जो विज्ञापन-प्रसार से प्राप्त की गई है ।
  • X-DFE-Client-Id - "am-android-google"
  • Accept-Language- डिवाइस की भाषा कोड, उदाहरण के लिए "en"

अब, आपको प्रतिक्रिया को पार्स करने की आवश्यकता है । यहां जहां चीजें मुश्किल हो जाती हैं। ये API एक संदेश को एक Protobuf के रूप में एन्कोडेड देता है , इसलिए यह अनिवार्य रूप से केवल द्विआधारी डेटा है जब तक कि आपके पास एक स्कीमा नहीं है (जो कि निश्चित रूप से, केवल Google के पास है)। इस सिद्धांत के बारे में जाने का एक तरीका Google Play Store ऐप को डिकम्पोज करना और JADX जैसे टूल के साथ उनके उत्पन्न प्रोटोबॉफ़ मॉडल का पुन: उपयोग करना है ।

दुर्भाग्य से, मैंने यह कोशिश की है और यह वास्तव में काम नहीं करता है। Protobuf मॉडल कक्षाएं एक मानक डिकंपाइलर के लिए बहुत जटिल हैं। आप जो उपयोग कर सकते हैं, वह पीबीटीके नामक एक उपकरण है । आप आदर्श रूप से Google Play Store 6.1.12 एपीके पर इसे चलाना चाहते हैं, क्योंकि प्रोगार्ड का उपयोग शुरू करने से पहले यह अंतिम संस्करण है। टिप्पणी है कि इस कार्यक्रम में अपनी स्क्रिप्ट में दो त्रुटियों कि जरूरत चलाने से पहले तय हो गया है: बदल रहा है 'extracto'करने के लिए 'extractor'में gui.py और की लाइन 500 पर जोर बयान को हटाने jar_extract.py

अब, कि .proto फ़ाइलों के रूप में सभी प्रतिक्रिया वर्गों का उत्पादन करना चाहिए। Src / main नामक एक फोल्डर बनाएं protoऔर संपूर्ण जेनरेट की गई 'com' डायरेक्टरी को ड्रैग करें। आप वह सबकुछ हटा सकते हैं जो नीचे नहीं है com/google/android/finsky/protos। Protobuf लाइट प्लगइन के साथ ग्रेडल सेटअप करने के लिए ऑनलाइन निर्देशों का पालन करें।

जब आप किसी प्रतिक्रिया को पार्स करना चाहते हैं, तो आप ResponseWrapper वर्ग का उपयोग कर सकते हैं, क्योंकि वे सभी उसी के तहत निहित दिखाई देते हैं।

मैं आपको ले जा सकता हूं। एक अच्छा मौका है मुझे इस गलत का कुछ हिस्सा मिला; JADX यहां आपका सबसे अच्छा दोस्त है, क्योंकि एक ऐप क्या कर रहा है इसका पता लगाने का सबसे अच्छा तरीका है इसके कोड को देखकर। आशा है कि यह मदद करता है और खुश विकास!


के बारे में AccountManager, क्या आप सुनिश्चित हैं कि यह अभी भी उपलब्ध है? मुझे लगता है कि आजकल Google केवल उपयोग करने का विकल्प देता है AccountPicker(जैसे: यहां: stackoverflow.com/a/26888259/878126 )। लेकिन मैं बाकी प्रदर्शन कैसे करूं? क्या आपने इसका परीक्षण किया है? क्या यह आपके काम आया? कृपया इसके लिए कोड साझा करें। यही कारण है कि मैंने एक इनाम निर्धारित किया है, इसे देखने के लिए कार्रवाई में ...
Android डेवलपर

यस अकाउंटपिकर वास्तव में एक बेहतर विचार है। और हाँ, मैंने एक टोकन प्राप्त करने के लिए कोड की कोशिश की और यह बहुत अच्छा काम करता है। मैंने बाकी की कोशिश नहीं की क्योंकि सब कुछ सुचारू रूप से चलने पर tbh कम से कम 5 घंटे के काम की तरह है। यहां तक ​​कि एक 500 इनाम भी इसके लायक नहीं है।
क्वालीफायर

1
यहाँ एक टोकन प्राप्त करने के लिए पूर्ण कोड है, हालांकि (यह आपके स्क्रीनशॉट में puchased apps की तरह ही काम करता है): github.com/ethanblake4/PlayStoreDemo
qualverse

ओर्केट-टोकन प्राप्त करना अच्छी तरह से काम करता है। लेकिन मुझे लगता है कि मुश्किल हिस्सा क्षुधा खुद को लाने है :(
एंड्रॉयड डेवलपर

हां, यह वह हिस्सा है जो दुर्भाग्य से बहुत काम लेता है। हालाँकि, मैंने खरीदे गए एप्लिकेशन के लिए कोड को विघटित कर दिया और यह कि यह कैसे किया जाता है। बेझिझक मुझे बताएं कि क्या आपको उपरोक्त चरणों में सहायता की आवश्यकता है।
क्वालीफायर

-2

आप डिवाइस पर सभी इंस्टॉल किए गए ऐप्स के पैकेज का नाम प्राप्त कर सकते हैं और फिर प्रत्येक इंस्टॉल किए गए पैकेज की जानकारी प्राप्त कर सकते हैं जो आपको उपयोगकर्ता द्वारा प्राप्त करने की आवश्यकता के बिना Google Play से डिवाइस में मिलते हैं। वहाँ कुछ तीसरे पक्ष या अनौपचारिक एप को पैकेज पैकेज नाम प्राप्त करके json के रूप में Google Play ऐप्स विवरण प्राप्त करने के लिए है। उदाहरण के लिए: https://42matters.com/ फिर हर पैकेज के लिए प्राप्त जानकारी का उपयोग करके मुफ्त में खोजें।


नहीं, मैंने जो सवाल उठाया है, वह उन ऐप्स का है, जो उपयोगकर्ता ने कभी इंस्टॉल किए हैं, न कि केवल उन पर जो अभी इंस्टॉल किए गए हैं। इसके अलावा, अनौपचारिक का उपयोग क्यों करें, अगर कोई आधिकारिक तरीका है ...
Android डेवलपर

@androiddeveloper मुझे लगता है कि Google Play में पैकेज नाम प्राप्त करके ऐप विवरण प्राप्त करने के लिए कोई आधिकारिक एपीआई नहीं है। क्या कोई आधिकारिक एपीआई है?
बहमन

@androiddeveloper क्या google हर उपयोगकर्ता के लिए अनइंस्टॉल फ्री ऐप्स का नाम रखता है?
बहमन

हाँ। यदि आप Play Store ऐप खोलते हैं, तो नेवी-ड्रॉअर पर जाएं, और फिर "मेरे ऐप्स और गेम्स" पर जाएं। आप वहां से कभी भी इंस्टॉल किए गए सभी ऐप देखेंगे, न कि केवल वे जो वर्तमान में इंस्टॉल किए गए हैं। और Google के अनुसार, इस API का उपयोग करने के लिए इसे अनुमति दी गई है (या कम से कम ऐसा लगता है कि वे कहते हैं कि यह): जारीकर्ता ।google.com / issues / 79195087 । या, जिसने भी मेरे साथ बात की है, वह वहां क्या चल रहा है, उससे परिचित नहीं है ...
Android डेवलपर

-2

मेरे पास आपके पास विचार करने के लिए दो संसाधन हैं, लेकिन पहले, एक शब्द में, नहीं। GOOGLE से कोई भी एपीआई नहीं है जो आप चाहते हैं कि आप क्या चाहते हैं, क्योंकि ये मैट्रिक्स फोन में संग्रहीत हैं, वे Google play store के सर्वर पर हैं, और google के पास play store के लिए कोई OFFICIAL एपीआई नहीं है। हालाँकि आप इन दोनों साइटों से कुछ जानकारी प्राप्त कर सकते हैं:

https://www.quora.com/Is-there-an-API-for-the-Google-Play-Store लिंक के बारे में जानकारी दर्ज करें

/android/162146/how-to-see-all-the-apps-i-have-downloaded-from-google-play-store

और यह देखने के लिए पर्याप्त है कि इसे कैसे पूरा किया जाए।

सबसे पहले, किसी खाते द्वारा कौन से ऐप्स डाउनलोड किए गए हैं, इसकी एक सूची केवल खाते द्वारा संदर्भित है। और यह प्ले स्टोर के माध्यम से किया जा सकता है। चूंकि आपका ऐप उस उपयोगकर्ता फ़ोन पर स्थापित हो जाएगा, यह डॉसेंट बात ... आप अंदर हैं।

दूसरा, आपको GOOGLE PLAY STORE के लिए बनाया गया 3rd पार्टी एपीआई की आवश्यकता होगी, वहाँ कुछ हैं, पहले लिंक की जाँच करें।

अपनी पसंद की एपीआई का उपयोग करते हुए, आप प्ले स्टोर पर एक अनुरोध प्राप्त करेंगे, और बदले में आपको अधिकांश मामलों में deserialize करने के लिए एक json ऑब्जेक्ट प्राप्त करना चाहिए।

ऑब्जेक्ट को डिसेर्बलाइज़ करें, और आपके पास अपनी सूची होगी। आपको कौन सी सूची मिलेगी, यह आपके द्वारा उपयोग किए जाने वाले समापन बिंदु पर निर्भर करेगा, लेकिन इसे एपीआई में ही समझाया जाना चाहिए।

सौभाग्य!


सभी लिंक में, मुझे वर्तमान उपयोगकर्ता द्वारा इंस्टॉल किए गए एप्लिकेशन की सूची नहीं मिलती है। उनके पास लॉगिन चरण भी नहीं है। वे सभी ऐप्स के बारे में सामान्य जानकारी इकट्ठा करते हैं, चाहे उपयोगकर्ता ने उन्हें स्थापित किया हो या नहीं।
एंड्रॉयड डेवलपर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.