ใช้ 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 รองรับ Android 6.0 (API ระดับ 23) ขึ้นไป หากต้องการผสานรวม Play Age Signals API เข้ากับแอป ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ build.gradle ของแอป

implementation 'com.google.android.play:age-signals:0.0.2'

ขอสัญญาณอายุ

ต่อไปนี้เป็นตัวอย่างการส่งคำขอสัญญาณอายุ

Kotlin

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

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

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

Java

// 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 จะอัปเดตสัญญาณอายุที่แคชไว้สำหรับผู้ใช้รายนั้นโดยอัตโนมัติภายใน 2-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 รายการ อายุขั้นต่ำต้องห่างกันอย่างน้อย 2 ปี และสามารถเปลี่ยนแปลงได้ปีละครั้ง
  3. คลิกบันทึก

การตอบกลับสัญญาณอายุ

การตอบกลับของ Play Age Signals API (เบต้า) จะมีฟิลด์และค่าต่อไปนี้ ค่าเหล่านี้อาจมีการเปลี่ยนแปลง หากต้องการค่าล่าสุด ให้ขอการตอบกลับจาก API เมื่อแอปเปิดขึ้น คุณมีหน้าที่รับผิดชอบในการมอบประสบการณ์ที่เหมาะสมกับอายุโดยใช้สัญญาณเหล่านี้

ฟิลด์การตอบกลับ ค่า คำอธิบาย
userStatus ยืนยันแล้ว ผู้ใช้มีอายุมากกว่า 18 ปี Google ยืนยันอายุของผู้ใช้โดยใช้วิธีการที่สมเหตุสมผลในเชิงพาณิชย์ เช่น บัตรประจำตัวที่ออกโดยหน่วยงานราชการ บัตรเครดิต หรือการคาดคะเนอายุจากใบหน้า หาก userStatus เป็น VERIFIED คุณก็ข้ามช่องอื่นๆ ได้
มีการควบคุมดูแล ผู้ใช้มีบัญชี Google ที่มีการควบคุมดูแลซึ่งจัดการโดยผู้ปกครองที่กำหนดอายุของผู้ใช้ ใช้ ageLower และ ageUpper เพื่อกำหนดช่วงอายุของผู้ใช้ ใช้ mostRecentApprovalDate เพื่อพิจารณาการเปลี่ยนแปลงที่สำคัญครั้งล่าสุดที่ได้รับอนุมัติ
SUPERVISED_APPROVAL_PENDING ผู้ใช้มีบัญชี Google ที่มีการควบคุมดูแล และผู้ปกครองที่ควบคุมดูแลยังไม่อนุมัติการเปลี่ยนแปลงที่สำคัญที่รอดำเนินการอย่างน้อย 1 รายการ ใช้ ageLower และ ageUpper เพื่อกำหนดช่วงอายุของผู้ใช้ ใช้ mostRecentApprovalDate เพื่อพิจารณาการเปลี่ยนแปลงที่สำคัญครั้งล่าสุดที่ได้รับอนุมัติ
SUPERVISED_APPROVAL_DENIED ผู้ใช้มีบัญชี Google ภายใต้การควบคุมดูแล และผู้ปกครองที่ควบคุมดูแลปฏิเสธการอนุมัติการเปลี่ยนแปลงที่สำคัญอย่างน้อย 1 รายการ ใช้ ageLower และ ageUpper เพื่อกำหนดช่วงอายุของผู้ใช้ ใช้ mostRecentApprovalDate เพื่อพิจารณาการเปลี่ยนแปลงที่สำคัญครั้งล่าสุดที่ได้รับอนุมัติ
ไม่ทราบ ผู้ใช้อยู่ในเขตอำนาจศาลที่เกี่ยวข้อง หรือภูมิภาค แต่ยังไม่ได้รับการยืนยันหรือการควบคุมดูแล ผู้ใช้เหล่านี้อาจมีอายุมากกว่าหรือน้อยกว่า 18 ปี หากต้องการรับสัญญาณอายุจาก Google Play ให้ขอให้ผู้ใช้ไปที่ Play Store เพื่อแก้ไขสถานะ
null ผู้ใช้รายอื่นๆ ทั้งหมดจะแสดงค่านี้ หาก userStatus เป็น null คุณสามารถละเว้นฟิลด์อื่นๆ ได้
ageLower 0 ถึง 18 ขอบเขตล่าง (รวม) ของช่วงอายุของผู้ใช้ภายใต้การควบคุมดูแล ใช้ ageLower และ ageUpper เพื่อกำหนดช่วงอายุของผู้ใช้
null
userStatus ไม่รู้จักหรือว่างเปล่า
ageUpper 2-18 ขอบเขตบน (รวม) ของช่วงอายุของผู้ใช้ภายใต้การควบคุมดูแล ใช้ ageLower และ ageUpper เพื่อกำหนดช่วงอายุของผู้ใช้
null userStatus อยู่ภายใต้การควบคุมดูแลและผู้ปกครองของผู้ใช้รับรองว่าผู้ใช้มีอายุมากกว่า 18 ปี หรือuserStatusได้รับการยืนยัน ไม่รู้จัก หรือว่างเปล่า
mostRecentApprovalDate การประทับวันที่ effective from วันที่ของการเปลี่ยนแปลงที่สำคัญล่าสุดที่ได้รับอนุมัติ เมื่อติดตั้งแอป ระบบจะใช้วันที่ของการเปลี่ยนแปลงที่สำคัญล่าสุดก่อนการติดตั้ง
null userStatus ได้รับการควบคุมดูแลและไม่มีการส่งการเปลี่ยนแปลงที่สำคัญ หรือ userStatus ได้รับการยืนยัน ไม่รู้จัก หรือว่างเปล่า
installID รหัสตัวอักษรและตัวเลขที่ Play สร้างขึ้น รหัสที่ Google Play กำหนดให้การติดตั้งของผู้ใช้ภายใต้การควบคุม ซึ่งใช้เพื่อวัตถุประสงค์ในการแจ้งให้คุณทราบเกี่ยวกับการเพิกถอนการอนุมัติแอป โปรดอ่านเอกสารประกอบสำหรับการอนุมัติแอปที่ถูกเพิกถอน
null userStatus ได้รับการยืนยัน ไม่รู้จัก หรือว่างเปล่า

คำตอบตัวอย่าง

สำหรับผู้ใช้ที่ได้รับการยืนยัน คุณจะได้รับสิ่งต่อไปนี้

  • userStatus จะเป็น AgeSignalsVerificationStatus.VERIFIED
  • ช่องคำตอบอื่นๆ จะว่างเปล่า

สำหรับผู้ใช้ภายใต้การควบคุมดูแล คุณจะได้รับสิ่งต่อไปนี้

  • userStatus จะเป็น AgeSignalsVerificationStatus.SUPERVISED
  • ageLower จะเป็นตัวเลข (เช่น 13)
  • ageUpper จะเป็นตัวเลข (เช่น 15)
  • mostRecentApprovalDate จะเป็นออบเจ็กต์วันที่ของ Java (เช่น 2026-01-01) หรือว่างเปล่า (หากไม่มีการเปลี่ยนแปลงที่สำคัญที่ได้รับอนุมัติ)
  • installID จะเป็นรหัสตัวอักษรและตัวเลขคละกันที่ Play สร้างขึ้น (เช่น 550e8400-e29b-41d4-a716-446655441111)

สำหรับผู้ใช้ภายใต้การควบคุมดูแลที่รอการอนุมัติการเปลี่ยนแปลงที่สำคัญ คุณจะได้รับข้อมูลต่อไปนี้

  • userStatus จะเป็น AgeSignalsVerificationStatus.SUPERVISED_APPROVAL_PENDING
  • ageLower จะเป็นตัวเลข (เช่น 13)
  • ageUpper จะเป็นตัวเลข (เช่น 15)
  • mostRecentApprovalDate จะเป็นออบเจ็กต์วันที่ของ Java (เช่น 2026-01-01) หรือว่างเปล่า (หากไม่มีการเปลี่ยนแปลงที่สำคัญที่ได้รับอนุมัติ)
  • installID จะเป็นรหัสตัวอักษรและตัวเลขคละกันที่ Play สร้างขึ้น (เช่น 550e8400-e29b-41d4-a716-446655441111)

จัดการรหัสข้อผิดพลาดของ API

หากแอปของคุณส่งคำขอ Play Age Signals API และการเรียกใช้ไม่สำเร็จ แอปจะได้รับรหัสข้อผิดพลาด ข้อผิดพลาดเหล่านี้อาจเกิดขึ้นได้จากหลายสาเหตุ เช่น แอป Play Store เป็นเวอร์ชันเก่า

กลยุทธ์การลองใหม่

ในกรณีที่ผู้ใช้อยู่ในเซสชัน เราขอแนะนำให้ใช้กลยุทธ์การลองใหม่ โดยมีจำนวนครั้งที่พยายามสูงสุดเป็นเงื่อนไขการออก เพื่อให้ข้อผิดพลาด รบกวนประสบการณ์ของผู้ใช้น้อยที่สุด

ค่าตัวเลขของรหัสข้อผิดพลาด รหัสข้อผิดพลาด คำอธิบาย ลองใหม่ได้
-1 API_NOT_AVAILABLE Play Age Signals API ไม่พร้อมใช้งาน แอป Play Store เวอร์ชันที่ติดตั้งในอุปกรณ์อาจเป็นเวอร์ชันเก่า

วิธีแก้ไขที่เป็นไปได้
  • ขอให้ผู้ใช้อัปเดต Play Store
ใช่
-2 PLAY_STORE_NOT_FOUND ไม่พบแอป Play Store ในอุปกรณ์ ขอให้ผู้ใช้ติดตั้งหรือเปิดใช้ Play Store ใช่
-3 NETWORK_ERROR ไม่พบเครือข่ายที่พร้อมใช้งาน ขอให้ผู้ใช้ตรวจสอบการเชื่อมต่อ ใช่
-4 PLAY_SERVICES_NOT_FOUND บริการ Google Play ไม่พร้อมใช้งานหรือเวอร์ชันเก่าเกินไป ขอให้ผู้ใช้ติดตั้ง อัปเดต หรือเปิดใช้บริการ Google Play ใช่
-5 CANNOT_BIND_TO_SERVICE การเชื่อมโยงกับบริการใน Play Store ไม่สำเร็จ ปัญหานี้อาจเกิดจากการติดตั้ง Play Store เวอร์ชันเก่าในอุปกรณ์หรือหน่วยความจำของอุปกรณ์ทำงานหนักเกินไป ขอให้ผู้ใช้อัปเดตแอป Play Store ลองอีกครั้งโดยใช้ Exponential Backoff ใช่
-6 PLAY_STORE_VERSION_OUTDATED ต้องอัปเดตแอป Play Store ขอให้ผู้ใช้อัปเดตแอป Play Store ใช่
-7 PLAY_SERVICES_VERSION_OUTDATED ต้องอัปเดตบริการ Google Play ขอให้ผู้ใช้อัปเดตบริการ Google Play ใช่
-8 CLIENT_TRANSIENT_ERROR เกิดข้อผิดพลาดชั่วคราวในอุปกรณ์ไคลเอ็นต์ ใช้กลยุทธ์การลองใหม่โดยกำหนดจำนวนครั้งสูงสุดในการลองเป็นเงื่อนไขการออก หากยังแก้ปัญหาไม่ได้ ให้ขอให้ผู้ใช้ลองอีกครั้งในภายหลัง ใช่
-9 APP_NOT_OWNED Google Play ไม่ได้ติดตั้งแอป ขอให้ผู้ใช้ดาวน์โหลดแอปของคุณจาก Google Play ไม่
-100 INTERNAL_ERROR ข้อผิดพลาดภายในที่ไม่รู้จัก ใช้กลยุทธ์การลองใหม่โดยกำหนดจำนวนครั้งสูงสุดในการลองเป็นเงื่อนไขการออก หากยังแก้ปัญหาไม่ได้ ให้ขอให้ผู้ใช้ลองอีกครั้งในภายหลัง หากการทดสอบล้มเหลวอย่างต่อเนื่อง โปรดติดต่อทีมสนับสนุนนักพัฒนาแอป Google Play โดยระบุ Play Age Signals API ในหัวเรื่อง และระบุรายละเอียดทางเทคนิคให้ได้มากที่สุด (เช่น รายงานข้อบกพร่อง) ไม่