שילוב ביקורות בתוך האפליקציה (Unity)

במדריך הזה מוסבר איך לשלב ביקורות מתוך האפליקציה באפליקציה שלכם באמצעות Unity. יש מדריכים נפרדים להטמעה אם אתם משתמשים ב-Kotlin או ב-Java או בקוד מקומי.

סקירה כללית על Unity SDK

Play In-App Review API הוא חלק ממשפחת Play Core SDK. ב-API ל-Unity יש את הכיתה ReviewManager, שמאפשרת לבקש ולהפעיל את התהליך באמצעות השיטות RequestReviewFlow ו-LaunchReviewFlow. אחרי שליחת הבקשה, האפליקציה יכולה לבדוק את סטטוס הבקשה באמצעות ReviewErrorCode.

הגדרת סביבת הפיתוח

OpenUPM-CLI

אם OpenUPM CLI מותקן, אפשר להתקין את המרשם של OpenUPM באמצעות הפקודה הבאה:

openupm add com.google.play.review

OpenUPM

  1. פותחים את הגדרות מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity‏ Edit > Project Settings > Package Manager.

  2. מוסיפים את OpenUPM כמאגר ברמת ההיקף לחלון Package Manager:

    Name: package.openupm.com
    URL: https://package.openupm.com
    Scopes: com.google.external-dependency-manager
      com.google.play.common
      com.google.play.core
      com.google.play.review
    
  3. פותחים את תפריט מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity‏ Window (חלון) > Package Manager (מנהל החבילות).

  4. בתפריט הנפתח של היקף הניהול, בוחרים באפשרות My Registries.

  5. בוחרים את החבילה Google Play Integrity plugin for Unity מרשימת החבילות ולוחצים על Install.

ייבוא מ-GitHub

  1. מורידים את הגרסה האחרונה של .unitypackage מ-GitHub.

  2. מייבאים את הקובץ .unitypackage על ידי בחירה באפשרות התפריט ב-Unity‏ נכסים > ייבוא חבילה > חבילה מותאמת אישית וייבוא כל הפריטים.

יצירת ReviewManager

יוצרים מופע של ReviewManager שמטפל בתקשורת בין האפליקציה ל-API.

// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();

שליחת בקשה לאובייקט ReviewInfo

פועלים לפי ההנחיות לגבי מתי לבקש ביקורות מתוך האפליקציה כדי לקבוע נקודות טובות בתהליך השימוש באפליקציה שבהן אפשר לבקש מהמשתמשים לכתוב ביקורת (לדוגמה, אחרי שהמשתמשים סוגרים את מסך הסיכום בסוף שלב במשחק). כשהאפליקציה מתקרבת לאחת מהנקודות האלה, אפשר להשתמש במכונה ReviewManager כדי ליצור פעולה אסינכררונית, כפי שמתואר בדוגמה הבאה:

var requestFlowOperation = _reviewManager.RequestReviewFlow();
yield return requestFlowOperation;
if (requestFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using requestFlowOperation.Error.ToString().
    yield break;
}
_playReviewInfo = requestFlowOperation.GetResult();

אם הקריאה תתבצע בהצלחה, ה-API יחזיר את האובייקט PlayReviewInfo שדרוש לאפליקציה כדי להפעיל את תהליך הבדיקה באפליקציה. בדוגמה, ההפעלה מתבצעת בתוך קורוטין כדי לבצע את הפעולה האסינכרונית (הפעלה כזו לא חוסמת את ה-thread הראשי). הקריאה מתבצעת באופן אסינכרוני, ולכן יכול להיות שיחלפו כמה שניות עד שהיא תתבצע. לכן, כדאי לבצע את הקריאה באפליקציה לפני שהיא מגיעה לנקודה בתהליך השימוש שבה רוצים להציג את הבדיקה באפליקציה.

הפעלת תהליך הבדיקה באפליקציה

אחרי שהאפליקציה מקבלת את המופע PlayReviewInfo, היא יכולה להפעיל את תהליך הבדיקה באפליקציה. חשוב לזכור שהאובייקט PlayReviewInfo תקף רק למשך זמן מוגבל, לכן האפליקציה לא צריכה להמתין יותר מדי זמן לפני שהיא מפעילה תהליך.

var launchFlowOperation = _reviewManager.LaunchReviewFlow(_playReviewInfo);
yield return launchFlowOperation;
_playReviewInfo = null; // Reset the object
if (launchFlowOperation.Error != ReviewErrorCode.NoError)
{
    // Log error. For example, using requestFlowOperation.Error.ToString().
    yield break;
}
// The flow has finished. The API does not indicate whether the user
// reviewed or not, or even whether the review dialog was shown. Thus, no
// matter the result, we continue our app flow.

השלבים הבאים

בודקים את תהליך הבדיקה באפליקציה כדי לוודא שהשילוב פועל כמו שצריך.