Developers » AS2 tagging » Android » Contenus de l'application » Media » Rich Media
Rich Media
Avant-propos
Le SDK Internet vous permet de marquer les vidéos et médias audio joués par l’utilisateur durant l’utilisation de
l’application.
Pour bien débuter
Une fois votre marqueur initialisé, vous pouvez débuter le marquage de vos vidéos et de vos média audio.
Dans le cas où vous utilisez
des variables, veillez à importer les classes ATInternet, Tracker, MediaPlayer, Video, Audio, LiveVideo, LiveAudio,
Medium et LiveMedium dans votre Activity.
Marquage
Le marquage RichMedia n’est
pas pris en compte dans la mécanique du dispatch !
Le tracker met à disposition un objet MediaPlayers. Cet objet expose les méthodes suivantes :
- add : Permet de renseigner un nouveau player et retourne un objet MediaPlayer
- remove : Supprime un player
- removeAll : Supprime tous les players
Lors de la suppression d’un player, si un média est en cours de lecture ou en pause, un hit sera automatiquement envoyé afin d’arrêter la mesure.
@Override protected void onResume() { super.onResume(); // New player with ID MediaPlayer player1 = tracker.Players().add(78); // New player with default ID MediaPlayer player2 = tracker.Players().add(); // Remove the player 78 tracker.Players().remove(78); // Remove all the players tracker.Players().removeAll(); }
Une fois qu’un player est instancié, il est possible de marquer les vidéos et média audio.
Tous les objets présentés
ci-dessous expose les méthodes suivantes :
- sendPlay() :
- < 2.9.0 : Envoie un hit de lecture d’un média avec un hit de rafraîchissement
envoyé automatiquement toutes les 5 secondes- >= 2.9.0 : Envoie un hit de lecture d’un média avec un hit de rafraîchissement
envoyé automatiquement en suivant la définition des paliers suivants:
- Toutes les 5 secondes pendant la première minute
- Toutes les 15 secondes entre la seconde et la cinquième minute
- Toutes les 30 secondes entre la sixième et la dixième minute
- Toutes les minutes à partir d’une durée de lecture > 10 minutes
- sendPlay(int refreshDuration) (déprecié en version 2.9.0) : Idem sauf qu’il est possible
de préciser la période de rafraîchissement (le paramètre renseigné ne peut être inférieur à 5 qui est la
période minimale SAUF si le paramètre vaut 0 auquel cas le rafraîchissement n’est pas activé !)- sendPause : Envoie un hit de mise en pause du média
- sendStop : Envoie un hit d’arrêt complet de la lecture du média
- sendMove : Envoie un hit de déplacement du curseur de lecture du player
- >= 2.9.0 :
- sendPlay(SparseIntArray refreshDurations) : Donne la possibilité de définir les paliers de
rafraichissement- sendPlayWithoutRefresh() : Envoie un hit de lecture d’un média sans rafraichissement
- sendResume() : Permet de reprendre la lecture d’un média mis en pause en conservant les paliers de
rafraichissement actualisés
L’objet MediaPlayer met à disposition un objet Videos. Cet objet
expose les méthodes suivantes :
- add : Permet d’ajouter une vidéo au player et retourne un objet Video
- remove : Supprime une vidéo
- removeAll : Supprime toutes les vidéos
Exemples de marquage
- Marquage d’une lecture de vidéo sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 video.sendPlay(0); /// >= 2.9.0 video.sendPlayWithoutRefresh(); /// >= 2.10.0 (with buffering) video.sendPlayWithoutRefresh(true); } }
- Marquage d’une lecture de vidéo avec rafraîchissement (la période de rafraîchissement ne peut pas être
inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); // < 2.9.0 // Refresh period : 5s video.sendPlay(); // >= 2.9.0 // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min video.sendPlay(); /// >= 2.10.0 (with buffering) video.sendPlay(true); // < 2.9.0 // Refresh period : 10s video.sendPlay(10); // >= 2.9.0 // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); video.sendPlay(refresh); /// >= 2.10.0 (with buffering) video.sendPlay(refresh, true); } }
- Marquage d’une lecture de vidéo avec l’ensemble de ses informations
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 20); video.setMediaTheme1("Theme"); video.setMediaTheme2("Sub-Theme"); video.setMediaTheme3("Sub-Sub-Theme"); video.setMediaLabel("Label"); video.setMediaLevel2(15); video.setDuration(90); video.setEmbedded(false); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 video.sendPlay(0); /// >= 2.9.0 video.sendPlayWithoutRefresh(); /// >= 2.10.0 (with buffering) video.sendPlayWithoutRefresh(true); } }
- Marquage d’une pause dans la vidéo
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); video.sendPlay(); } @Override protected void onPause() { super.onPause(); video.sendPause(); } }
- Marquage d’un stop dans la vidéo
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); video.sendPlay(); } @Override protected void onStop() { super.onStop(); video.sendStop(); } }
- Marquage d’information de la vidéo
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); video.sendPlay(); video.sendInfo(); /// With buffering video.sendInfo(true); } }
- Marquage d’une autre action de la vidéo
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.Video; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Video video; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); video = player.Videos().add("The Movie", 90); } @Override protected void onResume() { super.onResume(); video.sendPlay(); } // Custom method private void othersActions(){ video.sendMove(); video.sendShare(); video.sendEmail(); video.sendDownload(); video.sendFavor(); } }
L’objet MediaPlayer met à disposition un objet LiveVideos. Cet
objet expose les méthodes suivantes :
- add : Permet d’ajouter une vidéo live au player et retourne un objet LiveVideo
- remove : Supprime une vidéo live
- removeAll : Supprime toutes les vidéos live
Exemples de marquage
- Marquage d’une lecture de vidéo live sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 liveVideo.sendPlay(0); /// >= 2.9.0 liveVideo.sendPlayWithoutRefresh(); /// >= 2.10.0 (with buffering) liveVideo.sendPlayWithoutRefresh(true); } }
- Marquage d’une lecture de vidéo live avec rafraîchissement (la période de rafraîchissement ne peut pas être
inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); // < 2.9.0 // Refresh period : 5s liveVideo.sendPlay(); // >= 2.9.0 // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min liveVideo.sendPlay(); /// >= 2.10.0 (with buffering) liveAudio.sendPlay(true); // < 2.9.0 // Refresh period : 10s liveVideo.sendPlay(10); // >= 2.9.0 // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); liveVideo.sendPlay(refresh); /// >= 2.10.0 (with buffering) liveVideo.sendPlay(refresh, true); } }
- Marquage d’une pause dans la vidéo live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); liveVideo.sendPlay(); } @Override protected void onPause() { super.onPause(); liveVideo.sendPause(); } }
- Marquage d’un stop dans la vidéo live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); liveVideo.sendPlay(); } @Override protected void onStop() { super.onStop(); liveVideo.sendStop(); } }
- Marquage d’information sur une vidéo live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); liveVideo.sendPlay(); liveVideo.sendInfo(); /// with buffering liveVideo.sendInfo(true); } }
- Marquage d’une autre action sur une vidéo live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; import com.atinternet.tracker.LiveVideo; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveVideo liveVideo; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveVideo = player.LiveVideos().add("LiveVideo"); } @Override protected void onResume() { super.onResume(); liveVideo.sendPlay(); } // Custom method private void othersAction() { liveVideo.sendMove(); liveVideo.sendShare(); liveVideo.sendDownload(); liveVideo.sendFavor(); liveVideo.sendEmail(); } }
L’objet MediaPlayer met à disposition un objet Audios. Cet objet
expose les méthodes suivantes :
- add : Permet d’ajouter un média audio au player et retourne un objet Audio
- remove : Supprime un média audio
- removeAll : Supprime tous les médias audios
Exemples de marquage
- Marquage d’une lecture de média audio sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 audio.sendPlay(0); /// >= 2.9.0 audio.sendPlayWithoutRefresh(); /// >= 2.10.0 (with buffering) audio.sendPlayWithoutRefresh(true); } }
- Marquage d’une lecture de média audio avec rafraîchissement (la période de rafraîchissement ne peut pas être
inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); // < 2.9.0 // Refresh period : 5s audio.sendPlay(); // >= 2.9.0 // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min audio.sendPlay(); /// >= 2.10.0 (with buffering) audio.sendPlay(true); // < 2.9.0 // Refresh period : 10s audio.sendPlay(10); // >= 2.9.0 // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); audio.sendPlay(refresh); /// >= 2.10.0 (with buffering) audio.sendPlay(refresh, true); } }
- Marquage d’une pause dans le média audio
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); audio.sendPlay(); } @Override protected void onPause() { super.onPause(); audio.sendPause(); } }
- Marquage d’un stop dans le média audio
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); audio.sendPlay(); } @Override protected void onStop() { super.onStop(); audio.sendStop(); } }
- Marquage d’information du média audio
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); audio.sendPlay(); audio.sendInfo(); /// With buffering audio.sendinfo(true); } }
- Marquage d’une autre action du média audio
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Audio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Audio audio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); audio = player.Audios().add("NewSong", 4); } @Override protected void onResume() { super.onResume(); audio.sendPlay(); } // Custom method private void othersActions(){ audio.sendMove(); audio.sendShare(); audio.sendEmail(); audio.sendDownload(); audio.sendFavor(); } }
L’objet MediaPlayer met à disposition un objet LiveAudios. Cet
objet expose les méthodes suivantes :
- add : Permet d’ajouter un média audio live au player et retourne un objet LiveAudio
- remove : Supprime un média audio live
- removeAll : Supprime tous les médias audio live
Exemples de marquage
- Marquage d’une lecture de média audio live sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 liveAudio.sendPlay(0); /// >= 2.9.0 liveAudio.sendPlayWithoutRefresh(); /// >= 2.10.0 (with buffering) liveAudio.sendPlayWithoutRefresh(true); } }
- Marquage d’une lecture de média audio live avec rafraîchissement (la période de rafraîchissement ne peut pas
être inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); // < 2.9.0 // Refresh period : 5s liveAudio.sendPlay(); // >= 2.9.0 // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min liveAudio.sendPlay(); /// >= 2.10.0 (with buffering) liveAudio.sendPlay(true); // < 2.9.0 // Refresh period : 10s liveAudio.sendPlay(10); // >= 2.9.0 // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); liveAudio.sendPlay(refresh); /// >= 2.10.0 (with buffering) liveAudio.sendPlay(refresh, true); } }
- Marquage d’une pause dans le média audio live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); liveAudio.sendPlay(); } @Override protected void onPause() { super.onPause(); liveAudio.sendPause(); } }
- Marquage d’un stop dans le média audio live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); liveAudio.sendPlay(); } @Override protected void onStop() { super.onStop(); liveAudio.sendStop(); } }
- Marquage d’information du live audio
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); liveAudio.sendPlay(); liveAudio.sendInfo(); /// With buffering liveAudio.sendInfo(true); } }
- Marquage d’une autre action du média audio live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveAudio; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveAudio liveAudio; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveAudio = player.LiveAudios().add("LiveAudio"); } @Override protected void onResume() { super.onResume(); liveAudio.sendPlay(); } // Custom method private void othersActions(){ liveAudio.sendMove(); liveAudio.sendShare(); liveAudio.sendEmail(); liveAudio.sendDownload(); liveAudio.sendFavor(); } }
L’objet MediaPlayer met à disposition un objet Media. Cet objet
expose les méthodes suivantes :
- add : Permet d’ajouter un medium au player et retourne un objet Medium
- remove : Supprime un medium
- removeAll : Supprime tous les média
Exemples de marquage
- Marquage d’une lecture de medium sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); medium.sendPlayWithoutRefresh(); } }
- Marquage d’une lecture de medium avec rafraîchissement (la période de rafraîchissement ne peut pas être
inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min medium.sendPlay(); /// (with buffering) medium.sendPlay(true); // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); medium.sendPlay(refresh); /// (with buffering) medium.sendPlay(refresh, true); } }
- Marquage d’une pause dans le medium
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); medium.sendPlay(); } @Override protected void onPause() { super.onPause(); medium.sendPause(); } }
- Marquage d’un stop dans le medium
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); medium.sendPlay(); } @Override protected void onStop() { super.onStop(); medium.sendStop(); } }
- Marquage d’information du medium
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); medium.sendPlay(); medium.sendInfo(); /// with buffering medium.sendInfo(true); } }
- Marquage d’une autre action sur un medium
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("MyMedium", "customType", 3); } @Override protected void onResume() { super.onResume(); medium.sendPlay(); } // Custom method private void othersActions(){ medium.sendMove(); medium.sendShare(); medium.sendEmail(); medium.sendDownload(); medium.sendFavor(); } }
L’objet MediaPlayer met à disposition un objet LiveMedia. Cet objet
expose les méthodes suivantes :
- add : Permet d’ajouter un medium live au player et retourne un objet LiveMedium
- remove : Supprime un medium live
- removeAll : Supprime tous les média live
Exemples de marquage
- Marquage d’une lecture de medium live sans rafraîchissement
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); liveMedium.sendPlayWithoutRefresh(); /// (with buffering) liveMedium.sendPlayWithoutRefresh(true); } }
- Marquage d’une lecture de medium live avec rafraîchissement (la période de rafraîchissement ne peut pas être
inférieure à 5s)package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); // Refresh definitions : // 0 < x < 1 min : 5s // 1 < x < 5 min : 15s // 5 < x < 10 min : 30s // 10 < x min : 1 min liveMedium.sendPlay(); ///(with buffering) liveMedium.sendPlay(true); // Refresh definitions : // 0 < x < 2 min : 10s // 2 < x < 6 min : 15s // 6 < x min : 30s SparseIntArray refresh = new SparseIntArray(); refresh.append(0, 10); refresh.append(2, 15); refresh.append(6, 30); liveMedium.sendPlay(refresh); ///(with buffering) liveMedium.sendPlay(refresh, true); } }
- Marquage d’une pause dans le medium live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); liveMedium.sendPlay(); } @Override protected void onPause() { super.onPause(); liveMedium.sendPause(); } }
- Marquage d’un stop dans le medium live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); liveMedium.sendPlay(); } @Override protected void onStop() { super.onStop(); liveMedium.sendStop(); } }
- Marquage d’information du medium live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); liveMedium.sendPlay(); liveMedium.sendInfo(); /// with buffering liveMedium.sendInfo(true); } }
- Marquage d’une autre action du medium live
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.LiveMedium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private LiveMedium liveMedium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); liveMedium = player.LiveMedia().add("LiveMedium", "customType"); } @Override protected void onResume() { super.onResume(); liveMedium.sendPlay(); } // Custom method private void othersActions(){ liveMedium.sendMove(); liveMedium.sendShare(); liveMedium.sendEmail(); liveMedium.sendDownload(); liveMedium.sendFavor(); } }
Depuis la version 2.10.0, il est désormais possible de mesurer le temps de mise en cache (buffering) d’un média quel qu’il soit.
Exemples de marquage
package com.atinternet.atinternetdemo; import android.app.Activity; import android.os.Bundle; import com.atinternet.tracker.ATInternet; import com.atinternet.tracker.Medium; import com.atinternet.tracker.MediaPlayer; import com.atinternet.tracker.Tracker; public class MainActivity extends Activity { private Tracker tracker; private MediaPlayer player; private Medium medium; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tracker = ATInternet.getInstance().getDefaultTracker(); player = tracker.Players().add(); medium = player.Media().add("Medium", "customType", 56); } }
- Lancement d’une lecture sans mise en cache
medium.sendPlay();
- Lancement d’une lecture avec mise en cache
medium.sendPlay(true);
- Reprise de la lecture suite à une mise en cache
medium.sendInfo(false);
- Mise en cache pour une lecture en cours
medium.sendInfo(true);
Classe MediaPlayer
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
playerId | Int | 1 | Obtient ou définit l’identifiant du player |
Videos | Videos | null | Obtient l’instance permettant de gérer les vidéos |
Audios | Audios | null | Obtient l’instance permettant de gérer les médias audio |
Media (>= 2.10.0) | Media | null | Obtient l’instance permettant de gérer les média |
LiveVideos | LiveVideos | null | Obtient l’instance permettant de gérer les vidéos live |
LiveAudios | LiveAudios | null | Obtient l’instance permettant de gérer les médias audio live |
LiveMedia (>= 2.10.0) | LiveMedia | null | Obtient l’instance permettant de gérer les média live |
La gestion de l’identifiant
du player est automatique mais vous pouvez cependant en spécifier un.
Propriétés communes
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
mediaLabel | String | Chaîne vide | Obtient ou définit le label du média visionné |
mediaTheme1 | String | null | Obtient ou définit le premier thème |
mediaTheme2 | String | null | Obtient ou définit le second thème |
mediaTheme3 | String | null | Obtient ou définit le troisième thème |
mediaLevel2 | Int | -1 | Obtient ou définit l’identifiant du niveau 2 |
isEmbedded | Boolean | false | Indique si le média est externe à l’application |
webDomain | String | null | Obtient ou définit le referrer du média dans le cas de contenu externe (isEmbedded à true) |
linkedContent | String | null | Obtient ou définit le libellé du contenu lié à une publicité (pre-roll, mid-roll ou post-roll) |
Classe Video
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
duration | Int | 0 | Obtient ou définit la durée total de la vidéo en seconde |
Classe Audio
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
duration | Int | 0 | Obtient ou définit la durée total du média audio en seconde |
Classe Medium
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
duration | Int | 0 | Obtient ou définit la durée total du medium en seconde |
Méthodes
sendInfo(boolean isBuffering)voidEnvoi du hit d’information de lecture en spécifiant s’il y a du buffering
Nom | Type de retour | Description |
---|---|---|
sendPlay() (< 2.9.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique de 5 secondes |
sendPlay() (>=2.9.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique définit par paliers (voir plus haut) |
sendPlay(boolean isBuffering) (>= 2.10.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique définit par paliers (voir plus haut) en spécifiant s’il y a du buffering |
sendPlay(int refreshDuration) (déprécié en 2.9.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique donné en paramètre (0 = désactivation du rafraîchissement) |
sendPlay(SparseIntArray refreshDurations) (>= 2.9.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique en respectant les paliers définit en paramètre |
sendPlay(SparseIntArray refreshDurations) (>= 2.10.0) | void | Envoi du hit de lecture avec un rafraîchissement automatique en respectant les paliers définit en paramètre en spécifiant s’il y a du buffering |
sendPlayWithoutRefresh() (>= 2.9.0) | void | Envoi du hit de lecture sans rafraîchissement |
sendPlayWithoutRefresh(boolean isBuffering) (>= 2.10.0) | void | Envoi du hit de lecture sans rafraîchissement en spécifiant s’il y a du buffering |
sendResume() (>= 2.9.0) | void | Reprise de la mesure de la lecture en l’état |
sendResume(boolean isBuffering) (>= 2.10.0) | void | Reprise de la mesure de la lecture en l’état en spécifiant s’il y a du buffering |
sendPause | void | Envoi du hit de pause |
sendStop | void | Envoi du hit de stop |
sendMove | void | Envoi du hit de mouvement du curseur de lecture |
sendInfo() (>= 2.10.0) | void | Envoi du hit d’information de lecture |
sendInfo(boolean isBuffering) (>= 2.10.0) | void | Envoi du hit d’information de lecture en spécifiant s’il y a du buffering |
sendShare (>= 2.10.0) | void | Envoi du hit de partage |
sendEmail (>= 2.10.0) | void | Envoi du hit d’email |
sendFavor (>= 2.10.0) | void | Envoi du hit de mise en favori |
sendDownload (>= 2.10.0) | void | Envoi du hit de téléchargement |