Custom Media Player Guidelines
Learn how to implement your custom media player while ensuring accurate download and unique listener data.
What is a custom media player?
CoHost provides three kinds of media players so your audience can listen to your episodes or full show anywhere on the web. Our media players are optimized to play your podcast without delays and gather download and unique listener data.
What if I want to use my own media player?
In case you do not wish to use a CoHost-generated media player and would like to use a WordPress plugin or your own embed player instead, you will need to follow the below guidelines to ensure your downloads and unique listeners are correctly calculated.
Non-Technical Description
Your media players should not autoplay or preload the audio of your podcast. If a webpage with your custom media player starts playing the moment a webpage loads, it does not adhere to the measurement standards set by IAB compliance and may result in incorrect download reports.
Here’s what to do:
- For any option/setting which says preload, none should be selected.
- Preload=”” or preload=”auto” should not be selected, if present, as it will result in an autoplay.
- Any option/setting which allows you to disable autoplay should be selected.
Technical Description
Incorrect HTML Audio Tags
- <audio controls id="audio-example" preload="auto">
- <audio controls id="audio-example" preload="">
- <audio controls id="audio-example" autoplay>
- <audio controls id="audio-example" autoplay preload="none">
Correct HTML Audio Tags
- <audio controls id="audio-example" preload="none">
If you are using a third-party library like Amplitude.js or generating the media players using JavaScript, make sure to add preload=”none” as the attribute during the player initialization process. Extra steps should be added to make sure that the audio is not downloaded in full in the background to calculate the length of the audio.
Technical Guidelines
- Use ID3v2 tags, so that the headers are located at the start of the podcast (not at the end). This allows players to use the ID3 data ahead of streaming time without downloading the full podcast file.
- ID3 tag sizes - recommend that the ID3 size be limited to 300kb with 800x800 px max for the art.
- Do not modify the enclosure URL when requesting media, and don’t add extra parameters.
- Do not cache podcast episodes on your servers. Always download the latest episode from the enclosure URL for every app user wanting to listen.
- Use the GUID -- as opposed to episode URL, title, publication date, etc. -- to identify new episodes in the RSS feed that should be automatically downloaded to a user’s device. The GUID is designed to be persistent through changes to the hosting environment, titles, etc.
- Employ an “automatic download unsubscribe” behavior (e.g. - stop auto-downloads after 5 episodes of non-listens).