步骤1:
纳入程序包依赖项
        纳入程序包依赖项
如果您的应用在安装应用时提供免费直播内容,或者您想在应用更新时更新频道时间表数据,则应创建或更新onInstallOrUpdateTask来计划您的EPG同步任务。否则,您可以跳过此步骤。
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"
定义应用在安装/更新时运行的任务,方法是在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同步任务');
  // 待办事项: 选择以下选项之一以安排EPG同步任务。
  // 如果多次调用“scheduleTask()”或“scheduleTaskWithExecutionWindow()”,
  // 则最新的EPG同步任务方法调用将在重新启动时履行并保留。
  // 选项1: 以给定的间隔安排EPG同步任务。
  // 如果启用了此项,请确保在tst/task/OnInstallOrUpdateTask.test.ts中启用了“scheduleTask”的测试。
  await EpgSyncTaskScheduler.scheduleTask(
    '<程序包ID>.epgSyncTask', // 同步任务的组件ID
    60 * 24, // 24小时(以分钟为单位)
  );
  // 选项2: 用执行窗口安排任务,即在UTC时间每天凌晨2点到4点之间运行任务。
  // 如果启用了此项,请确保在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日