זיהוי התנהלות פוגעת חוזרת באמצעות שחזור נתונים שמשויכים למכשיר (בטא)

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

איך מתבצע ריקול של מכשיר?

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

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

דרישות מוקדמות ושיקולים לגבי שחזור ערכים לפי מכשיר

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

יש כמה דרישות מוקדמות לשימוש בתכונה 'שחזור ערכים לפי מכשיר':

  • אפשר להשתמש בזיכרון המכשיר בטלפונים, בטאבלטים, במכשירים מתקפלים, בטלוויזיות, ב-Auto וב-Wear OS. ב-Wear, האפשרות להחזרת מכשיר זמינה רק במכשירים עם WearOS 5 ואילך. אין תמיכה בהחזרת מכשיר באמולטורים.
  • כדי להשתמש בזיכרון של המכשיר, צריך להתקין במכשיר גרסאות עדכניות של חנות Google Play ושל שירותי Google Play ולהפעיל אותן.
  • כדי להשתמש בזיכרון המכשיר, חשבון המשתמש צריך להיות בעל רישיון ל-Play, אחרת לא תתבצע הערכה של התוצאה.

השיקולים הבאים רלוונטיים לגבי התזמון של החזרת המכשיר:

  • אחרי שמאמתים את טוקן השלמות, יש עד 14 ימים להשתמש בו כדי לאחסן נתונים מותאמים אישית של אחזור נתונים על המכשיר.
  • התכונה 'החזרת נתונים למכשיר' כוללת חותמות זמן, כך שאפשר לתת עדיפות גבוהה יותר לנתונים ששונו לאחרונה מאשר לנתונים ששונו לפני זמן רב. אחרי תקופה ארוכה מספיק, כדאי להתעלם מהנתונים או לאפס אותם כדי לקחת בחשבון שמכשירים יכולים לעבור מיד ליד או לעבור שיפוץ ואז להימכר מחדש.
  • נתוני ההחזרה של מכשיר יישמרו למשך 3 שנים אחרי הגישה האחרונה לקריאה או לכתיבה.
  • אם אתם צריכים למחוק את כל הנתונים שמשויכים למכשיר, האפליקציה יכולה לאפס את כל שלושת הערכים במכשיר לערך false. הפעולה הזו תאפס אוטומטית את חותמות הזמן.

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

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

הפעלת שחזור ערכים לפי מכשיר

כשמוכנים, מפעילים את האפשרות להחזרת מכשירים ב-Play Console:

  1. נכנסים ל-Play Console.
  2. בוחרים את האפליקציה שבה רוצים להשתמש בזיכרון המכשיר.
  3. בקטע הפצה בתפריט הימני, עוברים אל יושרה של האפליקציה.
  4. לצד Play Integrity API, לוחצים על הגדרות.
  5. בקטע 'תגובות' בדף, לוחצים על שינוי התגובות.
  6. מפעילים את התכונה 'זיכרון המכשיר'.
  7. לוחצים על 'שמירת שינויים'.

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

קריאת ערכים של אחזור נתונים על מכשיר

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

שינוי ערכי ההחזרה של המכשיר

אפשר לשנות את הערכים של אחזור נתונים על מכשיר באמצעות קריאה ל-API משרת לשרת, בדומה לפענוח של תוצאת בדיקת היושרה. הגדרת ביט ל-true תעדכן גם את תאריך הכתיבה שלו (גם אם הוא כבר היה true). הגדרת ביט ל-false תאפס את תאריך הכתיבה שלו לריק. ביטים שלא צוינו בבקשה יישארו ללא שינוי. יש עיכוב קל בהפצה בין כתיבת הביטים לבין האפשרות לקרוא אותם בחזרה בחוות הדעת. העיכוב הזה יכול להימשך עד 30 שניות, אבל בדרך כלל הוא קצר יותר. בקשות לכתיבת נתוני recall במכשיר צריכות להיות בתדירות נמוכה יותר מבקשות הטוקן שלמות. הן לא נספרות במכסת הבקשות של אסימון יושרה, אבל הן כפופות למגבלות קצב לא ציבוריות ומגננתיות.

playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
  "integrityToken": "INTEGRITY_TOKEN",
  "newValues": {
    "bitFirst": true,
    "bitThird": false
  }
}'
newValues.BitFirst = true // ForceSendFields optional for value true
newValues.BitSecond = false // ForceSendFields required for value false
newValues.BitThird = nil // do not set ForceSendFields for unspecified bits
newValues.ForceSendFields = []string{"BitSecond"}