Skip to main content
View as Markdown

Install skill

Give your AI coding agent the zapp-pipes-cw-fav skill so it can build this integration on its own.

1. Install it

Run this in your terminal, from your project root:

npx skills add https://docs.applicaster.com --skill zapp-pipes-cw-fav

In the agent picker, select your agent.

2. Use it

In your agent, paste this prompt (or just ask it to build the integration using the installed skill):

Use the zapp-pipes-cw-fav skill to help me implement the Applicaster "Continue Watching Feed" guide. Ask me about the requirements first, then build.

Continue Watching Feed

Introduction

Customers that want to implement the remote "continue watching" feature, should implement 3 API gateways:

  1. A POST URL to video.stopped Cloud Event that will be sent anytime the user stopped the video player.
  2. A Synced feed that the app will query periodically to get information about the remote list of unfinished videos (See bellow)
  3. Optional - A full JSON feed with a list of all of unfinished videos to show inside a component

Synced feed

The plugin will request on app launch + every hour the feed to retrieve the list of server stored resume watching list.

The structure of the feed should be written in the following format:



{
"entry": [
{
"id": "296bed86-11dc-43c3-9aaf-bfb25600ad2a", // the unique id of the video
"extensions": {
"resumeLastUpdate": <TIMESTAMP>
"resumeTime": "<Number of seconds from the beginning of the video from which playback should start when playing this item>",
"progress": 0.43 // number between 0 - 1 indecating the progress of the fed
"resumeCompleted": true // When set to true, the app will use this info to remove the video from the list
}
}
}, {...}, {...}
]
}
  • The app will call the feed at app launch + every hour to sync and retrieve the most up to date list of videos.

  • The feed should follow the Pipes2 endpoints spec. Probably it will need to use the user’s id as a context key to be able to return a personalized list.

  • The response of the feed will be merged with the local resume watching list as follows:

    • Local list and remote feed items will be ordered by timestamp.

    • If local and remote feeds share the same id they will be merged to a single item - (the latest timestamp remote / local will “win” in case of conflicts”.

  • The list will be filtered to store the max list size determined by the plugin config settings.