Ce document décrit l’application créée à l’aide de la version 2.0 du SDK Brightcove pour iOS. Si vous voulez en savoir plus sur le SDK, dont les documents à télécharger pour commencer à créer vos applications pour l'iPhone, consultez la rubrique Guide de démarrage avec le SDK iOS de Brightcove.
Veuillez télécharger le fichier source One Planet pour iPhone.
Il est possible que vous connaissiez déjà l’application One Planet qui a fait l'objet d'un article précédent. Le présent article traite d’une application parallèle propre à l’iPhone et à l’iPod Touch, à la différence de l’application en ligne accessible à l'aide du navigateur Safari. Pour plus de simplicité, nous utiliserons la dénomination « One Planet » pour faire référence à l’application test.
Vous pourrez également consulter les autres documents relatifs au SDK pour iOS de Brightcove :
Voici un aperçu de One Planet :
Nous avons mis au point One Planet à l’aide du SDK pour iOS de Brightcove et les API médias de Brightcove (Lecture). Ce SDK, actuellement en phase de développement, offre une structure qui permettra de créer votre application iOS native à même de diffuser les vidéos Brightcove sur l'iPhone, l'iPad et les autres périphériques iOS. En savoir plus sur l’installation et l’utilisation du SDK Brightcove pour iOS.
Vous pouvez lancer One Planet de deux manières sur votre périphérique :
Avant d’installer One Planet sur votre appareil à l’aide d’Xcode, vous devrez demander et obtenir un certificat de développement et un profil provisoire. Pour ce faire, consultez le Programme des développeurs pour l’iPhone sur Apple Developer Connection.
L’installation par Xcode suppose que vous ayez déjà Xcode et le SDK pour iPhone de Brightcove installés sur votre ordinateur. Téléchargez le SDK pour iOS et ouvrez le fichier BrightcoveDemo.Xcodeproj. Vous pouvez exécuter One Planet à l'aide de votre périphérique ou par le simulateur d'iPhone d'Xcode. Si vous décidez d’installer et d’exécuter One Planet sur votre périphérique, veillez à ce que votre appareil soit connecté à Internet. Une fois la cible de l'installation choisie, cliquez sur Build & Go et One Planet créera, installera et exécutera les fichiers sur la cible.
One Planet est disponible sur l'iTunes Store. Après avoir téléchargé et installé l’application, sélectionnez-la à l’aide de l’écran de votre appareil.
Le meilleur moyen de décrire le comportement d’One Planet consiste à faire appel à une série de scénarios, en commençant par le démarrage de l'application.
Au démarrage d'One Planet, la fenêtre Channels (Canaux) s'affiche. L’affichage contient un appel à PlaylistTableViewController.fetchAllPlaylists, qui renvoie une BCItemCollection de sélections (maximum 10).
En cas de sélection d’un canal, un nouveau VideoTableViewController est affecté et ajouté aux commandes de navigation. Pour charger les vidéos du canal, VideoTableViewController lance un appel à loadTableDataFromBrightcoveForPlaylist.
- (void)loadTableDataFromBrightcoveForPlaylist {
// affiche un indicateur de chargement et la répartition
BrightcoveDemoAppDelegate *delegate = (BrightcoveDemoAppDelegate *)[[UIApplication sharedApplication] delegate];
BCMediaAPI *bc = delegate.bcServices;
NSError *err;
BCPlaylist *playlist = [bc findPlaylistById:self.playlistId videoFields:[NSArray arrayWithObjects:@"id", @"FLVURL", @"thumbnailURL", @"name", @"shortDescription", @"renditions", nil] playlistFields:[NSArray arrayWithObjects:@"name", @"videos", nil] customFields:nil error:&err];
if (!playlist) {
[ErrorHandlerService logMediaAPIError:err];
}
self.videos = playlist.videos;
self.title = playlist.name;
[self.tableView reloadData];
}
La liste des vidéos figure dans l'objet BCPlaylist.
En cas de sélection de l’affichage Newest Videos (Dernières vidéo), la fonction VideoTableViewController est affectée et ajoutée aux commandes de navigation. La commande VideoTableViewController lance un appel à initWithNibAndType, et la fonction listType présente l’attribut RECENT_VIDEOS. Avec la méthode initWithNibAndType, l’appel est adressé à loadTableDataFromBrightcoveForAllVideos.
- (void)loadTableDataFromBrightcoveForAllVideos {
//[self showLoaderScreen];
BrightcoveDemoAppDelegate *delegate = (BrightcoveDemoAppDelegate *)[[UIApplication sharedApplication] delegate];
BCMediaAPI *bc = delegate.bcServices;
BCSortOrderType sortOrder;
NSError *err;
BCItemCollection *videoCollection;
if (videoListType == POPULAR) {
sortOrder = BCSortByTypePlaysTrailingWeek;
}
else {
sortOrder = BCSortByTypeModifiedDate;
}
videoCollection = [bc findAllVideos:10 pageNumber:0 sortBy:sortOrder sortOrder:BCSortOrderTypeDESC getItemCount:NO videoFields:[NSArray arrayWithObjects:@"id", @"FLVURL", @"thumbnailURL", @"name", @"shortDescription", @"renditions", nil] customFields:nil error:&err];
if (!videoCollection) {
[ErrorHandlerService logMediaAPIError:err];
}
self.videos = videoCollection.items;
[self.tableView reloadData];
}
Dans loadTableDataFromBrightcoveForAllVideos, le paramètre sortBy présente la valeur BCSortByTypeModifiedDate, la fonction sortOrder présente la valeur DESC, et un appel est envoyé à BCMediaAPI.findAllVideos avec ces paramètres. Un ensemble BCItemCollection de vidéos est renvoyé (max. : 10).
En cas de sélection de l’affichage Popular Videos (Vidéos populaires), la fonction VideoTableViewController est affectée et ajoutée aux commandes de navigation. La commande VideoTableViewController lance un appel à initWithNibAndType, et la fonction listType présente l’attribut POPULAR. Avec la méthode initWithNibAndType, l’appel est adressé à loadTableDataFromBrightcoveForAllVideos. Dans loadTableDataFromBrightcoveForAllVideos, le paramètre sortBy présente la valeur BCSortByTypePlaysTrailingWeek, la fonction sortOrder présente la valeur DESC et un appel est adressé à BCMediaAPI.findAllVideos avec ces paramètres. Un ensemble BCItemCollection de vidéos est renvoyé (max. : 10).
- (void)loadTableDataFromBrightcoveForAllVideos {
//[self showLoaderScreen];
BrightcoveDemoAppDelegate *delegate = (BrightcoveDemoAppDelegate *)
[[UIApplication sharedApplication] delegate];
BCMediaAPI *bc = delegate.bcServices;
BCSortOrderType sortOrder;
NSError *err;
BCItemCollection *videoCollection;
if (videoListType == POPULAR) {
sortOrder = BCSortByTypePlaysTrailingWeek;
}
else {
sortOrder = BCSortByTypeModifiedDate;
}
videoCollection = [bc findAllVideos:10 pageNumber:0 sortBy:sortOrder
sortOrder:BCSortOrderTypeDESC getItemCount:NO
videoFields:[NSArray arrayWithObjects:@"id", @"FLVURL", @"thumbnailURL", @"name",
@"shortDescription", @"renditions", nil] customFields:nil error:&err];
if (!videoCollection) {
[ErrorHandlerService logMediaAPIError:err];
}
self.videos = videoCollection.items;
[self.tableView reloadData];
}
Chaque ligne des affichages Channel, Newest et Popular contient une vignette dans la fenêtre de gauche. Le volet droit contient le titre et une brève description. Ces éléments sont intégrés grâce à la méthode VideoTableViewController.tableView. Lorsqu’une ligne est sélectionnée, la méthode VideoPlayerService.playVideo est invoquée et entame la lecture de la vidéo. Le module affiche un écran de chargement et intègre le lecteur vidéo natif une fois que le contenu de la vidéo a chargé suffisamment.
Lors du passage à l’affichage BC Wall, une commande BrightcoveWallViewController est affectée et intégrée à la commande de navigation. Un appel est passé à l’API médias de Brightcove. Le paramètre listType (POPULAR ou NEWEST) renvoie un ensemble BCItemCollection de vidéos (max. : 60). Avec un maximum de 15 vidéos par page, la fonction BC permet d’afficher 4 pages de vignettes.
- (id)initWithType:(videoList) pListType {
[super init];
listType = pListType;
return self;
}
Les principales fonctions de la vue du lecteur, comme la barre de défilement et les commandes de transport, ne font pas partie du SDK pour iOS de Brightcove. Il s’agit en revanche d’éléments essentiels du lecteur Cocoa Touch. Cependant, le wrapper BCMoviePlayerController assure l’interface avec le lecteur Cocoa Touch, ainsi qu’avec les vidéos connexes et les commandes de partage.
Lorsqu’une vidéo est sélectionnée dans une sélection, l’affichage détaillé est envoyé à UINavigationController. Vous avez à présent la possibilité de lire ou partager la vidéo.
Le bouton de partage dans l’affichage détaillé de la vidéo ouvre la fenêtre de partage contenant les fonctions Courrier électronique et Twitter.
L’utilisation du bouton Courrier électronique permet d’ouvrir la messagerie Apple. Vous pouvez aussi définir l'ouverture d'une application externe.
Utilisez le bouton Twitter pour lancer le processus d’identification OAuth qui permettra de diffuser directement vos messages.
Si vous avez besoin d’aide ou avez une question, consultez nos forums. Vous pouvez aussi suivre le SDK pour iOS de Brightcove sur Twitter : http://twitter.com/bciphonesdk ou vous abonner aux mises à jour et annonces sur les SDK mobiles par courrier électronique.