הגנה על תקינות האפליקציה ב-Google Play Games במחשב

Google Play Games במחשב תומך בהגנה על תקינות באמצעות Play Integrity API ועוד כמה תכונות של Google Play, כדי לוודא שהמשחק לא ניזוק או הותקן ממקור לא מהימן.

Play Integrity API

Play Integrity API עוזר להגן על משחקים מאינטראקציות שעלולות להיות מסוכנות או שמקורן בתרמית. ה-API מאפשר לכם לצמצם התקפות וניצול לרעה, כמו הונאות, רמאויות וגישה לא מורשית. Play Integrity API מחליף את SafetyNet Attestation API (SNAA) ו-Play App Licencing API. SNAA לא פועל עם Google Play Games במחשב.

שדה תקינות המכשיר

השדה deviceRecognitionVerdict מכיל ערך יחיד, deviceRecognitionVerdict, שמייצג את מידת היכולת של המכשיר לאכוף את תקינות האפליקציה. כברירת מחדל, הערך של deviceRecognitionVerdict יכול להיות אחד מהערכים הבאים:

  • MEETS_DEVICE_INTEGRITY: האפליקציה פועלת במכשיר Android מכשיר עם Google Play Services. המכשיר עובר את בדיקות התקינות של המערכת ועומד בדרישות התאימות של Android.
  • MEETS_VIRTUAL_INTEGRITY: האפליקציה פועלת במכשיר Android וירטואלי בסביבה של Google Play Services, שמוגבלת כרגע ל- Google Play Games במחשב. הסביבה עומדת בתאימות הליבה של Android של Google Play ועבר את בדיקות התקינות.
  • אף אחד (ערך ריק): האפליקציה פועלת במכשיר שיש בו סימנים למתקפה (למשל, הוק של API) או לפריצה למערכת (למשל, הרשאת root), או שהאפליקציה פועלת במכשיר לא פיזי (למשל, אמולטור) שלא עובר את בדיקות האימות של Google Play.

ב-Play Integrity API נעשה שימוש בערך deviceRecognitionVerdictMEETS_VIRTUAL_INTEGRITY כדי לציין שהמשחק פועל ב-Google Play Games במחשב. דוגמה לתגובה חולפת מאת Play Integrity API:

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

אם יש לכם משחק בפלטפורמות שונות שזמין גם בנייד וגם Google Play Games במחשב, צריך לוודא ש בדיקות לוגיקת אימות של MEETS_VIRTUAL_INTEGRITY וגם MEETS_DEVICE_INTEGRITY.

הגנה אוטומטית על שלמות האפליקציה

הגנה אוטומטית על תקינות האפליקציה היא בדיקה בזמן הריצה שמערכת Google Play מוסיפה בכל פעם שהמשחק נפתח. אם מישהו חיבל במשחק או לא הותקן הגנה אוטומטית על שלמות האפליקציה מאת Google Play יכול למנוע את הפעלתו. הגנה אוטומטית על שלמות האפליקציה לא בודק את המכשיר. חובה להשתמש ב-Play Integrity API כדי לקבל את סטטוס התקינות של המכשיר.

התכונה 'הגנה אוטומטית על שלמות האפליקציה' עוזרת להגן על השלמות באמצעות התכונות הבאות:

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

המפתח הגנה אוטומטית על שלמות האפליקציה נדרש להביע הסכמה. לא נדרשים שינויים בקוד או פעולות מצד המפתח.

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