כתיבת תשובה לביקורות

Google Play Developer Response to Reviews API מאפשר להציג משוב ממשתמשים בנושא האפליקציה ולהשיב למשוב הזה. אפשר להשתמש ב-API הזה כדי לקיים אינטראקציה עם משתמשים ישירות בערכת הכלים הקיימת לתמיכת לקוחות, כמו מערכת לניהול קשרי לקוחות (CRM) המערכת.

ה-Reply to Reviews API מאפשר לך לגשת למשוב רק עבור ייצור גרסאות של האפליקציה שלך. אם אתם רוצים לקבל משוב על גרסאות אלפא או בטא של באפליקציה, להשתמש ב-Google Play Console במקום זאת. כמו כן, שימו לב שה-API מוצגות רק הביקורות שכוללות תגובות. אם משתמש מדרג את האפליקציה שלך לא מספקים הערה, אין גישה אל המשוב דרך ה-API.

קבלת גישה

כדי להשתמש ב-Reply to Reviews API, עליך לספק הרשאה באמצעות לקוח OAuth או חשבון שירות. אם משתמשים בחשבון שירות, מפעילים את 'תגובה לביקורות' בחשבון הזה. מידע נוסף על יצירה של גישה מורשית ל-API הזה: הגדרת לקוחות גישה ל-API.

אחזור ביקורות

כשמשתמשים ב-Reply to Reviews API, אפשר לאחזר רשימה של כל העדכונים על האפליקציה שלך, או שאפשר לראות ביקורת ספציפית.

אחזור קבוצה של ביקורות

משתמשים בשיטה GET כדי לבקש רשימת ביקורות על האפליקציה. בבקשה שלכם, כוללים את שם החבילה המלא של האפליקציה — כמו com.google.android.apps.maps —ואסימון ההרשאה שקיבלתם כאשר קבלת גישה ל-API.

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, ותו Tab מפריד בין הכותרת לגוף הטקסט. הרכיב lastModified מציין את השעה שבה המשתמש האחרון שלחו את הביקורת.

אם כבר השבת לביקורת הזו, המשוב שלך יופיע לרכיב השני ברשימת התגובות.

starRating

ההערכה של המשתמש לגבי האפליקציה שלך בסולם של 1 עד 5. ציון של 5 מציין שהמשתמש מרוצה מאוד מהאפליקציה.

כברירת מחדל, בכל דף מופיעות 10 ביקורות. אפשר להציג עד 100 ביקורות לכל דף על ידי הגדרה של הפרמטר maxResults בבקשה שלכם.

אם רשימת הביקורות ממשיכה לדף אחר, ה-API כולל רכיב tokenPagination בתשובה. בעת בקשת הדף הבא של ביקורות, כולל את הרכיב token. מגדירים את ערך הרכיב הזה הערך nextPageToken, שמופיע בתשובה המקורית.

הערה: אפשר לאחזר רק את הביקורות שמשתמשים יצרו או שונה במהלך השבוע האחרון. אם רוצים לאחזר את כל הביקורות עבור מתחילת הזמן, אפשר להוריד את הביקורות כקובץ CSV באמצעות Google Play Console.

בדוגמה הבאה לבקשת GET מוצג דף הביקורות הבא. הזה מתבססת על ההנחה שדף הביקורות הנוכחי (כפי שמוצג בתגובה של הבקשה הקודמת) מכילה ערך nextPageToken של "12334566". מציינת גם שהדף הבא צריך להציג עד 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
      }
    }
  ]
}

תרגום טקסט הביקורת

ניתן לתרגם את טקסט הביקורת באופן אוטומטי לפני שמוחזר reviews API. כשמאחזרים רשימה של ביקורות או ביקורת בודדת, צריך להוסיף פרמטר 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, המערכת תחזיר את הטקסט המתורגם במאפיין 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!"
}

הערה: ה-replyText שאתם כוללים עם בקשת POST יכולה להכיל 350 תווים לכל היותר. צריך להשתמש טקסט פשוט בתשובה שלך. הם מסירים תגי HTML תקינים, כלולה בספירת התווים של התשובה שלכם. התוכן שאתם מציבים עם זאת, בתוך תגי HTML בנויים היטב.

אם הבקשה שלכם תצליח, תקבלו את מחרוזת ה-JSON הבאה כתגובה. הרכיב lastEdited מציין את השעה שבה ה-API מתעד את התשובה שלכם לביקורת של המשתמש.

{
  "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 בקשות (לאחזור רשימות של ביקורות וביקורות נפרדות) – 200 לשעה

  • POST בקשות (למענה לביקורות) – 2,000 ביום

אם האפליקציה שלך צריכה לאחזר ביקורות למספר גדול יותר של ביקורות או להשיב להן מכסות מאפשרות, שולחים בקשה כדי להגדיל את מכסת השימוש באפליקציה.