במדריך הזה מוסבר איך לשלב ביקורות בתוך האפליקציה באמצעות Unity. יש מדריכי הטמעה נפרדים אם אתם משתמשים ב-Kotlin או ב-Java, בקוד Native או ב-Unreal Engine.
סקירה כללית של Unity SDK
Play In-App Review API הוא חלק ממשפחת Play Core SDK. ה-API ל-Unity מציע מחלקה ReviewManager כדי לבקש ולהפעיל את התהליך באמצעות ה-methods RequestReviewFlow ו-LaunchReviewFlow. אחרי ששולחים בקשה, האפליקציה יכולה לבדוק את הסטטוס שלה באמצעות ReviewErrorCode.
הגדרת סביבת הפיתוח
OpenUPM-CLI
אם OpenUPM CLI מותקן, אפשר להתקין את מאגר OpenUPM באמצעות הפקודה הבאה:
openupm add com.google.play.reviewOpenUPM
פותחים את ההגדרות של מנהל החבילות על ידי בחירה באפשרות בתפריט 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 (חלון > מנהל החבילות).
בתפריט הנפתח 'היקף חשבון הניהול' בוחרים באפשרות הרישומים שלי.
בוחרים את חבילת Google Play Integrity plugin for Unity מרשימת החבילות ולוחצים על Install (התקנה).
ייבוא מ-GitHub
מורידים את הגרסה האחרונה של
.unitypackageמ-GitHub.מייבאים את הקובץ
.unitypackageעל ידי בחירה באפשרות התפריט של Unity Assets > Import package > Custom Package (נכסים > ייבוא חבילה > חבילה מותאמת אישית) ומייבאים את כל הפריטים.
יצירת ReviewManager
יוצרים מופע של ReviewManager שמטפל בתקשורת בין האפליקציה לבין Google Play API.
using Google.Play.Review;
// Create instance of ReviewManager
private ReviewManager _reviewManager;
// ...
_reviewManager = new ReviewManager();
בקשה לאובייקט Request a 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 שהאפליקציה צריכה כדי להפעיל את תהליך שליחת הביקורת מתוך האפליקציה. בדוגמה, הקריאה מתבצעת בתוך שגרת המשך (coroutine) כדי לבצע את הפעולה האסינכרונית (הפעולה הזו לא חוסמת את ה-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 launchFlowOperation.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.
השלבים הבאים
בודקים את תהליך שליחת הביקורת באפליקציה כדי לוודא שההטמעה פועלת בצורה תקינה.