Native iPhone-Anwendung

Product
Video Cloud
Betrifft die Rollen
Entwickler
Version
Brightcove 5
Edition
Express 499, Pro, Enterprise

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:

 

 

OnePlanet-Demovideo

 

 

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.

Installieren, Erstellen und Starten von One Planet

Zum Starten von One Planet auf Ihrem Gerät gibt es zwei Möglichkeiten:

Verwenden von Xcode

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.

Verwenden des Apple Store und von iTunes

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.

One Planet in Aktion

Die beste Möglichkeit zur Beschreibung des Verhaltens von One Planet erfolgt über eine Reihe von Benutzerszenarien, beginnend mit dem Start der Anwendung.

Start- und Menüansichten

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.

Neueste Ansicht

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).

Ansicht der beliebtesten 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.

Ansicht BC-Pinnwand

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;
 }

Ansicht Player

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.

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.

Freigabe per E-Mail

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.

Freigabe über Twitter

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.

Tags
apps, iOS, iPad, iPhone, iTunes