הגנה על תקינות האפליקציה ב-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 ועבר את בדיקות התקינות.
  • ללא (ערך ריק): האפליקציה פועלת במכשיר יש סימנים למתקפה (למשל, hooking API) או לפריצה למערכת (כמו עבר תהליך רוט (Root), או שהאפליקציה פועלת במכשיר לא פיזי (כמו אמולטור) שאינו עובר את בדיקות התקינות של Google Play.

Play Integrity API משתמש בערך deviceRecognitionVerdict MEETS_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 מופעלת המכשיר היה במצב אופליין למשך זמן רב.