במדריך הזה מוסבר איך לשלב ביקורות מתוך האפליקציה באפליקציה שלכם באמצעות 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
פותחים את הגדרות מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity Edit > Project Settings > Package Manager.
מוסיפים את 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
פותחים את תפריט מנהל החבילות על ידי בחירה באפשרות בתפריט של Unity Window (חלון) > Package Manager (מנהל החבילות).
בתפריט הנפתח של היקף הניהול, בוחרים באפשרות My Registries.
בוחרים את החבילה Google Play Integrity plugin for Unity מרשימת החבילות ולוחצים על Install.
ייבוא מ-GitHub
מורידים את הגרסה האחרונה של
.unitypackage
מ-GitHub.מייבאים את הקובץ
.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.
השלבים הבאים
בודקים את תהליך הבדיקה באפליקציה כדי לוודא שהשילוב פועל כמו שצריך.