Vega家长监护
Vega家长监护为应用开发者提供了一种集中式方法,可根据最终用户的内容限制设置,对视频内容的观看加以限制。
有关API参考,请参阅Vega家长监护API概述。
用户在首次启用家长监护时会创建PIN。之后,当其他用户遇到受限视频时,将出现PIN提示。该用户必须输入正确的PIN才能访问该内容。
内容限制级别由用户在Settings(设置)> Preferences(首选项)> Parental Controls(家长监护)> Viewing Restrictions(浏览限制)中设置。

内容评级
概念
评级系统
评级系统是视频内容(例如电影和电视节目)的一种标准。例如,美国电影协会 (MPA) 和电视节目家长指南是美国常用的评级标准。韩国映像物等级委员会是韩国电影的评级标准。大多数内容评级系统都为观众设定了建议的最低年龄。
内容评级
根据这些评级系统之一将内容评级分配给特定视频。例如,MPA将电影《泰坦尼克号》的评级定为PG-13。
内容描述符
评级系统可能会使用内容描述符来指定有关视频的内容警告。例如,电视节目家长指南评级系统在TV-14评级中使用描述符D、L、S和V(性暗示对话、粗俗语言、色情内容和暴力)。
构建内容评级
内容评级在代码中表示为可以传递至家长监护API函数的对象。@amazon-devices/kepler-media-content-metadata NPM程序包定义了这些内容评级对象。内容评级构建器的典型用法如下所示。
import { ContentMetadataComponent } from '@amazon-devices/kepler-media-content-metadata';
// 在MPA评级系统中定义PG的内容评级。
const contentRating = await ContentMetadataComponent.makeContentRatingBuilder()
.ratingsSystem('US_TV')
.rating('US_TV_Y7')
// 内容描述符数组是可选的。您可以传递一个空数组,或者
// 直接省略这个设值函数的调用。
.contentDescriptors(['US_TV_FV'])
.build();
对于播放视频目录提供的内容的应用,ratingsSystem和rating值来自目录元数据,而不是硬编码字符串。Vega保留了一组标准字符串来表示每个评级系统和每个评级,因此应用必须将这些字符串转换为标准Vega字符串。以下为示例。
import { ContentMetadataComponent } from '@amazon-devices/kepler-media-content-metadata';
interface VideoData {
contentRating: string;
}
// 模拟可能从目录服务器中返回的内容。
// 在此示例中,buildContentRating将对
// 评级TV::PG和MPA::X返回undefined(未评级),因为我们的翻译器未能识别它们。
async function fetchVideoData(): Promise<VideoData[]> {
return [
{ contentRating: 'MPA::G' },
{ contentRating: 'MPA::PG' },
{ contentRating: 'MPA::PG-13' },
{ contentRating: 'TV::PG' }, // 无法识别的评级
{ contentRating: 'MPA::R' },
{ contentRating: 'MPA::NC-17' },
{ contentRating: 'MPA::X' }, // 无法识别的评级
]
}
// 这个函数的用途是将来自目录服务器的这些
// 评级字符串翻译成标准Vega评级字符串。
// 在本例中,我们只知道如何翻译MPA评级。
async function buildContentRating(videoData: VideoData): Promise<ContentRating|undefined> {
let ratingsSystem: string = '';
let rating: string = '';
const [catalogRatingSystem, catalogRating] = videoData.contentRating.split('::');
switch (catalogRatingSystem) {
case 'MPA':
ratingsSystem = 'US_MV';
switch (catalogRating) {
case 'G':
rating = 'US_MV_G';
break;
case 'PG':
rating = 'US_MV_PG';
break;
case 'PG-13':
rating = 'US_MV_PG13';
break;
case 'R':
rating = 'US_MV_R';
break;
case 'NC-17':
rating = 'US_MV_NC17';
break;
}
}
// 出现错误时,我们会收到未定义的内容评级,这表示
// 未评级的内容。如果启用了家长监护,这种情况总是会触发PIN
// 提示。TV:: PG和MPA::X在这里会引发错误,因为
// 传递的是构建器不允许的空字符串。
let result;
try {
result = await ContentMetadataComponent.makeContentRatingBuilder()
.ratingsSystem(ratingsSystem)
.rating(rating)
.build();
} catch(e) {
console.log(`构建内容评级失败:${videoData.contentRating} -> ${ratingsSystem}::${rating}\n${e}`);
}
return result;
}
受支持的内容评级系统和其标识符列表
评级系统
| 值 | 描述 |
|---|---|
| SAMR | SAMR,简化的亚马逊年龄评级。这是未分配评级系统时使用的默认评级系统。 |
| AR_TV | AR_TV,阿根廷的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| AU_TV | AU_TV,澳大利亚的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| BR_TV | BR_TV,巴西的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| CA_TV_EN | CA_TV_EN,加拿大的电视内容评级系统(英语)。请参阅TvContentRating(仅提供英文版)。 |
| CA_TV_FR | CA_TV_FR,加拿大的电视内容评级系统(法语)。请参阅TvContentRating(仅提供英文版)。 |
| DTMB | DTMB,DTMB内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| DVB | DVB,DVB内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| ES_DVB | ES_DVB,西班牙DVB内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| FR_DVB | FR_DVB,法国DVB内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| ISDB | ISDB,ISDB内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| KR_TV | KR_TV,韩国电视内容评级系统。请参阅https://developer.android.com/reference/android/media/tv/TvContentRating(仅提供英文版)。 |
| IN_CBFC | CBFC,又名“中央电影认证委员会”,是印度的电视和电影内容评级系统。请参阅电影内容评级系统 - 印度(仅提供英文版)。 |
| JP_EIRIN | 映伦,日本的电视和电影内容评级系统。请参阅电影内容评级系统 - 日本。 |
| NZ_TV | NZ_TV,新西兰的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| SG_TV | SG_TV,新加坡的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| TH_TV | TH_TV,泰国的电视内容评级系统。请参阅TvContentRating(仅提供英文版)。 |
| UK_BBFC | BBFC,英国电影分级委员会。这是英国的电视和电影内容评级系统。请参阅电影内容评级系统 - 英国。 |
| US_MV | US_MV(MPA或MPAA)是美国的电影内容评级系统。请参阅美国电影分级制度。 |
| US_TV | US_TV,又名“电视节目家长指南”,是美国的电视内容评级系统。请参阅家长指南(仅提供英文版)。 |
| ZA_FPB | FPB,电影和出版委员会。南非的电视和电影内容评级系统。请参阅电影内容评级系统 - 南非(仅提英文版)。 |
包含值和描述的评级系统
评级系统: SAMR
SAMR_ALL- 所有年龄段的观众均可观看。SAMR_7- 建议7岁及以上观众观看。SAMR_13- 建议13岁及以上观众观看。SAMR_16- 建议16岁及以上观众观看。SAMR_18- 建议18岁及以上观众观看。SAMR_NR- 未评级。
评级系统: AR_TV
AR_TV- 适合所有观众观看。节目可能包含轻微的暴力、粗俗语言和成人情境。AR_TV_SAM_13- 适合13岁及以上观众观看。节目可能包含轻度至中度粗俗语言以及轻度暴力和性暗示。AR_TV_SAM_16- 适合16岁及以上观众观看。节目可能包含较激烈的暴力和粗俗语言、部分裸露内容和中度的性暗示。AR_TV_SAM_18- 仅适合成人观众观看。节目包含重度暴力、粗俗语言和露骨的性暗示。AR_TV_C- 适合18岁及以上观众观看。仅限于获特别许可的场地。
评级系统: AU_TV
AU_TV_P- 建议年龄在2到11岁之间的年幼儿童观看。AU_TV_C- 建议年龄在5到14岁之间的大龄儿童观看。AU_TV_G- 所有年龄段的观众均可观看。AU_TV_PG- 建议15岁以下的年幼观众在家长指导下观看。AU_TV_M- 建议15岁及以上的成人观众观看。AU_TV_MA- 由于存在性描述、粗俗语言、成人主题或吸毒,不适合15岁以下的儿童和青少年观看。AU_TV_AV- 不适合15岁以下的儿童和青少年观看。该类别专门用于有暴力内容的节目。AU_TV_R- 不适合18岁以下的儿童观看。内容可能包含暴力画面、性情境、粗俗语言和露骨吸毒情景。AU_TV_X- 仅限18岁及以上观众观看。此分类是一个特殊且受法律限制的类别,仅包含性暴露内容。
评级系统: BR_TV
BR_TV_ER- 特别推荐儿童观看。BR_TV_L- 内容适合所有观众观看。BR_TV_10- 内容适合10岁以上观众观看。BR_TV_12- 内容适合12岁以上观众观看。BR_TV_14- 内容适合14岁以上观众观看。BR_TV_16- 内容适合16岁以上观众观看。BR_TV_18- 内容适合18岁以上观众观看。
评级系统: CA_TV_EN
CA_TV_EN_EXEMPT- 不受评级限制。CA_TV_EN_C- 适合2-7岁儿童观看。CA_TV_EN_C8- 适合8岁及以上儿童观看。CA_TV_EN_G- 适合整个家庭观看。CA_TV_EN_PG- 可能包含中度暴力、亵渎、裸露和性内容。CA_TV_EN_14- 面向14岁及以上的观众。CA_TV_EN_18- 面向18岁及以上的观众。
评级系统: CA_TV_FR
CA_TV_FR_E- 不受评级限制。CA_TV_FR_G- 适合所有年龄段的观众观看。CA_TV_FR_8- 适合8岁儿童观看。CA_TV_FR_13- 适合13岁儿童观看。CA_TV_FR_16- 建议16岁以上观众观看。CA_TV_FR_18- 仅限成人观看。
评级系统: DTMB
DTMB_4- 建议4岁及以上观众观看。DTMB_5- 建议5岁及以上观众观看。DTMB_6- 建议6岁及以上观众观看。DTMB_7- 建议7岁及以上观众观看。DTMB_8- 建议8岁及以上观众观看。DTMB_9- 建议9岁及以上观众观看。DTMB_10- 建议10岁及以上观众观看。DTMB_11- 建议11岁及以上观众观看。DTMB_12- 建议12岁及以上观众观看。DTMB_13- 建议13岁及以上观众观看。DTMB_14- 建议14岁及以上观众观看。DTMB_15- 建议15岁及以上观众观看。DTMB_16- 建议16岁及以上观众观看。DTMB_17- 建议17岁及以上观众观看。DTMB_18- 建议18岁及以上观众观看。
评级系统: DVB
DVB_4- 建议4岁及以上观众观看。DVB_5- 建议5岁及以上观众观看。DVB_6- 建议6岁及以上观众观看。DVB_7- 建议7岁及以上观众观看。DVB_8- 建议8岁及以上观众观看。DVB_9- 建议9岁及以上观众观看。DVB_10- 建议10岁及以上观众观看。DVB_11- 建议11岁及以上观众观看。DVB_12- 建议12岁及以上观众观看。DVB_13- 建议13岁及以上观众观看。DVB_14- 建议14岁及以上观众观看。DVB_15- 建议15岁及以上观众观看。DVB_16- 建议16岁及以上观众观看。DVB_17- 建议17岁及以上观众观看。DVB_18- 建议18岁及以上观众观看。
评级系统: ES_DVB
ES_DVB_ALL- 所有年龄段的观众均可观看。ES_DVB_C- 建议儿童观看。ES_DVB_X- 建议成人观看。ES_DVB_4- 建议4岁及以上观众观看。ES_DVB_5- 建议5岁及以上观众观看。ES_DVB_6- 建议6岁及以上观众观看。ES_DVB_7- 建议7岁及以上观众观看。ES_DVB_8- 建议8岁及以上观众观看。ES_DVB_9- 建议9岁及以上观众观看。ES_DVB_10- 建议10岁及以上观众观看。ES_DVB_11- 建议11岁及以上观众观看。ES_DVB_12- 建议12岁及以上观众观看。ES_DVB_13- 建议13岁及以上观众观看。ES_DVB_14- 建议14岁及以上观众观看。ES_DVB_15- 建议15岁及以上观众观看。ES_DVB_16- 建议16岁及以上观众观看。ES_DVB_17- 建议17岁及以上观众观看。ES_DVB_18- 建议18岁及以上观众观看。
评级系统: FR_DVB
FR_DVB_U- 所有年龄段的观众均可观看。FR_DVB_4- 建议4岁及以上观众观看。FR_DVB_5- 建议5岁及以上观众观看。FR_DVB_6- 建议6岁及以上观众观看。FR_DVB_7- 建议7岁及以上观众观看。FR_DVB_8- 建议8岁及以上观众观看。FR_DVB_9- 建议9岁及以上观众观看。FR_DVB_10- 建议10岁及以上观众观看。FR_DVB_11- 建议11岁及以上观众观看。FR_DVB_12- 建议12岁及以上观众观看。FR_DVB_13- 建议13岁及以上观众观看。FR_DVB_14- 建议14岁及以上观众观看。FR_DVB_15- 建议15岁及以上观众观看。FR_DVB_16- 建议16岁及以上观众观看。FR_DVB_17- 建议17岁及以上观众观看。FR_DVB_18- 建议18岁及以上观众观看。
评级系统: ISDB
ISDB_4- 建议4岁及以上观众观看。ISDB_5- 建议5岁及以上观众观看。ISDB_6- 建议6岁及以上观众观看。ISDB_7- 建议7岁及以上观众观看。ISDB_8- 建议8岁及以上观众观看。ISDB_9- 建议9岁及以上观众观看。ISDB_10- 建议10岁及以上观众观看。ISDB_11- 建议11岁及以上观众观看。ISDB_12- 建议12岁及以上观众观看。ISDB_13- 建议13岁及以上观众观看。ISDB_14- 建议14岁及以上观众观看。ISDB_15- 建议15岁及以上观众观看。ISDB_16- 建议16岁及以上观众观看。ISDB_17- 建议17岁及以上观众观看。ISDB_18- 建议18岁及以上观众观看。ISDB_19- 建议19岁及以上观众观看。- 观众
ISDB_20- 建议20岁及以上观众观看。
评级系统: KR_TV
KR_TV_ALL- 适合所有年龄段的观众观看。KR_TV_7- 可能包含不适合7岁以下儿童的素材,应由家长自行决定。KR_TV_12- 可能被认为不适合12岁以下观众,应由家长自行决定。KR_TV_15- 可能不适合15岁以下的儿童,应由家长自行决定。KR_TV_19- 仅限成人观看。
评级系统: IN_CBFC
IN_CBFC_U- 不受限制的公开展览。IN_CBFC_UA- 不受限制的公共展览,但12岁以下的儿童需要在家长指导下观看。IN_CBFC_A- 仅限成人观看。IN_CBFC_S- 仅限任何特殊类别的观众观看。
评级系统: JP_EIRIN
JP_EIRIN_G- 普通内容,适合所有年龄段的观众观看。JP_EIRIN_PG12- 12岁以下的年幼观众需要在家长指导下观看。JP_EIRIN_R15- 15岁以下观众禁止观看。JP_EIRIN_R18- 18岁以下观众禁止观看。
评级系统: NZ_TV
NZ_TV_G- 不含可能不适合儿童观看的素材的节目。节目不一定是为儿童观众而设计,但不应包含可能使其感到恐慌或痛苦的素材。NZ_TV_PGR- 包含更适合成人观众的素材的节目,但如果有家长或成人指导,不一定不适合儿童观众。NZ_TV_AO- 包含成人主题且主要面向成人观众的节目。
评级系统: SG_TV
SG_TV_G- 适合所有年龄段的观众观看。SG_TV_PG- 适合所有人,但年幼观众应在父母指导下观看。SG_TV_PG13- 适合13岁及以上观众,但建议13岁以下儿童在家长指导下观看。SG_TV_NC16- 适合16岁及以上观众观看。SG_TV_M18- 适合18岁及以上观众观看。SG_TV_R21- 适合21岁及以上成人观看。
评级系统: TH_TV
TH_TV_4- 适合3至5岁观众观看。TH_TV_6- 适合6至12岁观众观看。TH_TV_10- 适合所有观众观看。TH_TV_13- 建议13岁以下的观众在家长指导下观看。TH_TV_18- 建议年龄在18岁以下的观众在家长指导下观看。TH_TV_19- 不适合儿童和青少年观看。
评级系统: UK_BBFC
UK_BBFC_U-(通用内容 - 适合所有人)- 评级为U的电影应适合四岁及以上观众观看。UK_BBFC_PG-(家长指导)- 一般观看内容,但某些场景可能不适合年幼儿童。PG评级的电影不应让八岁或以上的儿童感到不安。UK_BBFC_12-(适合12岁及以上)- 分类为12A的电影和分类为12的视频作品所含的素材通常不适合12岁以下的儿童。除非有成人陪同,否则12岁以下的观众不得在电影院看评级为12A的电影。未满12岁的观众不得租赁或购买评级为12的视频作品。UK_BBFC_12A-(适合12岁及以上)- 分类为12A的电影和分类为12的视频作品所含的素材通常不适合12岁以下的儿童。除非有成人陪同,否则12岁以下的观众不得在电影院看评级为12A的电影。未满12岁的观众不得租赁或购买评级为12的视频作品。UK_BBFC_15-(仅适合15岁及以上)- 不允许15岁以下的观众在电影院观看评级为15的电影或购买/租赁评级为15的视频。UK_BBFC_18-(仅适合成人)- 18岁以下的任何观众不得在电影院看评级为18的电影或购买/租赁评级为18的视频。UK_BBFC_R18-(只能在获得特别许可的电影院放映,或仅在获得许可的性用品商店中提供,且仅限成人观看)- R18类别是一种特殊且受法律限制的分类,主要针对自愿性行为的露骨作品或涉及成人的重度恋物素材。电影只能在获得特别许可的电影院向成人放映,并且视频作品只能在获得许可的性用品商店向成年人提供。评级为R18的视频作品可能无法以邮购方式提供。
评级系统: US_MV
US_MV_G- 面向普通观众。所有年龄段的观众均可观看。US_MV_PG- 建议在家长指导下观看。某些素材可能不适合儿童观看。US_MV_PG13- 家长需高度谨慎。某些素材可能不适合13岁以下儿童观看。US_MV_R- 受限内容。17岁以下的儿童需要在父母或成年监护人陪同下观看。US_MV_NC17- 17岁及以下观众禁止观看。
评级系统: US_TV
US_TV_Y- 面向所有儿童。US_TV_Y7- 面向大龄儿童。US_TV_G- 面向普通观众。US_TV_PG- 建议在家长指导下观看。US_TV_14- 家长需高度谨慎。US_TV_MA- 仅限成人观众观看。
评级系统: ZA_FPB
ZA_FPB_A- 适合所有观众观看。ZA_FPB_PG- 须在家长指导下观看。ZA_FPB_7_9PG- 不适合7岁以下儿童观看。除非有成人陪同,否则禁止7-9岁儿童观看。ZA_FPB_10_12PG- 不适合10岁以下儿童观看。除非有成人陪同,否则禁止10–12岁儿童观看。ZA_FPB_13- 不适合13岁以下儿童观看。ZA_FPB_16- 不适合16岁以下观众观看。ZA_FPB_18- 不适合18岁以下观众观看。ZA_FPB_X18- 18岁以下观众禁止观看;仅限于获得许可的成人场所。
内容描述符
以下是对美国和巴西电视评级的一些描述。
评级系统: US_TV
US_TV_FV- 幻想式暴力。仅适用于US_TV_Y7。US_TV_D- 性暗示对话。适用于US_TV_PG和US_TV_14。US_TV_L- 粗鄙或粗俗的语言。适用于US_TV_PG、US_TV_14和US_TV_MA。US_TV_S- 性情境。适用于US_TV_PG、US_TV_14和US_TV_MA。US_TV_V- 暴力。适用于US_TV_PG、US_TV_14和US_TV_MA。
评级系统: BR_TV
BR_TV_D- 毒品。适用于BR_TV_L、BR_TV_10、BR_TV_12、BR_TV_14、BR_TV_16和BR_TV_18。BR_TV_S- 性爱。适用于BR_TV_L、BR_TV_10、BR_TV_12、BR_TV_14、BR_TV_16和BR_TV_18。BR_TV_V- 暴力。适用于BR_TV_L、BR_TV_10、BR_TV_12、BR_TV_14、BR_TV_16和BR_TV_18。
内容限制级别 (CRL)
内容限制级别 (CRL) 是一种最终用户配置,定义了允许应用在不使用PIN验证的情况下呈现的最具成人倾向的内容(假设已启用家长监护)。每个级别均以反向DNS字符串表示,适用的限制级别因地区而异。
下表描述了不同的级别以及它们在不同评级系统中对应的内容。
| 内容限制级别 | 评级系统 | 评级 |
|---|---|---|
| com.amazon.kepler.parental_controls/content_restriction_levels/au/g | AU_TVAU_TV |
AU_TV_PAU_TV_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/au/pg | AU_TV |
AU_TV_PG |
| com.amazon.kepler.parental_controls/content_restriction_levels/au/m | AU_TVAU_TV |
AU_TV_CAU_TV_M |
| com.amazon.kepler.parental_controls/content_restriction_levels/au/ma_15+ | AU_TVAU_TV |
AU_TV_MAAU_TV_AV |
| com.amazon.kepler.parental_controls/content_restriction_levels/au/r_18+ | AU_TVAU_TV |
AU_TV_RAU_TV_X |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/l | BR_TVBR_TV |
BR_TV_ERBR_TV_L |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/10 | BR_TV |
BR_TV_10 |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/12 | BR_TVAU_TV |
BR_TV_12 |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/14 | BR_TVAU_TV |
BR_TV_14 |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/16 | BR_TVAU_TV |
BR_TV_16 |
| com.amazon.kepler.parental_controls/content_restriction_levels/br/18 | BR_TVAU_TV |
BR_TV_18 |
| com.amazon.kepler.parental_controls/content_restriction_levels/ca/general | CA_TV_ENCA_TV_ENCA_TV_FR |
CA_TV_EN_CCA_TV_EN_GCA_TV_FR_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/ca/family | CA_TV_ENCA_TV_ENCA_TV_FR |
CA_TV_EN_C8CA_TV_EN_PGCA_TV_FR_8 |
| com.amazon.kepler.parental_controls/content_restriction_levels/ca/teen | CA_TV_ENCA_TV_ENCA_TV_FR |
CA_TV_EN_C8CA_TV_EN_PGCA_TV_FR_13 |
| com.amazon.kepler.parental_controls/content_restriction_levels/ca/young_adults | CA_TV_ENCA_TV_FR |
CA_TV_EN_14CA_TV_FR_16 |
| com.amazon.kepler.parental_controls/content_restriction_levels/ca/mature | CA_TV_ENCA_TV_FRCA_TV_ENCA_TV_FR |
CA_TV_EN_18CA_TV_FR_18CA_TV_EN_EXEMPTCA_TV_FR_E |
| com.amazon.kepler.parental_controls/content_restriction_levels/de/general | DVBDVB |
DVB_4DVB_5 |
| com.amazon.kepler.parental_controls/content_restriction_levels/de/family | DVBDVBDVBDVBDVBDVB |
DVB_6DVB_7DVB_8DVB_9DVB_10DVB_11 |
| com.amazon.kepler.parental_controls/content_restriction_levels/de/teen | DVBDVBDVBDVBDVBDVB |
DVB_12DVB_13DVB_14DVB_15DVB_16DVB_17 |
| com.amazon.kepler.parental_controls/content_restriction_levels/de/mature | DVB |
DVB_18 |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/general | IN_CBFC |
IN_CBFC_U |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/family | IN_CBFC |
IN_CBFC_UA |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/teen | IN_CBFC |
IN_CBFC_UA |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/young_adults | IN_CBFC |
IN_CBFC_UA |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/mature | IN_CBFCIN_CBFC |
IN_CBFC_AIN_CBFC_S |
| com.amazon.kepler.parental_controls/content_restriction_levels/jp/general | JP_EIRIN |
JP_EIRIN_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/jp/family | JP_EIRIN |
JP_EIRIN_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/jp/teen | JP_EIRIN |
JP_EIRIN_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/jp/young_adults | JP_EIRIN |
JP_EIRIN_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/jp/mature | JP_EIRIN |
JP_EIRIN_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/nz/general | NZ_TV |
NZ_TV_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/nz/family | NZ_TV |
NZ_TV_PGR |
| com.amazon.kepler.parental_controls/content_restriction_levels/nz/teen | NZ_TV |
NZ_TV_PGR |
| com.amazon.kepler.parental_controls/content_restriction_levels/nz/young_adults | NZ_TV |
NZ_TV_PGR |
| com.amazon.kepler.parental_controls/content_restriction_levels/nz/mature | NZ_TV |
NZ_TV_AO |
| com.amazon.kepler.parental_controls/content_restriction_levels/sg/general | SG_TV |
SG_TV_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/sg/family | SG_TV |
SG_TV_PG |
| com.amazon.kepler.parental_controls/content_restriction_levels/sg/teen | SG_TV |
SG_TV_PG13 |
| com.amazon.kepler.parental_controls/content_restriction_levels/sg/young_adults | SG_TV |
SG_TV_NC16 |
| com.amazon.kepler.parental_controls/content_restriction_levels/in/mature | SG_TVSG_TV |
SG_TV_M18SG_TV_R21 |
| ccom.amazon.kepler.parental_controls/content_restriction_levels/uk/general | UK_BBFCDVBDVBDVBDVB |
UK_BBFC_UDVB_4DVB_5DVB_6DVB_7 |
| com.amazon.kepler.parental_controls/content_restriction_levels/uk/family | UK_BBFCDVBDVBDVBDVB |
UK_BBFC_PGDVB_8DVB_9DVB_10DVB_11 |
| com.amazon.kepler.parental_controls/content_restriction_levels/uk/teen | UK_BBFCUK_BBFCDVBDVBDVBDVBDVBDVB |
UK_BBFC_12UK_BBFC_12ADVB_12DVB_13DVB_14DVB_15DVB_16DVB_17 |
| com.amazon.kepler.parental_controls/content_restriction_levels/uk/young_adults | UK_BBFC |
UK_BBFC_15 |
| com.amazon.kepler.parental_controls/content_restriction_levels/uk/mature | UK_BBFCUK_BBFCDVB |
UK_BBFC_18UK_BBFC_R18DVB_18 |
| com.amazon.kepler.parental_controls/content_restriction_levels/us/general | US_MVUS_MVUS_MV |
US_MV_GUS_TV_YUS_TV_G |
| com.amazon.kepler.parental_controls/content_restriction_levels/us/family | US_MVUS_TVUS_TV |
US_MV_PGUS_TV_Y7US_TV_PG |
| com.amazon.kepler.parental_controls/content_restriction_levels/us/teen | US_MVUS_TV |
US_MV_PG13US_TV_PG |
| com.amazon.kepler.parental_controls/content_restriction_levels/us/young_adults | US_MVUS_TV |
US_MV_PG13US_TV_14 |
| com.amazon.kepler.parental_controls/content_restriction_levels/us/mature | US_MVUS_MVUS_TV |
US_MV_RUS_MV_NC17US_TV_MA |
| com.amazon.kepler.parental_controls/content_restriction_levels/za/general | ZA_FPB |
ZA_FPB_A |
| com.amazon.kepler.parental_controls/content_restriction_levels/za/family | ZA_FPBZA_FPBZA_FPB |
ZA_FPB_PGZA_FPB_7_9PGZA_FPB_10_12PG |
| com.amazon.kepler.parental_controls/content_restriction_levels/za/teen | ZA_FPB |
ZA_FPB_13 |
| com.amazon.kepler.parental_controls/content_restriction_levels/za/young_adults | ZA_FPB |
ZA_FPB_16 |
| com.amazon.kepler.parental_controls/content_restriction_levels/za/mature | ZA_FPBZA_FPB |
ZA_FPB_18ZA_FPB_X18 |
以编程方式查询内容限制级别
可以查询内容限制级别,并且应用可以使用它以其他方式影响用户体验,例如在适用内容上显示受限徽标。此API返回内容限制级别的名称和定义CRL的评级列表。应用无法设置CRL,只能对其进行查询。CRL由最终用户在应用设置中设定。
import { ParentalControlsComponent } from '@amazon-devices/kepler-parental-controls';
const preferenceReader = ParentalControlsComponent.makePreferenceReader();
const crl = preferenceReader.getContentRestrictionLevel();
console.log(JSON.stringify(crl, undefined, 2));
/* 输出示例:
{
"name": "com.amazon.kepler.parental_controls/content_restriction_levels/us/teen",
"allowedContentRatings": [
{
"ratingLevel": {
"ratingsSystem": "US_MV",
"rating": "US_MV_PG13"
},
"contentDescriptors": []
},
{
"ratingLevel": {
"ratingsSystem": "US_TV",
"rating": "US_TV_PG"
},
"contentDescriptors": []
}
]
}
*/
集成家长监护以进行内容限制管理
要集成Vega家长监护,请调用具有内容评级的gateContentPlayback函数,并通过指定是否应继续播放来处理其响应。Vega家长监护负责将内容评级与内容限制级别进行比较,并在需要时要求输入PIN。
gateContentPlayback函数是异步的,因为它可能会在等待用户输入PIN时暂停应用。此函数可能会在没有提示的情况下进行解析,如果禁用了家长监护或内容不受限制,就会出现这种情况。

先决条件
- 您必须有权访问视频目录的内容评级,这样才能将内容评级传递至Vega家长监护。
- 您必须有一个适用于Vega的React Native应用。
- 您必须拥有Vega SDK版本0.12或更高版本,以及Vega SDK发行说明中定义的相应设备软件。
为您的项目添加家长监护
向@amazon-devices/kepler-media-content-metadata@^1.0.0和@amazon-devices/kepler-parental-controls@^1.0.0添加package.json依赖项。
{
...
"dependencies": {
...
"@amazon-devices/kepler-media-content-metadata": "^1.0.0",
"@amazon-devices/kepler-parental-controls": "^1.0.0"
}
}
声明家长监护权限
在您的manifest.toml文件中,在com.amazon.kepler.pcon.service.main中添加 [wants.service] 条目。
[[wants.service]]
id = "com.amazon.kepler.pcon.service.main"
然后为您需要调用的每种Vega家长监护添加一个[needs.privilege]条目。该条目通常就是com.amazon.kepler.parental_controls.gates.restricted-content-playback。@amzn_kepler-parental-controls-docs.zip中记录了每一项所需的权限。
[[needs.privilege]]
id = "com.amazon.kepler.parental_controls.gates.restricted-content-playback"
代码示例
在VegaVideoApp示例应用的PlayerScreen.tsx中可以找到Vega家长监护的实例。
import { ContentMetadataComponent } from '@amazon-devices/kepler-media-content-metadata';
import { ParentalControlsComponent } from '@amazon-devices/kepler-parental-controls';
// 这些评级字符串代表标准的Vega评级字符串。
// 有关从目录元数据翻译字符串的讨论,
// 请参阅“构建内容评级”。
interface VideoData {
ratingsSystem: string;
rating: string;
...
}
async function playVideo(videoData: VideoData) {
// 默认设置为未定义的“未评级”内容评级。
let contentRating;
try {
contentRating = await ContentMetadataComponent.makeContentRatingBuilder()
.ratingsSystem(videoData.ratingsSystem)
.rating(videoData.rating)
.build();
} catch (e) {
// 如果评级无效,构建器可能
// 引发异常。在该情况下,我们会直接回退到“未评级”行为(如果启用了家长监护,
// 始终会显示PIN提示)。
console.error(`构建内容评级失败${videoData.ratingsSystem}::${videoData.rating}: ${e}`);
}
// 如果内容受限,则该处将由家长监护
// 用户界面接管。
const response = await ParentalControlsComponent.gateContentPlayback(contentRating);
if (response.canPlaybackProceed) {
// 如果允许则播放视频……
videoPlayer.play(videoData);
} else {
// ……否则退出。
navigateBack();
}
}
Last updated: 2025年9月30日

