Developers » AS2 tagging » Android » Content » Media » Rich Media
Rich Media
Foreword
AT Internet’s SDK allows you to tag videos and audio media played by the user during app usage.
Get off to a good start
Once your tag has been initialised, you can begin tagging your videos and audio media.
If you want to use variables, be sure to import ATInternet, Tracker, MediaPlayer, Video, Audio, LiveVideo, LiveAudio, Medium and LiveMedium classes in your Activity.
Tagging
Rich Media tagging is not accounted for in the dispatch mechanism!
The tracker makes available a MediaPlayers object. This object exposes the following methods:
- add: Enables the addition of a new player and returns a MediaPlayer object
- remove: Delete a player
- removeAll: Delete all players
When a player is deleted, if media is currently being played or paused, a hit will be automatically sent in order to stop measurement.
@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(); }
Once a player is instantiated, it is possible to tag videos and audio media.
All objects listed below expose the following methods:
- sendPlay:
- < v2.9.0 : Sends a media play hit with a refresh hit sent automatically every 5 seconds
- >= v.2.9.0 : Sends a media play hit with a refresh hit sent automatically with intervals defined like this:
- Every 5 seconds during the first minute
- Every 15 seconds between the second and the fifth minute
- Every 30 seconds between the sixth and the tenth minute
- Every minute for play duration > 10 minutes
- sendPlay with int refresh period: Same as above, except it is possible to specify the refresh period (the specified parameter cannot be less than 5, which is the minimum period EXCEPT if the parameter is set to 0, in which case refreshing is not enabled!) (Deprecated in v2.9.0)
- sendPause: Sends a hit when media has been paused
- sendStop: Sends a hit when media playback has been stopped completely
- sendMove : Sends a hit when the player’s play cursor has been moved
- >= v.2.9.0 :
- sendPlay(SparseIntArray refreshDurations) : custom refresh interval can be defined
- sendPlayWithoutRefresh() :Sends a media play hit without refresh
- sendResume() : Resume media tracking preserved updated intervals
Video
The MediaPlayer object makes a Videos object available. This object exposes the following methods:
- add: Enables the addition of a video to the player and returns a Video object
- remove: Deletes a video
- removeAll: Deletes all videos
Tagging examples
- Tagging a video play with refresh period by default
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); } }
- Tagging a video play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging a video with full information
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.setAction(RichMedia.Action.Play); video.setBuffering(false); video.setMediaTheme1("Theme"); video.setMediaTheme2("Sub-Theme"); video.setMediaTheme3("Sub-Sub-Theme"); video.setMediaLabel("Label"); video.setLevel2(15); video.setDuration(90); video.setEmbedded(false); } @Override protected void onResume() { super.onResume(); /// < 2.9.0 video.sendPlay(0); /// >= 2.9.0 video.sendPlayWithoutRefresh(); } }
- Tagging a video ‘pause’
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(); } }
- Tagging a video ‘stop’
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(); } }
- Tagging video information
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); } }
- Tagging others action on the video
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(); } }
LiveVideo
The MediaPlayer object makes a LiveVideos object available. This object exposes the following methods:
- add: Enables the addition of a live video to the player and returns a LiveVideo object
- remove: Deletes a live video
- removeAll: Deletes all live videos
Tagging examples
- Tagging a live video play without refresh
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); } }
- Tagging a live video play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging a live video ‘pause’
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(); } }
- Tagging a live video ‘stop’
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(); } }
- Tagging video live information
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); } }
- Tagging others actions on the video 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(); } }
Audio
The MediaPlayer object makes an Audios object available. This object exposes the following methods:
- add: Enables the addition of audio media to the player and returns an Audio object.
- remove: Deletes an audio media
- removeAll: Deletes all audio media
Tagging examples
- Tagging audio media play without refresh
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); } }
- Tagging audio media play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging an audio media ‘pause’
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(); } }
- Tagging an audio media ‘stop’
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(); } }
- Tagging information 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); } }
- Tagging others action on the 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(); } }
LiveAudio
The MediaPlayer object makes a LiveAudios object available. This object exposes the following methods:
- add: Enables the addition of live audio media to the player and returns a LiveAudio object.
- remove: Deletes a live audio media
- removeAll: Deletes all live audio media
Tagging examples
- Tagging a live audio media play without refresh
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); } }
- Tagging a live audio media play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging a live audio media ‘pause’
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(); } }
- Tagging a live audio media ‘stop’
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(); } }
- Tagging information 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); } }
- Tagging others actions on the 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(); } // Custom method private void othersActions(){ liveAudio.sendMove(); liveAudio.sendShare(); liveAudio.sendEmail(); liveAudio.sendDownload(); liveAudio.sendFavor(); } }
The MediaPlayer object makes a Media object available. This object exposes the following methods:
- add : Enables the addition of medium to the player and returns a Medium object
- remove : Deletes a medium
- removeAll : Deletes all media
Tagging examples
- Tagging play medium without refresh
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(); } }
- Tagging a medium play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging medium pause
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(); } }
- Tagging medium stop
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(); } }
- Tagging information 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); } }
- Tagging others actions on the 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(); } }
The MediaPlayer object makes a LiveMedia object available. This object exposes the following methods:
- add :Enables the addition of live medium to the player and returns a LiveMedium object
- remove : Deletes a live medium
- removeAll : Deletes all live media
Tagging examples
- Tagging medium play without refresh
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); } }
- Tagging a live medium play with refresh (refresh period cannot be less than 5 seconds)
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); } }
- Tagging live medium pause
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(); } }
- Tagging live medium stop
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(); } }
- Tagging live medium information
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); } }
- Tagging others action on the live medium
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(); } }
Since 2.10.0 release, it’s possible to measure buffering delay for every media type
Tagging examples
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); } }
- Starting a playback without buffering
medium.sendPlay();
- Starting a playback with buffering
medium.sendPlay(true);
- Resume the playback after buffering
medium.sendInfo(false);
- Buffering for an ongoing playback
medium.sendInfo(true);
Shared properties
Name | Type | Default value | Description |
---|---|---|---|
mediaLabel | String | Empty string | Gets or sets the label of the viewed media |
mediaTheme1 | String | null | Gets or sets the first theme |
mediaTheme2 | String | null | Gets or sets the second theme |
mediaTheme3 | String | null | Gets or sets the third theme |
mediaLevel2 | Int | -1 | Gets or sets the level 2 ID |
isEmbedded | Bool? | false | Indicates if the media is external to the application |
webdomain | String | null | Gets or sets the media referrer in case of external placements (isEmbedded at true) |
linkedContent | String | null | Gets or sets the label/name of the content related to an ad (pre-roll, mid-roll or post-roll) |
MediaPlayer class
Properties
Name | Type | Default value | Description |
---|---|---|---|
playerId | Int | 1 | Gets or sets the player ID |
Videos | Videos | null | Gets the instance allowing video management |
Audios | Audios | null | Gets the instance allowing audio media management |
Media (>= 2.10.0) | Media | null | Gets the instance allowing media management |
LiveVideos | LiveVideos | null | Gets the instance allowing live video management |
LiveAudios | LiveAudios | null | Gets the instance allowing live audio media management |
LiveMedia (>= 2.10.0) | LiveMedia | null | Gets the instance allowing live media management |
Management of player ID is automatic but you can nonetheless specify one.
Video class
Properties
Name | Type | Default value | Description |
---|---|---|---|
duration | Int | 0 | Gets or sets total video length, in seconds |
Audio class
Properties
Name | Type | Default value | Description |
---|---|---|---|
duration | Int | 0 | Gets or sets total audio media length, in seconds |
Medium class
Properties
Name | Type | Default value | Description |
---|---|---|---|
duration | Int | 0 | Gets or sets total media length, in seconds |
Methods
Name | Return type | Description |
---|---|---|
sendPlay() (< 2.9.0) | void | Sends a play hit with an automatic refresh of 5 seconds |
sendPlay() (>=2.9.0) | void | Sends a play hit with an automatic refresh defined by interval |
sendPlay(boolean isBuffering) (>=2.10.0) | void | Sends a play hit with an automatic refresh defined by interval with buffering specification |
sendPlay(int refreshDuration) (deprecated in 2.9.0) | void | Sends the play hit with an automatic refresh, given in parameters (0 = refresh disabled) |
sendPlay(SparseIntArray refreshDurations) (>= 2.9.0) | void | Sends the play hit with an automatic custom interval in parameters |
sendPlay(SparseIntArray refreshDurations, boolean isBuffering) (>= 2.10.0) | void | Sends the play hit with an automatic custom interval in parameters with buffering specification |
sendPlayWithoutRefresh() (>= 2.9.0) | void | Sends the play hit without refresh |
sendPlayWithoutRefresh(boolean isBuffering) (>= 2.10.0) | void | Sends the play hit without refresh with buffering specification |
sendResume() (>= 2.9.0) | void | Resume media tracking preserved state |
sendResume(boolean isBuffering) (>= 2.10.0) | void | Resume media tracking preserved state with buffering specification |
sendPause | void | Sends ‘pause’ hit |
sendStop | void | Sends ‘stop’ hit |
sendInfo() (>= 2.10.0) | void | Sends an information hit |
sendInfo(boolean isBuffering) (>= 2.10.0) | void | Sends an information hit with buffering specification |
sendMove | void | Sends ‘play cursor’ movement hit |
sendShare (>= 2.10.0) | void | Sends share hit |
sendEmail (>= 2.10.0) | void | Sends email hit |
sendFavor (>= 2.10.0) | void | Sends favor hit |
sendDownload (>= 2.10.0) | void | Sends download hit |