การปฏิบัติตามข้อกำหนด
Compliance เป็นฟีเจอร์ที่ Hive SDK จัดเตรียมไว้เพื่อให้แอปเกมสามารถตอบสนองต่อกฎระเบียบทางกฎหมาย นโยบาย และข้อกำหนดที่ต้องปฏิบัติตามเพื่อธุรกิจที่ยั่งยืนและการปกป้องผู้ใช้
คู่มือนี้จะอธิบายเรื่องกฎระเบียบทางกฎหมาย จริยธรรม และการปฏิบัติตามกฎเกณฑ์ที่ Hive SDK Compliance รองรับ และวิธีการนำไปใช้
การตรวจสอบช่วงอายุของผู้ใช้สำหรับกฎหมายความรับผิดชอบของแอปสโตร์¶
ตั้งแต่วันที่ 1 มกราคม 2026 หลายรัฐในสหรัฐอเมริการวมถึงเท็กซัส ยูทาห์ และหลุยเซียนา จะบังคับใช้กฎหมายที่กำหนดให้มาร์เก็ตเพลซตรวจสอบอายุของผู้ใช้ และอนุญาตให้เฉพาะผู้ใช้ที่ได้รับความเห็นชอบจากผู้ปกครอง (ผู้อำนวยการ) เท่านั้นที่สามารถเล่นเกมต่อได้หากเป็นเยาวชน ด้วยเหตุนี้ นักพัฒนาที่แจกจ่ายแอปผ่านมาร์เก็ตเพลซในรัฐเหล่านี้จะต้องใช้ Age Range API ที่ SDK จัดเตรียมไว้เพื่อตรวจสอบช่วงอายุของผู้ใช้และขอความเห็นชอบจากผู้ปกครอง
Note
คู่มือนี้เขียนขึ้นตามข้อกำหนดของกฎหมายการตรวจสอบอายุในรัฐที่เกี่ยวข้องของสหรัฐอเมริกาที่จะมีผลบังคับใช้ในวันที่ 1 มกราคม 2026 ในรัฐเท็กซัส
ฟีเจอร์ที่ Age Range API จัดเตรียมไว้มีดังนี้:
- ขอและตรวจสอบสถานะและช่วงอายุของผู้ใช้ → getAgeRange API
- การแจ้งเตือนการเปลี่ยนแปลงสำคัญในแอป
- showAgeRangeUpdatePermission API (Apple App Store เท่านั้น)
- การแจ้งเตือนการยกเลิกความเห็นชอบของผู้ปกครอง
Warning
จนถึงวันที่ 1 มกราคม 2026 การเรียก Age Range API อาจได้รับการตอบกลับแบบ exception และอาจไม่มีการตอบกลับหากแจกจ่ายผ่าน Apple App Store
ตั้งแต่วันที่ 1 มกราคม 2026 การเรียก Age Range API จะส่งคืนการตอบกลับแบบเรียลไทม์
ขั้นตอนการทำงานของ Age range API¶
ขั้นตอนการทำงานหลังจากการเรียกที่สำเร็จหรือล้มเหลวเมื่อแอปเกมขอ Age Range API มีดังนี้
เมื่อการเรียก getAgeRange API สำเร็จ¶
กระบวนการทำงานของแอปเกมตามค่าตอบกลับ userState มีดังนี้:
- หนึ่งใน
UNKNOWN,VERIFIED,SUPERVISED: ดำเนินการแอปและให้เนื้อหาที่เหมาะสมกับอายุ- หาก
SUPERVISEDและแจ้งเตือนการเปลี่ยนแปลงสำคัญในแอป : เรียก showAgeRangeUpdatePermission API เฉพาะเกมที่แจกจ่ายผ่าน Apple App Store เท่านั้น
- หาก
SUPERVISED_APPROVAL_PENDINGหรือSUPERVISED_APPROVAL_DENIED:- ความเห็นชอบของผู้ปกครอง (ผู้อำนวยการ) สำหรับคำขอให้เยาวชนใช้แอปต่อไปยังคงรอดำเนินการหรือถูกปฏิเสธ สามารถตรวจสอบอายุและดำเนินการแอปต่อได้
REQUIRED: อายุผู้ใช้ยังไม่ได้รับการตรวจสอบในเขตอำนาจศาล/ภูมิภาคที่เกี่ยวข้อง แนะนำผู้ใช้ให้แชร์ข้อมูลอายุในแอปมาร์เก็ตเพลซหรือการตั้งค่าอุปกรณ์เพื่อเปิดใช้งานการตรวจสอบอายุในแอป
เมื่อการเรียก getAgeRange API ล้มเหลว¶
หากการเรียกล้มเหลวหลังจากขอ Age Range API ในแอป จะได้รับรหัสความล้มเหลวของ ResultAPI ตัวอย่างรหัสความล้มเหลวของ ResultAPI มีดังนี้:
ข้อผิดพลาดการเรียก API อาจเกิดขึ้นได้จากหลายสาเหตุ เช่น การใช้แอปมาร์เก็ตเพลซที่ไม่ใช่เวอร์ชั่นล่าสุด
หากเกิดข้อผิดพลาดระหว่างเซสชั่น การใส่รหัสควรลดการรบกวนสภาพแวดล้อมของผู้ใช้ให้น้อยที่สุด เช่น การยุติการเรียกเมื่อจำนวนครั้งการลองใหม่ API ถึงขีดจำกัดสูงสุด
ขั้นตอนการทำงานตามมาร์เก็ตเพลซ¶
ขั้นตอนการขอ API และการประมวลผลสำหรับมาร์เก็ตเพลซแต่ละแห่งที่ Age Range API รองรับมีดังนี้
getAgeRange API¶
เรียก getAgeRange API จากแอปรันไทม์เพื่อขอข้อมูลสถานะและอายุของผู้ใช้ แม้ว่าแอปจะมีขั้นตอนการตรวจสอบอายุแยกต่างหากนอกเหนือจากข้อกำหนดการปฏิบัติตามนี้ ก็แนะนำให้เรียก getAgeRange API ก่อนเพื่อตรวจสอบอายุ
เมื่อเรียก getAgeRange API ข้อมูลสถานะ userState และช่วงอายุของผู้ใช้ที่อาศัยอยู่ในภูมิภาคที่อยู่ภายใต้กฎหมายการตรวจสอบอายุจะถูกส่งกลับมาเป็นคำตอบ ช่วงอายุพื้นฐานที่ส่งคืนเฉพาะเขตอำนาจศาลที่เกี่ยวข้องมีดังนี้ และอาจเปลี่ยนแปลงตามข้อกำหนดของภูมิภาค:
- 0-12 ปี
- 13-15 ปี
- 16-17 ปี
- 18 ปีขึ้นไป
การเรียก getAgeRange API¶
ตัวอย่างโค้ดสำหรับการเรียก getAgeRange API เพื่อขอช่วงอายุของผู้ใช้มีดังนี้:
การตอบกลับ getAgeRange API¶
คำอธิบายฟิลด์การตอบกลับของ getAgeRange API มีดังนี้ คุณสามารถใช้ค่าแต่ละฟิลด์เพื่อจัดเตรียมกระบวนการเกมตามอายุ
ค่าการตอบกลับอาจเปลี่ยนแปลงได้ หากต้องการค่าล่าสุด กรุณาขอการตอบกลับ API เมื่อเปิดแอป
| ฟิลด์การตอบกลับ | ค่า | คำอธิบาย |
|---|---|---|
userState | VERIFIED | ผู้ใช้มีอายุ 18 ปีขึ้นไป |
| SUPERVISED | ผู้ใช้มีบัญชีที่ได้รับการดูแลโดยผู้ปกครองกำหนดอายุไว้ ใช้ ageLower และ ageUpper เพื่อตรวจสอบช่วงอายุของผู้ใช้ | |
| SUPERVISED_APPROVAL_PENDING | ผู้ใช้มีบัญชีที่ได้รับการดูแล และผู้ปกครองที่ดูแลยังไม่ได้อนุมัติการเปลี่ยนแปลงสำคัญหนึ่งหรือมากกว่าที่รออยู่ ใช้ ageLower และ ageUpper เพื่อตรวจสอบช่วงอายุของผู้ใช้ ใช้ mostRecentApprovalDate เพื่อตรวจสอบการเปลี่ยนแปลงสำคัญที่ได้รับอนุมัติล่าสุด | |
| SUPERVISED_APPROVAL_DENIED | ผู้ใช้มีบัญชีที่ได้รับการดูแล และผู้ปกครองของผู้ใช้ที่ได้รับการดูแลได้ปฏิเสธความเห็นชอบการเปลี่ยนแปลงสำคัญหนึ่งหรือมากกว่า ใช้ ageLower, ageUpper และ mostRecentApprovalDate เพื่อตรวจสอบการเปลี่ยนแปลงสำคัญที่ได้รับอนุมัติล่าสุด | |
| UNKNOWN | ผู้ใช้อยู่นอกเขตอำนาจศาล/ภูมิภาคที่เกี่ยวข้อง ผู้ใช้เหล่านี้อาจมีอายุ 18 ปีขึ้นไปหรือน้อยกว่า | |
| REQUIRED | ผู้ใช้ยังไม่ได้รับการตรวจสอบหรือการดูแลในเขตอำนาจศาล/ภูมิภาคที่เกี่ยวข้อง ผู้ใช้เหล่านี้อาจมีอายุ 18 ปีขึ้นไปหรือน้อยกว่า เพื่อรับการตรวจสอบอายุ ขอให้ผู้ใช้เยี่ยมชมการตั้งค่าอุปกรณ์และแอปมาร์เก็ตเพลซเพื่อตรวจสอบสถานะของพวกเขา | |
ageLower | 0 to 18 | ขีดจำกัดล่าง (รวม) ของช่วงอายุของผู้ใช้ที่ได้รับการดูแล ใช้ ageLower และ ageUpper เพื่อตรวจสอบช่วงอายุของผู้ใช้ |
| -1 | userState เป็น UNKNOWN หรือ REQUIRED | |
ageUpper | 2 to 18 | ขีดจำกัดบน (รวม) ของช่วงอายุของผู้ใช้ที่ได้รับการดูแล ใช้ ageLower และ ageUpper เพื่อตรวจสอบช่วงอายุของผู้ใช้ |
| -1 | ผู้ใช้มีอายุ 18 ปีขึ้นไป หรือ userState เป็น UNKNOWN หรือ REQUIRED | |
mostRecentApprovalDate | Datestamp | วันที่ของการเปลี่ยนแปลงสำคัญที่ได้รับอนุมัติล่าสุด ตัวอย่าง) "2023-07-01T00:00:00.008Z" Apple App Store ไม่รองรับสิ่งนี้ |
| Empty (a blank value) | userState เป็น SUPERVISED และไม่มีการเปลี่ยนแปลงสำคัญที่ส่ง หรือ userState เป็น UNKNOWN หรือ REQUIRED Apple App Store ไม่รองรับสิ่งนี้ | |
ageRangeId | App Store generated ID | ID ตัวอักษรและตัวเลขที่สร้างโดยมาร์เก็ตเพลซ Google Play Store : ID ที่ Google Play กำหนดให้สำหรับการติดตั้งของผู้ใช้ที่ได้รับการดูแล ซึ่งก็คือ installID ใช้สำหรับแจ้งการยกเลิกความเห็นชอบแอป ตรวจสอบเอกสารการยกเลิกความเห็นชอบแอปAmazon App Store : userId ของบัญชี AmazonApple App Store : ไม่รองรับ |
| Empty (a blank value) | userState เป็น UNKNOWN หรือ REQUIRED Apple App Store ไม่รองรับสิ่งนี้ |
ป็อปอัพการแชร์ช่วงอายุของ Apple App Store¶
ใน Apple App Store เมื่อมีการเรียก getAgeRange API จะมีป็อปอัพขอการแชร์ช่วงอายุแสดงขึ้น
เฉพาะผู้ใช้ที่เลือกแชร์ช่วงอายุเท่านั้นที่สามารถตรวจสอบช่วงอายุและสถานะการอนุมัติได้ หากปฏิเสธ จะได้รับสถานะ REQUIRED
การแจ้งเตือนการเปลี่ยนแปลงสำคัญในแอป¶
ตามข้อบังคับในบางเขตอำนาจศาลและภูมิภาค เมื่อมีการเปลี่ยนแปลงต่อไปนี้เกิดขึ้นในแอปเกม แอปเกมจะต้องแจ้งให้ผู้ปกครอง (ผู้อำนวยการ) ทราบเรื่องการเปลี่ยนแปลง และขอความเห็นชอบให้ผู้ใช้ที่เป็นเยาวชนสามารถใช้แอปต่อได้
- การเปลี่ยนแปลงการรวบรวม จัดเก็บ และการแชร์ข้อมูล
- การเปลี่ยนแปลงเรตติ้งอายุ
- การเพิ่มการซื้อในแอปหรือฟีเจอร์โฆษณาใหม่
- การเปลี่ยนแปลงประสบการณ์ผู้ใช้ เป็นต้น
แอปเกมสามารถตัดสินใจว่าจะแจ้งการเปลี่ยนแปลงและขอความเห็นชอบเมื่อไหร่ วิธีการแจ้งเตือนการเปลี่ยนแปลงสำหรับมาร์เก็ตเพลซแต่ละแห่งมีดังนี้:
- Google Play และ Amazon Appstore: การแจ้งเตือนผ่านคอนโซลนักพัฒนาที่ดำเนินการโดยมาร์เก็ตเพลซแต่ละแห่ง
- Apple App Store: การแจ้งเตือนโดยการเรียก showAgeRangeUpdatePermission API โดยตรงจากแอปเกม
showAgeRangeUpdatePermission API¶
สำหรับแอปที่แจกจ่ายในตลาด Apple App Store ให้เรียก showAgeRangeUpdatePermission API โดยตรงจากแอปเพื่อแจ้งให้ผู้ปกครอง (ผู้อำนวยการ) ทราบเรื่องการเปลี่ยนแปลงสำคัญและขอความเห็นชอบ
Note
เมื่อเขียนพารามิเตอร์ description ที่ส่งโดย showAgeRangeUpdatePermission API ให้ใช้ภาษาที่กระชับและเข้าใจง่าย เพื่อให้ผู้ปกครองสามารถเข้าใจอย่างชัดเจนว่ามีอะไรเปลี่ยนแปลงในแอป ผู้ปกครอง (ผู้อำนวยการ) จะตัดสินใจว่าจะให้ความเห็นชอบหรือไม่ตามคำอธิบายพารามิเตอร์นี้
ตัวอย่างโค้ดสำหรับการเรียก showAgeRangeUpdatePermission API มีดังนี้:
API Reference: Unity®
API Reference: C++
#include <HIVE_SDK_Plugin/HIVE_CPP.h>
using namespace std;
using namespace hive;
std::string description = "This update adds video calling and location sharing features.";
AuthV4::showAgeRangeUpdatePermission(description, [=](ResultAPI const & result, AgeRange const & ageRange) {
if (result.isSuccess()) {
// API call success
}
});
API Reference: Kotlin
import com.hive.AuthV4;
import com.hive.ResultAPI;
val description: String = "This update adds video calling and location sharing features."
AuthV4.showAgeRangeUpdatePermission(description, object : AuthV4.AuthV4GetAgeRangeListener {
override fun onAuthV4GetAgeRange(result: ResultAPI, ageRange: AuthV4.AgeRange?) {
if (result.isSuccess) {
// API call success
}
}
})
API Reference: Java
API Reference: Swift
API Reference: Objective-C
#include "HiveAuthV4.h"
FString Description = TEXT("This update adds video calling and location sharing features.");
FHiveAuthV4::ShowAgeRangeUpdatePermission(Description, FHiveAuthV4OnShowAgeRangeUpdatePermissionDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveAuthV4AgeRange& AgeRange) {
if (Result.IsSuccess()) {
// เรียกสำเร็จ
}
}));
การแจ้งเตือนการยกเลิกความเห็นชอบของผู้ปกครอง¶
ผู้ปกครอง (ผู้อำนวยการ) สามารถยกเลิกความเห็นชอบได้แม้จะได้ให้ความเห็นชอบการแจ้งเตือนการเปลี่ยนแปลงสำคัญในแอปแล้ว เมื่อมีการยกเลิกความเห็นชอบ ผู้ใช้ที่เป็นเยาวชนจะไม่สามารถเข้าถึงแอปได้อีกต่อไป
เมื่อผู้ปกครองยกเลิกความเห็นชอบ วิธีการตรวจสอบการแจ้งเตือนการยกเลิกผ่านมาร์เก็ตเพลซแต่ละแห่งมีดังนี้:
- Google Play: คุณสามารถยืนยันการยกเลิกโดยดาวน์โหลดรายการ
installIDจากหน้า Age SignalsinstallIdของ Google Play มีอายุการใช้งาน 3 เดือน แล้วจะถูกลบ
- Apple App Store: ส่งการแจ้งเตือนเรื่องการยกเลิกความเห็นชอบ
- Amazon Appstore: คุณสามารถทราบเรื่องการยกเลิกโดยดาวน์โหลด
userIdของ Amazon ในส่วนรายงานของคอนโซลนักพัฒนา
การตั้งค่าสิทธิ์ Age Range ตามเอ็นจินแต่ละตัวสำหรับ iOS¶
วิธีการตั้งค่าสิทธิ์ Age Range ในสภาพแวดล้อมเอ็นจินแต่ละตัวที่พัฒนาสำหรับเป้าหมาย iOS มีดังนี้
Native¶
เพื่อขอ Age Range API ในสภาพแวดล้อม Native ให้เพิ่มสิทธิ์ Declared Age Range ตามลำดับดังนี้:
- เลือกโปรเจ็คต์นักพัฒนาของคุณจาก project navigator ในหน้าต่างโปรเจ็คต์ Xcode
- เลือกแอปนักพัฒนาของคุณจากรายการ TARGETS
- คลิกแท็บ Signing & Capabilities
- คลิกปุ่ม + Capability ที่ด้านซ้ายบนของแท็บ Signing & Capabilities
- เลือก Declared Age Range จากรายการเพื่อเพิ่ม

- คุณจะเห็น Declared Age Range ที่เพิ่มเข้าในรายการ Signing & Capabilities
Unity¶
เพื่อขอ Age Range API ในสภาพแวดล้อม Unity ให้เพิ่มสิทธิ์ Declared Age Range ตามลำดับดังนี้ คุณสามารถตั้งค่านี้ได้ง่ายด้วย Unity editor
- เลือก Hive จากเมนูด้านบนของ Unity
- เลือก Build project post process setting > iOS

- เลือกช่องทำเครื่องหมาย Age Range ใน Hive PostProcess Editor(iOS)

- หลังจากส่งออกโปรเจ็คต์ iOS คุณจะเห็น Declared Age Range ที่เพิ่มเข้าในรายการ Signing & Capabilities
Unreal Engine¶
ในสภาพแวดล้อม Unreal Engine ให้เพิ่มสิทธิ์ Declared Age Range ผ่าน entitlements template ดังนี้ เพิ่มค่า key ลงในไฟล์ entitlements template ที่คุณใช้อยู่
หากคุณไม่ได้ใช้ template ให้อ้างอิงไฟล์ <แอป_โปรเจ็คต์_พาธ>/Plugins/HIVESDK/Source/HiveSDKiOS/template/HIVESDKV4Tester.entitlements


