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