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

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

סקירה כללית על 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 שמטפל בתקשורת בין האפליקציה לבין Google Play 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.

השלבים הבאים

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