Show Menu
TOPICS×

Migrazione dall’SDK per file multimediali standalone ad Adobe Launch - iOS

Configurazione

SDK per file multimediali indipendenti

Nell’SDK per file multimediali standalone, configuri la configurazione di tracciamento nell’app e passala all’SDK quando crei il tracciatore.
ADBMediaHeartbeatConfig *config = [[ADBMediaHeartbeatConfig alloc] init]; config.trackingServer = @"namespace.hb.omtrdc.net"; config.channel = @"sample-channel"; config.appVersion = @"v2.0.0"; config.ovp = @"video-provider"; config.playerName = @"native-player"; config.ssl = YES; config.debugLogging = YES; ADBMediaHeartbeat* tracker = [[ADBMediaHeartbeat alloc] initWithDelegate:self config:config];

Avvia estensione

  1. In Experience Platform Launch, fai clic sulla Extensions scheda della proprietà mobile
  2. Nella Catalog scheda, individua l’estensione Adobe Media Analytics for Audio and Video e fai clic su Install.
  3. Nella pagina delle impostazioni di estensione, configurate i parametri di tracciamento. L’estensione Media utilizzerà i parametri configurati per il tracciamento.

Creazione Tracker

SDK per file multimediali indipendenti

Nell’SDK per file multimediali indipendenti potete creare manualmente l’
ADBMediaHeartbeatConfig
oggetto e configurare i parametri di tracciamento. Implementare l'interfaccia delegate che espone il pannello
getQoSObject()
e
getCurrentPlaybackTime()functions.
Create un’istanza di MediaHeartbeat per il tracciamento:
@interface PlayerDelegate : NSObject<ADBMediaHeartbeatDelegate> @end @implementation PlayerDelegate { } - (NSTimeInterval) getCurrentPlaybackTime { // When called should return the current player time in seconds. return playhead_; } - (nonnull ADBMediaObject*) getQoSObject { // When called should return the latest qos values. return qosObject_; } @end ADBMediaHeartbeatConfig *config = [[ADBMediaHeartbeatConfig alloc] init]; config.trackingServer = @"namespace.hb.omtrdc.net"; config.channel = @"sample-channel"; config.appVersion = @"app-version"; config.ovp = @"video-provider"; config.playerName = @"native-player"; config.ssl = YES; config.debugLogging = YES; ADBMediaHeartbeatDelegate* delegate = [[PlayerDelegate alloc] init]; ADBMediaHeartbeat* tracker = [[ADBMediaHeartbeat alloc] initWithDelegate:delegate config:config];

Avvia estensione

Prima di creare il tracciatore, registrate l’estensione del supporto e le estensioni dipendenti con il core mobile.
// Register the extension once during app launch #import <ACPCore.h> #import <ACPAnalytics.h> #import <ACPMedia.h> #import <ACPIdentity.h> - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [ACPCore setLogLevel:ACPMobileLogLevelDebug]; [ACPCore configureWithAppId:@"your-launch-app-id"]; [ACPMedia registerExtension]; [ACPAnalytics registerExtension]; [ACPIdentity registerExtension]; [ACPCore start:nil]; return YES; }
Una volta registrata l'estensione del supporto, il tracciatore può essere creato utilizzando la seguente API. Il tracciatore seleziona automaticamente la configurazione dalla proprietà di avvio configurata.
[ACPMedia createTracker:^(ACPMediaTracker * _Nullable mediaTracker) { // Use the instance for tracking media. }];

Aggiornamento dei valori Playhead e Quality of Experience.

SDK per file multimediali indipendenti

Nell’SDK per file multimediali standalone, durante la creazione del tracciatore viene passato un oggetto delegato che implementa il
ADBMediaHeartbeartDelegate
protocollo. L'implementazione deve restituire l'ultimo QoE e playhead ogni volta che il racker chiama i metodi
getQoSObject()
e
getCurrentPlaybackTime()
le interfacce.

Avvia estensione

L'implementazione deve aggiornare l'indicatore di riproduzione del lettore corrente chiamando il metodo esposto dal
updateCurrentPlayhead
tracciatore. Per un tracciamento accurato, devi chiamare questo metodo almeno una volta al secondo.
L’implementazione deve aggiornare le informazioni QoE chiamando il metodo esposto dal
updateQoEObject
tracciatore. È consigliabile chiamare questo metodo ogni volta che si verifica una modifica nelle metriche di qualità.

Trasmissione di contenuti multimediali/metadati di annunci standard

SDK per file multimediali indipendenti

  • Metadati file multimediali standard:
    ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:@"media-name" mediaId:@"media-id" length:60 streamType:ADBMediaHeartbeatStreamTypeVod mediaType:ADBMediaTypeVideo]; // Standard metadata keys provided by adobe. NSMutableDictionary *standardMetadata = [[NSMutableDictionary alloc] init]; [standardMetadata setObject:@"Sample show" forKey:ADBVideoMetadataKeySHOW]; [standardMetadata setObject:@"Sample season" forKey:ADBVideoMetadataKeySEASON]; [mediaObject setValue:standardMetadata forKey:ADBMediaObjectKeyStandardMediaMetadata]; //Attaching custom metadata NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init]; [mediaMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; [mediaMetadata setObject:@"Sample TV station" forKey:@"tvStation"]; [tracker trackSessionStart:mediaObject data:mediaMetadata];
  • Metadati annuncio standard:
    ADBMediaObject* adObject = [ADBMediaHeartbeat createAdObjectWithName:[adData objectForKey:@"name"] adId:[adData objectForKey:@"id"] position:[[adData objectForKey:@"position"] doubleValue] length:[[adData objectForKey:@"length"] doubleValue]]; // Standard metadata keys provided by adobe. NSMutableDictionary *standardMetadata = [[NSMutableDictionary alloc] init]; [standardMetadata setObject:@"Sample Advertiser" forKey:ADBAdMetadataKeyADVERTISER]; [standardMetadata setObject:@"Sample Campaign" forKey:ADBAdMetadataKeyCAMPAIGN_ID]; [adObject setValue:standardMetadata forKey:ADBMediaObjectKeyStandardAdMetadata]; //Attaching custom metadata NSMutableDictionary *adDictionary = [[NSMutableDictionary alloc] init]; [adDictionary setObject:@"Sample affiliate" forKey:@"affiliate"]; [tracker trackEvent:ADBMediaHeartbeatEventAdStart mediaObject:adObject data:adDictionary];

Avvia estensione

  • Metadati file multimediali standard:
    NSDictionary *mediaObject = [ACPMedia createMediaObjectWithName:@"media-name" mediaId:@"media-id" length:60 streamType:ACPMediaStreamTypeVod mediaType:ACPMediaTypeVideo]; NSMutableDictionary *mediaMetadata = [[NSMutableDictionary alloc] init]; // Standard metadata keys provided by adobe. [mediaMetadata setObject:@"Sample show" forKey:ACPVideoMetadataKeyShow]; [mediaMetadata setObject:@"Sample season" forKey:ACPVideoMetadataKeySeason]; // Custom metadata keys [mediaMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; [mediaMetadata setObject:@"Sample TV station" forKey:@"tvStation"]; [_tracker trackSessionStart:mediaObject data:mediaMetadata];
  • Metadati annuncio standard:
    NSDictionary* adObject = [ACPMedia createAdObjectWithName:@"ad-name" adId:@"ad-id" position:1 length:15]; NSMutableDictionary* adMetadata = [[NSMutableDictionary alloc] init]; // Standard metadata keys provided by adobe. [adMetadata setObject:@"Sample Advertiser" forKey:ACPAdMetadataKeyAdvertiser]; [adMetadata setObject:@"Sample Campaign" forKey:ACPAdMetadataKeyCampaignId]; // Custom metadata keys [adMetadata setObject:@"Sample affiliate" forKey:@"affiliate"]; [tracker trackEvent:ACPMediaEventAdStart mediaObject:adObject data:adMetadata];