In diesem Dokument wird eine Anwendung beschrieben, die wir mit Version 2.0 des Brightcove-App-SDK für iOS erstellt haben. Falls Sie weitere Informationen zum SDK einschließlich des Dokumentationspakets zum Herunterladen erhalten möchten und mit dem Entwickeln von iPhone-Apps beginnen möchten, lesen Sie Erste Schritte mit dem Brightcove-App-SDK für iOS.
Laden Sie One Planet für iPhone-Quelle herunter.
Möglicherweise sind Sie bereits mit der in einem früheren Artikel beschriebenen One Planet-Portalanwendung vertraut. Dieser Artikel beschäftigt sich mit einer ähnlichen Anwendung für iPhone und iPod Touch im Gegensatz zu einer webbasierten Anwendung, die über den mobilen Safari-Browser gestartet wird. Der Einfachheit halber bezeichnen wir die native One Planet-Beispielanwendung als „One Planet“.
Sie können auch die folgenden weiteren Dokumente über das Brightcove-App-SDK für iOS prüfen:
Ein Überblick über One Planet:
Wir haben One Planet mithilfe des Brightcove-App-SDK für iOS und den Brightcove-Medien-Lese-APIs entwickelt. Dieses SDK, das derzeit entwickelt wird, bietet ein Framework, mit dem Sie Ihre eigene native iOS-Anwendung zur Bereitstellung von Brightcove-Videos auf iPhone, iPad und anderen iOS-Geräten erstellen können. Weitere Informationen zur Installation und Verwendung des Brightcove-App-SDK für iOS.
Zum Starten von One Planet auf Ihrem Gerät gibt es zwei Möglichkeiten:
Vor der Installation von One Planet auf Ihrem Gerät über Xcode müssen Sie ein Entwicklungszertifikat und Bereitstellungsprofil anfordern und erhalten. Rufen Sie dazu das iPhone-Entwicklerprogramm unter Apple Developer Connection auf.
Bei der Installation über Xcode wird vorausgesetzt, dass Sie Xcode und das Apple-iPhone-SDK bereits auf dem Computer installiert haben. Laden Sie das Brightcove-App-SDK für iOS herunter, und öffnen Sie die Datei BrightcoveDemo.Xcodeproj. Sie können One Planet entweder über Ihr Gerät oder über den Xcode-iPhone-Simulator ausführen. Falls Sie One Planet auf dem Gerät installieren und ausführen, muss für das Gerät eine Internetverbindung bestehen. Nach der Auswahl eines Installationsziels klicken Sie auf Erstellen und starten, und One Planet wird erstellt, unter dem Ziel installiert und gestartet.
One Planet ist über den iTunes Store verfügbar. Wählen Sie die Anwendung nach dem Herunterladen und Installieren auf dem Bildschirm des Geräts aus.
Die beste Möglichkeit zur Beschreibung des Verhaltens von One Planet erfolgt über eine Reihe von Benutzerszenarien, beginnend mit dem Start der Anwendung.
Beim Start von One Planet ist die Standardansicht die Ansicht der Kanäle. Diese Ansicht verfügt über einen Aufruf von PlaylistTableViewController.fetchAllPlaylists, womit eine BCItemCollection der Wiedergabelisten (höchstens 10 Wiedergabelisten) auf dem Bildschirm zurückgegeben wird.
Wird ein Kanal ausgewählt, wird dem Navigationscontroller ein neuer VideoTableViewController zugewiesen und hinzugefügt. Zum Laden der Videos des Kanals führt VideoTableViewController einen Aufruf von loadTableDataFromBrightcoveForPlaylist durch.
- (void)loadTableDataFromBrightcoveForPlaylist {
// zeigt eine Ladeanzeige an und wird dann abgebrochen
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];
}
Im BCPlaylist-Objekt ist die Liste der Videos enthalten.
Ruft ein Besucher die Ansicht der neuesten Videos auf, wird dem Navigationscontroller VideoTableViewController hinzugefügt. VideoTableViewController führt einen Aufruf an initWithNibAndType durch, wobei listType als RECENT_VIDEOS angegeben ist. In der initWithNibAndType-Methode ergeht ein Aufruf an 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];
}
In loadTableDataFromBrightcoveForAllVideos wird der sortBy-Parameter auf BCSortByTypeModifiedDate gesetzt, sortOrder wird auf DESC gesetzt, und ein Aufruf ergeht mit diesen Parametern an BCMediaAPI.findAllVideos. Eine BCItemCollection der Videos wird zurückgegeben (höchstens 10 Videos).
Bei Auswahl der Ansicht der beliebtesten Videos wird dem Navigationscontroller ein VideoTableViewController zugewiesen und hinzugefügt. VideoTableViewController führt einen Aufruf an initWithNibAndType durch, wobei listType als POPULAR angegeben ist. In der initWithNibAndType-Methode ergeht ein Aufruf an loadTableDataFromBrightcoveForAllVideos. In loadTableDataFromBrightcoveForAllVideos wird der sortBy-Parameter auf BCSortByTypePlaysTrailingWeek gesetzt, sortOrder wird auf DESC gesetzt, und ein Aufruf ergeht mit diesen Parametern an BCMediaAPI.findAllVideos. Eine BCItemCollection der Videos wird zurückgegeben (höchstens 10 Videos).
- (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];
}
Jede Zeile in den Ansichten Kanal, Neueste Videos und Beliebteste Videos enthält eine Videominiaturansicht im linken Fenster und rechts einen Videotitel und eine Kurzbeschreibung. Diese Informationen werden in der VideoTableViewController.tableView-Methode ausgefüllt. Wird eine Zeile ausgewählt, wird die VideoPlayerService.playVideo-Methode aufgerufen und die Wiedergabe des Videos wird gestartet. Die Implementierung zeigt einen Ladebildschirm und wird dann im systemeigenen Videoplayer ausgeblendet, sobald genügend Videobits geladen wurden.
Beim Wechsel zur BC-Pinnwand wird dem Navigationscontroller ein BrightcoveWallViewController zugewiesen und hinzugefügt. Ein Aufruf ergeht an die Brightcove-Medien-API mit dem angegebenen listType-Parameter (entweder BELIEBTESTE oder NEUESTE), und eine BCItemCollection der Videos wird zurückgegeben (höchstens 60 Videos). Die Ansicht der BC-Pinnwand bietet maximal 15 Videos pro Seite auf vier Seiten mit Videominiaturansichten.
- (id)initWithType:(videoList) pListType {
[super init];
listType = pListType;
return self;
}
Die Hauptfunktionen der Playeransicht, wie etwa Navigationsleiste und Steuerelemente für den Transport, sind nicht Teil des Brightcove-App-SDK für iOS, aber Kernkomponenten des Cocoa Touch-Medienplayers. Der BCMoviePlayerController-Wrapper bietet jedoch eine Schnittstelle für den Cocoa Touch-Medienplayer sowie Steuerelemente für ähnliche Videos und die Freigabe.
Wird ein Video über eine Wiedergabeliste ausgewählt, wird die Videodetailansicht in den UINavigationController verschoben. Dort können Sie das Video wiedergeben oder freigeben.
Durch die Auswahl der Freigabetaste in der Ansicht der Videodetails wird die Freigabeansicht mit den Optionen für E-Mails und Twitter geöffnet.
Durch Auswahl der E-Mail-Taste wird die von Apple bereitgestellte App-E-Mail-Ansicht geöffnet. Ebenso können Sie die Freigabeansicht so konfigurieren, dass die externe App geöffnet wird.
Durch Auswahl der Twitter-Taste wird der OAuth-Anmeldevorgang gestartet und Sie haben die Möglichkeit, nach der Anmeldung Tweets zu veröffentlichen.
Falls Sie Hilfe benötigen oder Fragen haben, besuchen Sie unsere Foren. Sie können auch das Brightcove-iPhone-SDK bei Twitter verfolgen (http://twitter.com/bciphonesdk) oder sich registrieren, damit Sie Updates und Ankündigungen für unsere mobilen SDKs per E-Mail erhalten.