as

Settings
Sign out
Notifications
Alexa
Amazonアプリストア
AWS
ドキュメント
Support
Contact Us
My Cases
開発
設計と開発
公開
リファレンス
サポート

手順6: アプリのインストール時またはアップデート時にEPGタスクをスケジュールする

手順6: アプリのインストール時またはアップデート時にEPGタスクをスケジュールする

アプリのインストール時に無料のライブコンテンツを提供する場合や、アプリのアップデート時にチャンネルラインナップデータを更新する場合は、onInstallOrUpdateTaskを作成または更新して、EPG同期タスクをスケジュールする必要があります。そうでない場合は、この手順をスキップできます。

手順1: マニフェストファイルでonInstallOrUpdateTaskを宣言する

クリップボードにコピーしました。

[components]
## <その他のコンポーネント関連エントリ>
[[components.task]]
## 「アプリのインストール/アップデート時」に実行する必要があるタスクを定義します。
id = "<パッケージID>.onInstallOrUpdateTask"
runtime-module = "/com.amazon.kepler.headless.runtime.loader_2@IKeplerScript_2_0"

## 各コンポーネントのプロセスグループを定義します
[processes]
## <その他のプロセス関連エントリ>
[[processes.group]]
component-ids = ["<パッケージID>.onInstallOrUpdateTask"]

[tasks]
## インストール時とアプリのアップデート時にonInstallOrUpdateTaskタスクを実行するようにシステムに指示します。
[[tasks.work]]
component-id = "<パッケージID>.onInstallOrUpdateTask"
mode = "install"

手順2: アプリのタスクを定義する

srcフォルダに以下の内容のOnInstallOrUpdate.tsファイルを作成して、アプリのインストール/アップデート時のタスクを定義します。このタスクは、アプリのインストール時と(OTA)アップデート時に実行されることに注意してください。

クリップボードにコピーしました。

import {EpgSyncTaskScheduler} from '@amazon-devices/kepler-epg-sync-scheduler';
import { UtcTimePropertiesBuilder } from '@amazon-devices/kepler-epg-sync-scheduler';

const doTask = async (): Promise<void> => {
  console.info('EPG同期タスクのスケジュールを設定します');
  // TODO: 以下のオプションのいずれかを選択して、EPG同期タスクをスケジュールします。
  // scheduleTask()またはscheduleTaskWithExecutionWindow()を複数回呼び出した場合は、
  // 最後に呼び出したEPG同期タスクメソッドが有効になり、再起動しても永続化されます。

  // オプション1: EPG同期タスクを一定の間隔でスケジュールします。
  // これを有効にする場合は、tst/task/OnInstallOrUpdateTask.test.tsでscheduleTaskのテストが有効になっていることを確認してください。
  await EpgSyncTaskScheduler.scheduleTask(
    '<パッケージID>.epgSyncTask', // 同期タスクのコンポーネントID
    60 * 24, // 24時間を分で表した値
  );

  // オプション2: 実行時間帯を指定してタスクをスケジュールします。たとえば、毎日午前2時~午前4時(UTC)の間にタスクを実行します。
  // これを有効にする場合は、tst/task/OnInstallOrUpdateTask.test.tsでscheduleTaskWithExecutionWindowのテストが有効になっていることを確認してください。
  // let timeProperties = new UtcTimePropertiesBuilder()
  //   .startHour(2)
  //   .startMinute(0)
  //   .startSecond(0)
  //   .executionWindowInMinutes(120)
  //   .build();
  // await EpgSyncTaskScheduler.scheduleTaskWithExecutionWindow(
  //   '<パッケージID>.epgSyncTask', // 同期タスクのコンポーネントID
  //   timeProperties,
  // );
};

export default doTask;

onInstallOrUpdateタスクが実行されると、次のようなログが表示されます。

クリップボードにコピーしました。

INFO ktf.tm.nests:Successfully scheduled EPG Sync task

Last updated: 2025年9月30日