as

Settings
Sign out
Notifications
Alexa
亚马逊应用商店
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同步任务');
  // 待办事项: 选择以下选项之一以安排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日