שימוש ב-Play Age Signals API (בטא)

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

מערכת Play מחזירה טווח גילאים על סמך קבוצות הגיל שהוגדרו בתחום השיפוט ובאזורים הרלוונטיים. הגילאים שמוחזרים על ידי ה-API כברירת מחדל בתחומי שיפוט ובאזורים רלוונטיים הם 0-12, ‏ 13-15, ‏ 16-17 ו-18 ומעלה, אבל הם עשויים להשתנות בהתאם לדרישות האזוריות.

שילוב של Play Age Signals API באפליקציה

כדי לשלב את Play Age Signals API באפליקציה, מוסיפים את התלות הבאה לקובץ build.gradle של האפליקציה:

implementation 'com.google.android.play:age-signals:0.0.1-beta01'

בקשת אותות גיל

דוגמה לשליחת בקשה לאותות גיל:

// Create an instance of a manager
AgeSignalsManager ageSignalsManager =
    AgeSignalsManagerFactory.create(ApplicationProvider.getApplicationContext());

// Request an age signals check
ageSignalsManager
    .checkAgeSignals(AgeSignalsRequest.builder().build())
    .addOnSuccessListener(
        ageSignalsResult -> {
          // Store the install ID for later...
          String installId = ageSignalsResult.installId();

          if (ageSignalsResult
              .userStatus()
              .equals(AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_DENIED)) {
            // Disallow access ...
          } else {
            // Do something else if the user is SUPERVISED, VERIFIED, etc.
          }
        });

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

(אופציונלי) קבלת טווחי גילאים בהתאמה אישית

טווח הגילאים שמוחזר על ידי ה-API בתחומי שיפוט ובאזורים רלוונטיים הוא 0-12,‏ 13-15,‏ 16-17 ו-18 ומעלה. יכול להיות שהטווחים האלה ישתנו בעתיד בהתאם לדרישות המקומיות.

לחלופין, כדי להתאים אישית את טווחי הגילאים בהתאם לדרישות הגיל המינימליות באפליקציה, אפשר לציין את דרישות הגיל המינימליות האלה באפליקציה בדף אותות גיל ב-Google Play Console. ‫Age Signals API מחזיר את טווחי הגילאים המותאמים אישית. לדוגמה, אם תציינו גילאים מינימליים של 9, 15 ו-17, משתמש בן 14 ייכלל בטווח הגילאים 10-15. ההפרש בין הגילאים המינימליים חייב להיות לפחות שנתיים, ואפשר לשנות אותם פעם בשנה.

כדי להתאים אישית את טווחי הגילאים ש-Age Signals API מחזיר, אפשר לציין דרישות גיל מינימליות לשימוש באפליקציה:

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

תגובות לאותות גיל

התגובה של Play Age Signals API (בטא) כוללת את השדות והערכים הבאים. הערכים עשויים להשתנות. אם רוצים לקבל את הערכים העדכניים ביותר, צריך לשלוח בקשה לתגובת API כשהאפליקציה נפתחת. באחריותכם לספק חוויות שמתאימות לגיל באמצעות האותות האלה.

שדה תשובה ערכים תיאור
userStatus האימות בוצע בהצלחה המשתמש מעל גיל 18. ‫Google אימתה את גיל המשתמש באמצעות שיטה סבירה מבחינה מסחרית, כמו תעודה מזהה רשמית, כרטיס אשראי או הערכת גיל לפי תווי פנים.
בפיקוח למשתמש יש חשבון Google בפיקוח שמנוהל על ידי הורה שהגדיר את הגיל שלו. משתמשים במאפיינים ageLower ו-ageUpper כדי לקבוע את טווח הגילאים של המשתמש.
SUPERVISED_APPROVAL_PENDING למשתמש יש חשבון מפוקח ב-Google, וההורה המפקח עדיין לא אישר שינוי משמעותי אחד או יותר בהמתנה. משתמשים במאפיינים ageLower ו-ageUpper כדי לקבוע את טווח הגילאים של המשתמש. משתמשים ב-mostRecentApprovalDate כדי לקבוע מה היה השינוי המשמעותי האחרון שאושר.
SUPERVISED_APPROVAL_DENIED למשתמש יש חשבון מפוקח ב-Google, וההורה המפקח שלו דחה אישור של שינוי משמעותי אחד או יותר. משתמשים במאפיינים ageLower ו-ageUpper כדי לקבוע את טווח הגילאים של המשתמש. משתמשים ב-mostRecentApprovalDate כדי לקבוע מה היה השינוי המשמעותי האחרון שאושר.
לא ידוע המשתמש לא אומת או לא נמצא בפיקוח בסמכויות שיפוט ובאזורים הרלוונטיים. המשתמשים האלה יכולים להיות מעל או מתחת לגיל 18. כדי לקבל אות גיל מ-Google Play, צריך לבקש מהמשתמש להיכנס לחנות Play כדי לפתור את הבעיה בסטטוס שלו.
ריק (ערך ריק) כל שאר המשתמשים יקבלו את הערך הזה.
ageLower ‫0 עד 18 הגבול התחתון (כולל) של טווח הגילאים של משתמש בפיקוח. משתמשים במאפיינים ageLower ו-ageUpper כדי לקבוע את טווח הגילאים של המשתמש.
ריק (ערך ריק)
הערך של userStatus לא ידוע או ריק.
ageUpper ‫2 עד 18 הגבול העליון (כולל) של טווח הגילאים של משתמש בפיקוח. משתמשים במאפיינים ageLower ו-ageUpper כדי לקבוע את טווח הגילאים של המשתמש.
ריק (ערך ריק) או שחשבון userStatus נמצא בפיקוח וההורה של המשתמש אישר שהגיל שלו מעל 18. או שהערך של userStatus מאומת, לא ידוע או ריק.
mostRecentApprovalDate חותמת תאריך התאריך effective from של השינוי המשמעותי האחרון שאושר. כשמתקינים אפליקציה, התאריך של השינוי המשמעותי האחרון לפני ההתקנה הוא התאריך שמופיע.
ריק (ערך ריק) או שהשימוש ב-userStatus נמצא בפיקוח ולא נשלח שינוי משמעותי. או userStatus מאומת, לא ידוע או ריק.
installID מזהה אלפאנומרי שנוצר על ידי Play. מזהה שמוקצה להתקנות של משתמשים בפיקוח על ידי Google Play, ומשמש למטרות של שליחת הודעה על ביטול אישור האפליקציה. אפשר לעיין במסמכי התיעוד בנושא אישורי אפליקציות שבוטלו.
ריק (ערך ריק) הערך של userStatus מאומת, לא ידוע או ריק.

טיפול בקודי שגיאה של API

אם האפליקציה שולחת בקשה ל-Play Age Signals API (בטא) והקריאה נכשלת, האפליקציה מקבלת קוד שגיאה. השגיאות האלה יכולות לקרות בגלל מגוון סיבות, למשל אם האפליקציה של חנות Play לא עדכנית.

אסטרטגיה של ניסיון חוזר

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

ערך מספרי של קוד השגיאה קוד השגיאה תיאור ניתן לניסיון חוזר
-1 API_NOT_AVAILABLE ממשק ה-API של Play Age Signals לא זמין. יכול להיות שהגרסה של אפליקציית חנות Play שמותקנת במכשיר ישנה.

פתרון אפשרי
  • צריך לבקש מהמשתמש לעדכן את חנות Play.
כן
-2 PLAY_STORE_NOT_FOUND לא נמצאה אפליקציית חנות Play במכשיר. מבקשים מהמשתמש להתקין את חנות Play או להפעיל אותה. כן
-3 NETWORK_ERROR לא נמצאה רשת זמינה. מבקשים מהמשתמש לבדוק אם יש חיבור. כן
-4 PLAY_SERVICES_NOT_FOUND הגרסה של Play Services לא זמינה או שהיא ישנה מדי. מבקשים מהמשתמש להתקין, לעדכן או להפעיל את Play Services. כן
-5 CANNOT_BIND_TO_SERVICE הקישור לשירות בחנות Play נכשל. יכול להיות שהסיבה לכך היא שמותקנת במכשיר גרסה ישנה של חנות Play או שהזיכרון של המכשיר עמוס מדי. מבקשים מהמשתמש לעדכן את אפליקציית חנות Play. מנסים שוב עם נסיגה אקספוננציאלית. כן
-6 PLAY_STORE_VERSION_OUTDATED צריך לעדכן את אפליקציית חנות Play. מבקשים מהמשתמש לעדכן את אפליקציית חנות Play. כן
-7 PLAY_SERVICES_VERSION_OUTDATED צריך לעדכן את שירותי Play. מבקשים מהמשתמש לעדכן את Play Services. כן
-8 CLIENT_TRANSIENT_ERROR אירעה שגיאה זמנית במכשיר הלקוח. מטמיעים אסטרטגיית ניסיונות חוזרים עם מספר מקסימלי של ניסיונות כתנאי יציאה. אם הבעיה נמשכת, צריך לבקש מהמשתמש לנסות שוב מאוחר יותר. כן
-9 APP_NOT_OWNED האפליקציה לא הותקנה דרך Google Play. מבקשים מהמשתמש להוריד את האפליקציה מ-Google Play. לא
-100 INTERNAL_ERROR שגיאה פנימית לא ידועה. מטמיעים אסטרטגיית ניסיונות חוזרים עם מספר מקסימלי של ניסיונות כתנאי יציאה. אם הבעיה נמשכת, צריך לבקש מהמשתמש לנסות שוב מאוחר יותר. אם הפעולה נכשלת באופן עקבי, פנו לתמיכה למפתחים של Google Play, ציינו את Play Age Signals API בנושא וכללו כמה שיותר פרטים טכניים (למשל, דוח באגים). לא