Dieses Dokument beschreibt das Video Cloud-App-SDK für iOS, mit der Sie Ihre eigene native Anwendung entwickeln können, um Ihre Video Cloud-Videos auf iPhone, iPad und anderen Apple iOS-Plattformen bereitzustellen. Lesen Sie neben dem Artikel „Erste Schritte“ auch folgende weiteren Dokumente:
Das Video Cloud-App-SDK für iOS ist ein Satz Cocoa/Objective-C-Bibliotheken für den Einsatz der Video Cloud-Medien-API und für die Wiedergabe von Videos in einem benutzerdefinierten Video Cloud-Videoplayer auf Apple iOS-Geräten wie dem iPhone, iPad und iPod Touch. Die Medien-API weist eine Cocoa/Objective-C-Schnittstelle für die Video Cloud-Video und Wiedergabelisten-API auf. Die Playerkomponente bietet auf dem standardmäßigen iOS-Videoplayer Support für E-Mail und Twitter-Freigabe sowie ähnliche und beliebte Video-Overlays.
Die Erweiterung des App-Stores iTunes sowie die Beliebtheit von iPhone und iPad trägt dazu bei, dass die Nachfrage nach mobilen Medien weiter steigt. Die Erstellung von nativen iOS-Anwendungen mithilfe dieses SDKs gewährleistet eine hohe Benutzerfreundlichkeit. Sie können über das SDK einfach auf Ihren Videocontent und Ihre Metadaten zugreifen und Videocontent und Metadaten abrufen, sodass Sie Ihre App auf mobile Besucher ausrichten können und die Präsenz Ihrer Marke bei der Zielgruppe jederzeit bestehen bleibt.
Falls Sie die Entwicklung einer iOS-Anwendung in Erwägung ziehen, ist es niemals zu früh, mit der Vorbereitung Ihres Videocontents für die mobile Bereitstellung zu beginnen. Weitere Informationen finden Sie unter Verschlüsseln von Videos für die mobile Bereitstellung. Sie können auch die Entwicklung einer Webanwendung für Mobilgeräte in Erwägung ziehen. Möglichkeiten mit Brightcove.
Für das Video Cloud-App-SDK für iOS ist Apple iOS-SDK Version 3.1 oder höher erforderlich.
Wir haben mit Version 2.1 der Video Cloud-App-SDK für iOS eine Beispiel-App eigens für iPhone und iPad namens OnePlanet entwickelt. Erfahren Sie, wie wir OnePlanet entwickelt haben, und laden Sie sich den Quellcode für die iPhone- and iPad-Versionen der App herunter.
Sie finden diese kostenlose App für iPhone oder iPad im App-Store iTunes.
So installieren Sie die Video Cloud-App-SDK für iOS:
-all_load -ObjC
Falls eines dieser Frameworks fehlt, klicken Sie mit der rechten Maustaste auf die Gruppe „Frameworks“ in Xcode, wählen Sie Hinzufügen und Vorhandene Frameworks... aus, um einen Dateibrowser zu öffnen, mit dem Sie Frameworks auswählen und Ihrem Projekt hinzufügen können. HINWEIS: Falls Sie nur die Video Cloud-Medien-APIs und nicht den Video Cloud-iPhone-Videoplayer verwenden möchten, müssen MediaPlayer.framework, OpenGLES.framework und QuartzCore.framework nicht enthalten sein.
Die Klasse BCMediaAPI ist eine Fassade für alle Video Cloud-Medien-API-Aufrufe. Dies ermöglicht Entwicklern die einmalige Instantiierung für alle erforderlichen Aufrufe:
BCMediaAPI *bc = [[BCMediaAPI alloc] initWithReadToken:@"MyApiKey"];
Aufrufe werden mithilfe von Fehlerhinweisen im Cocoa-Stil behandelt. Daher gilt folgendes Muster für sämtliche Aufrufe:
// Fügen Sie diese Zeile in die Quelle ein (unkommentiert):
// #import "BCMediaAPI.h"
BCMediaAPI *bc = [[BCMediaAPI alloc] initWithReadToken:@"MyApiKey"];
NSError *err;
BCVideo *video = [bc findVideoById:1234 error:&err];
if (!video) {
// Falls das Ergebnis null ist und wir das optionale Fehlerargument
// gesendet haben,wird der Fehler vom Video Cloud-Server mit allen zugrundeliegenden
// Fehlern gefüllt,die gemeldet wurden. Wir können die folgende komfortable Methode
// verwenden,um die userInfo von NSError, in der die zugrundeliegenden Fehler gemeldet
// wurden,in einem NSString zur Protokollierung oder zu anderen Zwecken zu sichern:
NSString *errStr = [bc getErrorsAsString:err];
NSLog(errStr);
}
Die Klasse BCPlayer ist die öffentliche Komponente, in der Sie Videos wiedergeben und stoppen können:
BCPlayer *bcPlayer = [[BCPlayer alloc] init];
Sie geben ein Video anhand einer Instanz der Klasse BCVideo wieder, die sich in der BCMedia-API befindet. Obwohl diese BCVideo-Instanz in der Regel anhand der BC-Medien-API dynamisch abgerufen wird, kann sie ebenso programmgesteuert erstellt werden. Sie können zudem anhand der BC-Medien-API eine BCVideo-Instanz abrufen und danach die Eigenschaften der Instanz durch programmgesteuertes Festlegen überschreiben.
BCVideo *myVideo = [[self getVideoObject:videoId] retain]; [bcPlayer play:activeVideo];
Wenn Sie die Freigabe zulassen möchten, sollten Sie zudem eine playerId in der BCPlayer-Instanz festlegen, damit die E-Mail- und Twitter URL-Links zusammengestellt werden können, damit Benutzer zum richtigen webbasierten Video Cloud-Player weitergeleitet werden.
Falls Sie ähnliche oder beliebte Videos im Player als Coverflow-Overlays anzeigen möchten, fügen Sie diese Arrays der BCVideo-Instanzen dem Player hinzu.
Registrieren Sie BCPlayerDelegate auf dem BCPlayer, der das BCPlayerDelegate-Protokoll implementiert, um eine Nachricht zu erhalten, wenn verschiedene Ereignisse im Player auftreten:
bcPlayer.delegate = self;
Die Delegiertenrückrufe ermöglichen unter anderem den Zugriff auf folgende Ereignisse:
// Fügen Sie diese Zeile in die Quelle ein (unkommentiert):
// #import "BCPlayer.h"
- (void) playMyMovie {
NSString *apiKey = @"keyWithAdditionalURLPrivileges";
bcAPI = [[BCMediaAPI alloc] initWithReadToken:@"MyApiKey"];
double videoId = 25348489001L;
bcPlayer = [[BCPlayer alloc] init];
bcPlayer.delegate = self;
bcPlayer.playerId = 25309144001L;
// Ohne dieses Element funktioniert die Freigabe nicht
// Verwenden Sie BCMediaAPI zum Erstellen einer BCVideo-Instanz:
activeVideo = [[self getVideoObject:videoId] retain];
// Legen Sie auf Wunsch beliebte und ähnliche Videos fest, was entweder programmgesteuert
// durch Erstellen von BCVideo-Objekten oder automatisch über BCMediaAPI erfolgt:
bcPlayer.popularVideos = [self getPopularVideos];
bcPlayer.relatedVideos = [self getRelatedVideos:videoId];
// HINWEIS: Falls Sie keine ähnlichen oder beliebten Videos festlegen, erscheint das Videomenü nicht
// HINWEIS: Falls Sie ähnliche, aber keine beliebten Videos festlegen (oder umgekehrt), erscheint zwar
// die Videonavigation, aber der Schalter zum Wechseln zwischen beliebten und ähnlichen Videos
// erscheint nicht.
// Alle folgenden Einstellungen sind standardmäßig auf „true“ gesetzt, Sie können sie jedoch überschreiben,
// um zu steuern, welche Menüs erscheinen:
bcPlayer.shareMenuEnabled = NO;
bcPlayer.moreVideosMenuEnabled = YES;
bcPlayer.showRelatedMoviesOnComplete = YES;
// Standardmäßig werden ähnliche und beliebte Videos mithilfe einer Coverflow-Benutzeroberfläche gerendert,
// Sie können aber stattdessen auch eine UITableView verwenden, indem Sie diese Eigenschaft auf NEIN setzen.
// Sie können dies tun, wenn Sie Leistungsprobleme mit Coverflow in einer bestimmten Anwendung feststellen
// (der Wert dieser Eigenschaft ist standardmäßig auf JA festgelegt)
bcPlayer.useCoverflow = YES;
// Video abspielen
[bcPlayer play:activeVideo];
}
#pragma mark BCPlayerDelegate callback methods
- (void) playerComplete {
NSLog(@"Player Is Complete");
}
- (void) selectedRelatedVideo:(BCVideo *) relatedVideo {
// Die App hat die Möglichkeit, die Steuerung zurückzuerlangen, die playerId zur Freigabe zu ändern usw.
bcPlayer.playerId = 25309144001L; // Möglicherweise müssen Sie die playerId für ein neues Video ändern, damit die Freigabe funktioniert
}Falls Sie Hilfe benötigen oder Fragen haben, besuchen Sie unsere Foren. Oder folgen Sie dem Video Cloud-App-SDK für iOS auf Twitter: http://twitter.com/bciphonesdk oder registrieren Sie sich, damit Sie Updates und Ankündigungen für unsere mobilen SDKs per E-Mail erhalten.