Vegaペアレンタルコントロール
Vegaペアレンタルコントロールは、エンドユーザーのコンテンツ制限の設定に基づいて、ビデオコンテンツの視聴を一元的に制限する方法をアプリ開発者に提供します。
APIリファレンスについては、VegaペアレンタルコントロールAPIの概要を参照してください。
ユーザーは、ペアレンタルコントロールを初めて有効にするときにPINを作成します。それ以降、別のユーザーが制限されたビデオを視聴しようとすると、PINの入力を求めるプロンプトが表示されます。そのコンテンツにアクセスするには、そのユーザーが正しいPINを入力する必要があります。
コンテンツ制限レベルは、ユーザーが [設定] > [環境設定] > [機能制限] > [視聴制限] で設定します。

コンテンツレーティング
概念
レーティングシステム
レーティングシステムは、映画やTV番組などのビデオコンテンツに適用される基準です。たとえば、米国ではモーション・ピクチャー・アソシエーション(MPA)(英語のみ)とTV Parental Guidelines(英語のみ)のレーティング基準が一般に使用されています。韓国映画にはKorea Media Rating Board(英語のみ)の基準が使用されます。ほとんどのコンテンツレーティングシステムでは、対象とする視聴者の最少年齢が設定されています。
コンテンツレーティング
コンテンツレーティングは、これらのレーティングシステムのいずれかに従って特定のビデオに割り当てられる値です。たとえば、MPAは映画『タイタニック』にPG-13というレーティングを割り当てています。
コンテンツ記述子
レーティングシステムでは、コンテンツ記述子を使用してビデオに関するコンテンツ警告を指定できます。たとえば、TV Parental Guidelinesシステムでは、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;
}
// カタログサーバーから返される可能性のあるデータを疑似的に用意します。
// この例では、TV::PGとMPA::Xというレーティングはトランスレーターによって認識されないため、
// buildContentRatingはこれらに対して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;
}
}
// エラーが発生すると、コンテンツレーティングはundefinedになり、レーティングなしの
// レーティングなしのコンテンツ。この場合、ペアレンタルコントロールが有効であれば常に
// 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(Simplified Amazon Maturity Rating)レーティングシステムが割り当てられていない場合に使用されるデフォルトのレーティングシステムです。 |
| AR_TV | AR_TVは、アルゼンチンのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| AU_TV | AU_TVは、オーストラリアのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| BR_TV | BR_TVは、ブラジルのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| CA_TV_EN | CA_TV_ENは、カナダ(英語)のTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| CA_TV_FR | CA_TV_FRは、カナダ(フランス語)のTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| DTMB | DTMBコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| DVB | DVBコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| ES_DVB | ES_DVBは、スペインのDVBコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| FR_DVB | FR_DVBは、フランスのDVBコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| ISDB | ISDBコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| KR_TV | KR_TVは、韓国のTVコンテンツレーティングシステムです。https://developer.android.com/reference/android/media/tv/TvContentRating(英語のみ)を参照してください。 |
| IN_CBFC | CBFC(Central Board of Film Certification)は、インドのTVおよび映画コンテンツレーティングシステムです。Motion picture content rating system - India(英語のみ)を参照してください。 |
| JP_EIRIN | 映倫は、日本のTVおよび映画コンテンツレーティングシステムです。映画のレイティングシステム - 日本を参照してください。 |
| NZ_TV | NZ_TVは、ニュージーランドのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| SG_TV | SG_TVは、シンガポールのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| TH_TV | TH_TVは、タイのTVコンテンツレーティングシステムです。TvContentRating(英語のみ)を参照してください。 |
| BBFC | BBFC(British Board of Film Classification)は、英国のTVおよび映画コンテンツレーティングシステムです。映画のレイティングシステム - イギリスを参照してください。 |
| US_MV | US_MV(MPAまたはMPAA)は、米国の映画コンテンツレーティングシステムです。映画のレイティングシステム - アメリカ合衆国を参照してください。 |
| US_TV | US_TVは、TV Parental Guidelinesとも呼ばれる米国のTVコンテンツレーティングシステムです。TV Parental Guidelines(英語のみ)を参照してください。 |
| ZA_FPB | FPB(Film and Publication Board)は、南アフリカのTVおよび映画コンテンツレーティングシステムです。Motion picture content rating system - South Africa(英語のみ)を参照してください。 |
レーティングシステムごとの値と説明
レーティングシステム: 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レーティングの映画は、4歳以上の視聴者が視聴できます。UK_BBFC_PG- (保護者の助言・指導が必要)- 一般向けですが、一部のシーンは年少の子どもに適切でない場合がありあます。PGレーティングの映画は、8歳前後またはそれ以上の子どもを動揺させないものとします。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歳未満は禁止されています。認可された成人向け施設に制限されます。
コンテンツ記述子
以下は、米国とブラジルのTVレーティングに関する説明です。
レーティングシステム: 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- Drugs.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の入力画面を表示します。
ユーザーによるPINの入力を待つ間、アプリが一時停止される可能性があるため、gateContentPlayback関数は非同期に動作します。ペアレンタルコントロールが無効な場合やコンテンツが制限されていない場合、この関数はプロンプトを表示せずに解決されます。

前提条件
- コンテンツレーティングをVegaペアレンタルコントロールに渡すために、ビデオカタログのコンテンツレーティングへのアクセスが必要です。
- Vega向けReact Nativeアプリが必要です。
- Vega SDKバージョン0.12以降と、Vega SDKリリースノートで定義されている対応するデバイスソフトウェアが必要です。
プロジェクトへのペアレンタルコントロールの追加
package.jsonで、@amazon-devices/kepler-media-content-metadata@^1.0.0と@amazon-devices/kepler-parental-controls@^1.0.0への依存関係を追加します。
{
...
"dependencies": {
...
"@amazon-devices/kepler-media-content-metadata": "^1.0.0",
"@amazon-devices/kepler-parental-controls": "^1.0.0"
}
}
ペアレンタルコントロール権限の宣言
manifest.tomlファイルで、[wants.service]にcom.amazon.kepler.pcon.service.mainのエントリを追加します。
[[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"
コードサンプル
実際に機能するVegaペアレンタルコントロールの例は、Vega Video AppサンプルアプリのPlayerScreen.tsxに含まれています。
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) {
// デフォルトはundefinedで、「レーティングなし」のコンテンツレーティングを表します。
let contentRating;
try {
contentRating = await ContentMetadataComponent.makeContentRatingBuilder()
.ratingsSystem(videoData.ratingsSystem)
.rating(videoData.rating)
.build();
} catch (e) {
// ビルダーは、レーティングが無効な場合に例外をスローすることが
// あります。この場合は「レーティングなし」の動作(ペアレンタルコントロールが
// 有効であれば常にPINのプロンプトを表示)にフォールバックします。
console.error(`コンテンツレーティング${videoData.ratingsSystem}::${videoData.rating}を作成できませんでした:${e}`);
}
// コンテンツが制限されている場合は、ここでペアレンタルコントロールの
// UIに切り替わります。
const response = await ParentalControlsComponent.gateContentPlayback(contentRating);
if (response.canPlaybackProceed) {
// 許可されたらビデオを再生します。
videoPlayer.play(videoData);
} else {
// それ以外の場合は終了します。
navigateBack();
}
}
Last updated: 2025年9月30日

