Recommandations de lecteur
Téléchargements complets/progressifs
Pour un téléchargement complet, demandez le fichier complet en une fois. Pour un téléchargement progressif, demandez le fichier en tranches (plages d'octets). Cette méthode permet de distinguer les téléchargements complets des téléchargements progressifs.
Utilisez les informations d’en-tête (situées au début du podcast) pour empêcher le téléchargement complet lorsqu’il n’est pas nécessaire.
Désabonnement automatique
Utilise un comportement de « désabonnement du téléchargement automatique » (p. ex. arrêt du téléchargement automatique après 5 épisodes non écoutés).
Éviter le téléchargement automatique de l'ancien catalogue
Ne télécharge pas automatiquement tous les épisodes (p. ex. l'ancien catalogue des épisodes) par défaut. Cela surcharge sans raison les serveurs des éditeurs et gaspille la bande passante des utilisateurs.
Structure d'agent de l'utilisateur
Mettez en œuvre les recommandations relatives à la structure de l’agent utilisateur, telles qu’elles figurent dans les directives techniques de mesure des podcasts d'IAB Tech Lab v.2.2, section 7.2, « Structure de l’agent ».
Lecture automatique
Indicateur signalant si la session a été lancée à partir d'un lecteur automatique. Les valeurs possibles sont autoplay=0 (non lancé via la lecture automatique) et autoplay=1 (lancé via la lecture automatique). La lecture automatique du contenu audio est fortement déconseillée car dans certains cas, les flux diffusés automatiquement ne sont pas audibles, car le volume peut être mis en sourdine alors que le flux est toujours actif. Triton Digital recommande que tout déclenchement de la lecture instantanée d'un contenu audio soit déterminé par un geste direct de l'utilisateur, comme un tapotement ou un clic.
Préchargement/prélecture
Le préchargement d'un contenu audio est fortement déconseillé. Dans la plupart des cas, le flux audio ne sera pas entendu par l'auditeur et ne devrait donc pas être comptabilisé comme une session valide. La meilleure façon d'éviter les problèmes de mesure liés au chargement anticipé est tout simplement de ne pas en faire usage. Les recommandations énoncées ci-dessous devraient permettre de remédier au problème.
À privilégier : l’attribut de préchargement de l'élément <audio> doit être défini sur none. Il ne doit jamais être réglé sur auto ou laissé vide, car ces options transfèrent la décision au navigateur lui-même. Voir l’exemple de code ci-après.
Alternativement, l’attribut préchargement de l’élément <audio> inclut l’option metadata, qui récupère/précharge que les métadonnées audio. Cette solution ne devrait pas poser de problème.. Cependant, si vous choisissez d’utiliser preload="metadata" au lieu de preload="none", vous devez tester minutieusement le lecteur sur plusieurs plateformes et navigateurs afin de vous assurer que ceci est vraiment nécessaire et que tout se déroule comme prévu.
Exemples de code de préchargement/prélecture
Cliquez pour agrandir les exemples de code
Exemple de code1 : arrêt de l'audio
L'exemple de code ci-dessous interrompt l'audio et contourne le problème de « pause » du navigateur Safari.
stop: function () {
var context = this;
if ( fsm.is( STATE.STOPPED ) ) return;
this.audioNode = getAudioNode.call( this );
fsm.stop();
this.audioNode.pause();
if( OsPlatform.name !== 'Safari' || this.audioNode.src.indexOf('m3u8') > -1 || this.useHlsLibrary) {
setTimeout(function(){
context.audioNode.src = '';
context.url = null;
context.resetAudioNode();
}, 300);
}else{
setTimeout(function(){
context.url = null;
context.resetAudioNode();
}, 300);
}
if( OsPlatform.os.family === 'iOS' && OsPlatform.name === 'Chrome Mobile') {
window.stop();
}
if ( this.useHlsLibrary ) {
this.hls.detachMedia();
this.hls.stopLoad();
this.hls.destroy();
}
},
Exemple 2 : rafraîchissement de la page
Le code ci-dessous est un exemple de l'utilisation de preload="none" et du rafraîchissement de la page contenant le lecteur.
<audio controls preload="none" height="32" width="300" onpause="location.reload();" src="<PLAYER PAGE URL>" type="audio/mpeg" />
Remarques sur le code :
Remplacez « <PLAYER PAGE URL> » par l'URL réelle de votre page de lecteur.
Les attributs hauteur et largeur indiqués ne sont que des exemples ; utilisez la hauteur et la largeur réelles de votre lecteur.
Exemple 3 : utilisation d'un fichier audio valide et connu
L'exemple de code ci-dessous indique l'utilisation de preload="none" et le chargement d'un fichier MP3 court (fichier audio valide connu) pour interrompre le téléchargement du fichier en arrière-plan.
<audio controls preload="none" height="32" width="300" onplay="startAudio();" onpause="stopAudio();"
src="http://download.andomedia.com/Creative/208/0/2080711_1.mp3" type="audio/mpeg" />
<script>
// -- Set audio source before playing in case the pause/stop button has cleared it
function startAudio()
{
var audio = document.getElementsByTagName("audio")[0];
if (audio.src!="http://<YOUR-AUDIO-STREAM>")
{
audio.src="<YOUR-AUDIO-STREAM>";
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){ audio.load(); }
audio.play();
}
}
// -- Clear the audio source - this should stop the download. Pausing alone will not.
function stopAudio()
{
var audio = document.getElementsByTagName("audio")[0];
audio.src="http://download.andomedia.com/Creative/208/0/2080711_1.mp3";
if(navigator.userAgent.toLowerCase().indexOf('firefox') > -1){ audio.load(); }
}
</script>
Remarques sur le code :
Remplacez « http://<VOTRE FLUX AUDIO>» par la véritable URL de votre flux audio.
« audio.src="http://download.andomedia.com/Creative/208/0/2080711_1.mp3 » est un fichier audio silencieux en direct de trois secondes hébergé par Triton Digital que vous pouvez utiliser lors du test. Si vous souhaitez utiliser cette méthode après le test, veuillez remplacer cette URL par un lien vers votre propre fichier audio silencieux. Le fichier Triton Digital peut être renommé ou supprimé à tout moment et sans préavis.
Recommandations en matière d'hébergement, de répertoire et de serveur
En-têtes ID3
Les fichiers MP3 de podcast doivent utiliser des balises ID3v2 afin que les en-têtes soient situés au début du podcast. Cela permet au lecteur d'utiliser les données ID3 avant le début du streaming et sans devoir télécharger le fichier de podcast complet.
La taille recommandée de la balise ID3 est inférieure à 300 Ko avec une taille artistique de 800 x 800 pixels.
Ne stockez les épisodes en mémoire cache
Ne stockez pas vos épisodes de podcast en mémoire cache sur vos serveurs. Téléchargez toujours le dernier épisode depuis l'URL actuel pour chaque utilisateur d'appli qui souhaite l'écouter.
Utilisez GUID
Utilisez le GUID, et non l'URL, le titre, la date de publication de l'épisode, etc., pour identifier les nouveaux épisodes du flux RSS à charger automatiquement sur l'appareil d'un utilisateur. Le GUID est conçu pour être constant, même lorsque l'environnement d'hébergement et les titres changent.