Google Play Developer Reply to Reviews API की मदद से, अपने ऐप्लिकेशन के लिए उपयोगकर्ताओं से मिले सुझाव, शिकायतें या राय देखी जा सकती हैं. साथ ही, इनका जवाब दिया जा सकता है. इस एपीआई का इस्तेमाल करके, सीधे तौर पर उपयोगकर्ताओं से इंटरैक्ट किया जा सकता है. इसके लिए, आपको अपने मौजूदा कस्टमर सपोर्ट टूलकिट, जैसे कि सीआरएम सिस्टम का इस्तेमाल करना होगा.
Reply to Reviews API की मदद से, सिर्फ़ अपने ऐप्लिकेशन के प्रोडक्शन वर्शन के लिए सुझाव/राय या शिकायतें ऐक्सेस की जा सकती हैं. अगर आपको अपने ऐप्लिकेशन के ऐल्फ़ा या बीटा वर्शन के लिए सुझाव/राय या शिकायतें देखनी हैं, तो Google Play Console का इस्तेमाल करें. यह भी ध्यान दें कि API सिर्फ़ उन समीक्षाओं को दिखाता है जिनमें टिप्पणियां शामिल होती हैं. अगर कोई व्यक्ति आपके ऐप्लिकेशन को रेटिंग देता है, लेकिन कोई टिप्पणी नहीं करता है, तो एपीआई के ज़रिए उसके सुझाव/राय/शिकायत को ऐक्सेस नहीं किया जा सकता.
ऐक्सेस पाना
Reply to Reviews API का इस्तेमाल करने के लिए, OAuth क्लाइंट या सेवा खाते का इस्तेमाल करके अनुमति दें. अगर किसी सेवा खाते का इस्तेमाल किया जा रहा है, तो इस खाते में "समीक्षाओं का जवाब दें" अनुमति चालू करें. इस एपीआई के लिए, अनुमति वाला ऐक्सेस सेट अप करने के बारे में ज़्यादा जानने के लिए, एपीआई ऐक्सेस क्लाइंट सेट अप करना लेख पढ़ें.
समीक्षाएं वापस लाई जा रही हैं
Reply to Reviews API का इस्तेमाल करते समय, अपने ऐप्लिकेशन के लिए हाल ही में की गई सभी समीक्षाओं की सूची वापस पाई जा सकती है. इसके अलावा, किसी एक समीक्षा को भी देखा जा सकता है.
समीक्षाओं का सेट वापस पाना
अपने ऐप्लिकेशन के लिए समीक्षाओं की सूची का अनुरोध करने के लिए, GET
तरीके का इस्तेमाल करें. अपने अनुरोध में, अपने ऐप्लिकेशन का पूरा पैकेज नाम शामिल करें. जैसे, com.google.android.apps.maps
. साथ ही, वह अनुमति वाला टोकन शामिल करें जो आपको एपीआई का ऐक्सेस पाने के दौरान मिला था.
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token
जवाब एक JSON स्ट्रिंग है. इसमें आपके ऐप्लिकेशन की समीक्षाओं की सूची शामिल होती है. सूची में पहला नतीजा, उपयोगकर्ता की उस टिप्पणी को दिखाता है जिसे हाल ही में बनाया या बदला गया था.
यहां दिए गए उदाहरण में, पहली समीक्षा में ऐसा मेटाडेटा दिखाया गया है जो सभी नतीजों में दिखता है. वहीं, दूसरी समीक्षा में ऐसा मेटाडेटा दिखाया गया है जो सिर्फ़ कुछ नतीजों में दिखता है:
{ "reviews": [ { "reviewId": "12345678", "authorName": "Jane Bloggs", "comments": [ { "userComment": { "text": "This is the best app ever!", "lastModified": { "seconds": "1443676826", "nanos": 713000000 }, "starRating": 5 } } ] }, { "reviewId": "11223344", "authorName": "John Doe", "comments": [ { "userComment": { "text": "I love using this app!", "lastModified": { "seconds": "141582134", "nanos": 213000000 }, "starRating": 5, "reviewerLanguage": "en", "device": "trltecan", "androidOsVersion": 21, "appVersionCode": 12345, "appVersionName": "1.2.3", "thumbsUpCount": 10, "thumbsDownCount": 3, "deviceMetadata": { "productName": "E5333 (Xperia™ C4 Dual)", "manufacturer": "Sony", "deviceClass": "phone", "screenWidthPx": 1080, "screenHeightPx": 1920, "nativePlatform": "armeabi-v7a,armeabi,arm64-v8a", "screenDensityDpi": 480, "glEsVersion": 196608, "cpuModel": "MT6752", "cpuMake": "Mediatek", "ramMb": 2048 } } }, { "developerComment": { "text": "That's great to hear!", "lastModified": { "seconds": "1423101467", "nanos": 813000000 } } } ] } ], "tokenPagination": { "nextPageToken": "12334566" } }
हर नतीजे में यह मेटाडेटा शामिल होता है:
- reviewId
- इस समीक्षा की खास तौर पर पहचान करता है. इससे किसी उपयोगकर्ता की समीक्षा का भी पता चलता है, क्योंकि उपयोगकर्ता किसी ऐप्लिकेशन के लिए सिर्फ़ एक समीक्षा लिख सकते हैं.
- authorName
समीक्षा लिखने वाले व्यक्ति का नाम.
ध्यान दें: कुछ मामलों में, ऐसा हो सकता है कि किसी नतीजे में
authorName
न दिखे.- टिप्पणियां
ऐसी सूची जिसमें ऐप्लिकेशन के बारे में उपयोगकर्ता की राय शामिल होती है. अगर इस समीक्षा में कोई टाइटल शामिल है, तो यह टाइटल और समीक्षा का मुख्य हिस्सा, दोनों
text
एलिमेंट में दिखते हैं. साथ ही, टाइटल और मुख्य हिस्से के टेक्स्ट को टैब वर्ण से अलग किया जाता है.lastModified
एलिमेंट से पता चलता है कि उपयोगकर्ता ने सबसे हाल ही में किस समय समीक्षा सबमिट की थी.अगर आपने इस समीक्षा का जवाब पहले ही दे दिया है, तो आपकी प्रतिक्रिया, टिप्पणियों की सूची में दूसरे एलिमेंट के तौर पर दिखेगी.
- starRating
उपयोगकर्ता ने आपके ऐप्लिकेशन को 1 से 5 के स्केल पर जो रेटिंग दी है. पांच का स्कोर यह दिखाता है कि उपयोगकर्ता आपके ऐप्लिकेशन से बहुत संतुष्ट है.
डिफ़ॉल्ट रूप से, हर पेज पर 10 समीक्षाएं दिखती हैं. अनुरोध में maxResults
पैरामीटर सेट करके, हर पेज पर ज़्यादा से ज़्यादा 100 समीक्षाएं दिखाई जा सकती हैं.
अगर समीक्षाओं की सूची दूसरे पेज पर भी जारी रहती है, तो एपीआई, जवाब में tokenPagination
एलिमेंट शामिल करता है. समीक्षाओं के अगले पेज का अनुरोध करते समय, token
एलिमेंट शामिल करें. इस एलिमेंट की वैल्यू को nextPageToken
वैल्यू पर सेट करें. यह वैल्यू, ओरिजनल रिस्पॉन्स में दिखती है.
ध्यान दें: सिर्फ़ उन समीक्षाओं को वापस लाया जा सकता है जिन्हें लोगों ने पिछले हफ़्ते बनाया या बदला है. अगर आपको अपने ऐप्लिकेशन के लिए, शुरू से लेकर अब तक की सभी समीक्षाएं वापस लानी हैं, तो Google Play Console का इस्तेमाल करके, अपनी समीक्षाओं को CSV फ़ाइल के तौर पर डाउनलोड करें.
GET
के अनुरोध के इस उदाहरण में, समीक्षाओं का अगला पेज दिखाया गया है. इस अनुरोध में यह माना गया है कि समीक्षाओं के मौजूदा पेज (जैसा कि पिछले अनुरोध के जवाब में दिखाया गया है) में "12334566"
की nextPageToken
वैल्यू मौजूद है. इस अनुरोध में यह भी बताया गया है कि अगले पेज पर ज़्यादा से ज़्यादा 50 समीक्षाएं दिखनी चाहिए.
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token&token=12334566&maxResults=50
किसी समीक्षा को वापस पाना
किसी समीक्षा को वापस पाने के लिए, GET
तरीके का भी इस्तेमाल किया जा सकता है. आपको वही यूआरएल देना होगा जिसका इस्तेमाल समीक्षाओं का सेट पाने के लिए किया गया था. हालांकि, आपको उस समीक्षा से जुड़ा review_id
भी शामिल करना होगा जिसे आपको देखना है:
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/ review_id?access_token=your_auth_token
इसके जवाब में, एक JSON स्ट्रिंग मिलती है. इसमें एक समीक्षा का कॉन्टेंट और मेटाडेटा शामिल होता है:
{ "reviewId": "87654321", "authorName": "Joan Smith", "comments": [ { "userComment": { "text": "This app is awesome!", "lastModified": { "seconds": "1452114723", "nanos": 913000000 }, "starRating": 5 } } ] }
समीक्षा के टेक्स्ट का अनुवाद करना
समीक्षाओं के एपीआई से जवाब मिलने से पहले, समीक्षा के टेक्स्ट का अपने-आप अनुवाद हो सकता है. समीक्षाओं की सूची या किसी एक समीक्षा को वापस पाने के लिए, क्वेरी में translationLanguage
पैरामीटर जोड़ें. उदाहरण के लिए:
GET https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews? access_token=your_auth_token&translationLanguage=en
translationLanguage
पैरामीटर, देश के साथ या उसके बिना किसी भाषा को तय कर सकता है. उदाहरण के लिए, "en" और "en_GB", दोनों मान्य हैं.
अगर आपने अनुवाद के लिए ऐसी भाषा चुनी है जो मूल टेक्स्ट से अलग है, तो सिस्टम text
प्रॉपर्टी में अनुवाद किया गया टेक्स्ट और originalText
प्रॉपर्टी में मूल टेक्स्ट दिखाता है. यहां एक उदाहरण दिया गया है:
{ "reviewId": "12345678", "authorName": "Jane Bloggs", "comments": [ { "userComment": { "text": "This is the best app ever!", "lastModified": { "seconds": "1443676826", "nanos": 713000000 }, "starRating": 5, "originalText": "Dies ist die beste App überhaupt!" } } ] }
समीक्षाओं का जवाब देना
समीक्षाओं का जवाब देकर, अपने ऐप्लिकेशन के उपयोगकर्ताओं से भी जुड़ा जा सकता है. जवाब सबमिट करने के बाद, उपयोगकर्ता को एक सूचना मिलती है. इससे उसे पता चलता है कि आपने उसके सुझाव, शिकायत या राय का जवाब दिया है.
हम समीक्षाओं के जवाब अपने-आप जनरेट होने की सुविधा का इस्तेमाल करने का सुझाव नहीं देते. ऐसा इसलिए, ताकि बाद में उन जवाबों को मैन्युअल तरीके से अपडेट किया जा सके. इसके अलावा, किसी समीक्षा का जवाब जितनी बार चाहें उतनी बार दिया जा सकता है. हालांकि, जब कोई उपयोगकर्ता समीक्षा बनाता है या उसमें बदलाव करता है, तब आपको पहली बार जवाब देने पर ही उसे सूचना मिलती है. यहां दी गई टेबल में बताया गया है कि आपके साथ इंटरैक्ट करते समय, उपयोगकर्ता को सूचना कैसे मिलती है:
उपयोगकर्ता और डेवलपर के बीच इंटरैक्शन | क्या उपयोगकर्ता को सूचना भेजी गई? |
---|---|
उपयोगकर्ता ने समीक्षा लिखी; डेवलपर ने जवाब सबमिट किया | हां |
डेवलपर ने मूल समीक्षा का जवाब दिया | नहीं |
उपयोगकर्ता समीक्षा अपडेट करता है; डेवलपर जवाब अपडेट करता है | हां |
ध्यान दें: समीक्षाओं के आपके जवाब, ऐप्लिकेशन स्टोर पेज पर सार्वजनिक तौर पर दिखते हैं. इसलिए, यह ज़रूरी है कि इन जवाबों को लिखते समय, उपयोगकर्ताओं के बारे में संवेदनशील जानकारी शामिल न की जाए.
उपयोगकर्ता की समीक्षा का जवाब सबमिट करने के लिए, POST
तरीके का इस्तेमाल करें. अपने अनुरोध में, यह बताएं कि Content-Type
application/json
है. साथ ही, एक JSON दस्तावेज़ शामिल करें, जिसमें आपका जवाब शामिल हो:
POST https://www.googleapis.com/androidpublisher/v3/applications/your_package_name/reviews/ review_id:reply?access_token=your_access_token Content-Type: application/json { "replyText": "Thanks for your feedback!" }
ध्यान दें: POST
के अनुरोध के साथ शामिल किए गए replyText
में ज़्यादा से ज़्यादा 350 वर्ण हो सकते हैं. आपको अपने जवाब में सादे टेक्स्ट का इस्तेमाल करना चाहिए. सही तरीके से बनाए गए एचटीएमएल टैग हटा दिए जाते हैं और उन्हें आपके जवाब के वर्णों की संख्या में शामिल नहीं किया जाता. हालांकि, सही तरीके से बनाए गए एचटीएमएल टैग में रखा गया कॉन्टेंट सेव रहता है.
अनुरोध पूरा होने पर, आपको रिस्पॉन्स के तौर पर यह JSON स्ट्रिंग मिलती है.
lastEdited
एलिमेंट से पता चलता है कि एपीआई ने उपयोगकर्ता की समीक्षा का आपका जवाब किस समय रिकॉर्ड किया.
{ "result": { "replyText": "Thanks for your feedback!", "lastEdited": { "seconds": "1453978803", "nanos": 796000000 } } }
हालांकि, अगर आपका POST
अनुरोध अमान्य है, तो जवाब में इनमें से कोई एक गड़बड़ी कोड दिखेगा:
400 Bad Reply Request
replyText
बहुत लंबा है या मौजूद नहीं है.404 Not Found
- दी गई
review_id
वाली समीक्षा मौजूद नहीं है.
कोटा
अन्य डेवलपर को ध्यान में रखते हुए, Reply to Reviews API के लिए कई कोटे लागू किए गए हैं. ये कोटा, हर ऐप्लिकेशन के हिसाब से अलग-अलग लागू किए जाते हैं:
GET
अनुरोध (समीक्षाओं की सूचियां और अलग-अलग समीक्षाएं वापस पाने के लिए) – हर घंटे 200POST
अनुरोध (समीक्षाओं का जवाब देने के लिए) – हर दिन 2,000
अगर आपके ऐप्लिकेशन को इन कोटों से ज़्यादा समीक्षाएं वापस लानी हैं या उनका जवाब देना है, तो अपने ऐप्लिकेशन का कोटा बढ़ाने के लिए अनुरोध भेजें.