手順1:
パッケージの依存関係を追加する
パッケージの依存関係を追加する
EPG同期タスクをスケジュールするには、onInstallOrUpdateTaskを作成または更新する必要があります。
onInstallOrUpdateTaskを宣言するonInstallOrUpdateTaskタスクが既に定義されている場合は、タスクを新たに作成しないでください。この手順をスキップし、手順2のロジックを既存のソースファイルにマージしてください。たとえば、OnInstallOrUpdate.tsファイルなどです。
[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"
srcフォルダに以下の内容のOnInstallOrUpdate.tsファイルを作成して、アプリのonInstallOrUpdateTaskを定義します。このタスクは、アプリのインストール時とアップデート時に実行されます。
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日