Migrering från fristående Media SDK till Adobe Launch - iOS
Konfiguration
Fristående media SDK
I det fristående Media SDK:t konfigurerar du spårningskonfigurationen i appen,
och skicka det till SDK när du skapar spåraren.
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];
Starta tillägg
-
Klicka på fliken Extensions i Experience Platform Launch för din mobila egenskap
-
På fliken Catalog letar du reda på Adobe Media Analytics for Audio and Video och klickar på Install.
-
Konfigurera spårningsparametrarna på sidan för tilläggsinställningar.
Media-tillägget använder de konfigurerade parametrarna för spårning.
Skapa spårare
Fristående media SDK
I den fristående Media SDK skapar du ADBMediaHeartbeatConfig
-objektet manuellt
och konfigurera spårningsparametrarna. Implementera delegatgränssnittet som visargetQoSObject()
och getCurrentPlaybackTime()functions.
Skapa en MediaHeartbeat-instans för spårning:
@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];
Starta tillägg
Media API-referens - Skapa mediespårare
Innan du skapar spåraren ska du registrera medietillägget och de beroende tilläggen med mobilkärnan.
// 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;
}
När medietillägget har registrerats kan spåraren skapas med följande API.
Spåraren väljer automatiskt konfigurationen från den konfigurerade startegenskapen.
[ACPMedia createTracker:^(ACPMediaTracker * _Nullable mediaTracker) {
// Use the instance for tracking media.
}];
Uppdaterar värden för spelhuvud och upplevelsekvalitet.
Fristående media SDK
I det fristående Media SDK är ett delegatobjekt som implementerarADBMediaHeartbeartDelegate
-protokollet skickas när spåraren skapas.
Implementeringen bör returnera det senaste QoE-numret och spelhuvudet när
spåraren anropar gränssnittet getQoSObject()
och getCurrentPlaybackTime()
metoder.
Starta tillägg
Implementeringen ska uppdatera spelarens spelhuvud genom att anropa
Metoden updateCurrentPlayhead
som exponeras av spåraren. För korrekt spårning
anropa den här metoden minst en gång per sekund.
Media API-referens - Uppdatera aktuellt spelhuvud
Implementeringen bör uppdatera QoE-informationen genom att anropa
Metoden updateQoEObject
som exponeras av spåraren. Du bör anropa den här metoden
närhelst det sker en ändring av kvalitetsmåtten.
Media API-referens - Uppdatera QoE-objekt
Skicka standardmedier/annonsmetadata
Fristående media SDK
-
Standardmetadata för media:
code language-objective-c 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];
-
Standardmetadata för annonsering:
code language-objective-c 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];
Starta tillägg
-
Standardmetadata för media:
code language-objective-c 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];
-
Standardmetadata för annonsering:
code language-objective-c 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];