Skip to content

Commit 70df7e3

Browse files
Update master with develop (#184)
1 parent f712c38 commit 70df7e3

2 files changed

Lines changed: 16 additions & 9 deletions

File tree

NRIMATracker/NRIMATracker/Tracker/NRTrackerIMA.m

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@
1111

1212
@interface NRTrackerIMA ()
1313

14-
@property (nonatomic, weak) IMAAdEvent *lastEvent;
15-
@property (nonatomic, weak) IMAAdsManager *adsManager;
14+
@property (nonatomic, strong) IMAAdEvent *lastEvent;
15+
@property (nonatomic, strong) IMAAdsManager *adsManager;
1616
@property (nonatomic) NSNumber *quartile;
1717
@property (nonatomic) NSNumber *skipped;
1818

@@ -158,7 +158,8 @@ - (NSString *)getTitle {
158158

159159
- (NSNumber *)getBitrate {
160160
if (self.lastEvent) {
161-
return @(self.lastEvent.ad.VASTMediaBitrate);
161+
// VASTMediaBitrate returns kbps, convert to bps for consistency with AVPlayer's averageVideoBitrate
162+
return @(self.lastEvent.ad.VASTMediaBitrate * 1000);
162163
}
163164
else {
164165
return (NSNumber *)[NSNull null];

NewRelicVideoCore/NewRelicVideoCore/Tracker/NRVideoTracker.m

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -142,8 +142,11 @@ - (NSMutableDictionary *)getAttributes:(NSString *)action attributes:(NSDictiona
142142

143143
if (self.state.isAd) {
144144
[attr setObject:[self getTitle] forKey:@"adTitle"];
145-
[attr setObject:[self getBitrate] forKey:@"adBitrate"];
146-
[attr setObject:[self getRenditionBitrate] forKey:@"adRenditionBitrate"];
145+
// Only add bitrate attributes after ad has started (first frame shown)
146+
if ([self.state isStarted]) {
147+
[attr setObject:[self getBitrate] forKey:@"adBitrate"];
148+
[attr setObject:[self getRenditionBitrate] forKey:@"adRenditionBitrate"];
149+
}
147150
[attr setObject:[self getRenditionWidth] forKey:@"adRenditionWidth"];
148151
[attr setObject:[self getRenditionHeight] forKey:@"adRenditionHeight"];
149152
[attr setObject:[self getDuration] forKey:@"adDuration"];
@@ -178,11 +181,14 @@ - (NSMutableDictionary *)getAttributes:(NSString *)action attributes:(NSDictiona
178181
[attr setObject:@(self.totalAdPlaytime) forKey:@"totalAdPlaytime"];
179182
}
180183
[attr setObject:[self getTitle] forKey:@"contentTitle"];
181-
[attr setObject:[self getBitrate] forKey:@"contentBitrate"];
182-
if ([self respondsToSelector:@selector(getObservedBitrate)]) {
183-
[attr setObject:[self getObservedBitrate] forKey:@"contentObservedBitrate"];
184+
// Only add bitrate attributes after content has started (first frame shown)
185+
if ([self.state isStarted]) {
186+
[attr setObject:[self getBitrate] forKey:@"contentBitrate"];
187+
if ([self respondsToSelector:@selector(getObservedBitrate)]) {
188+
[attr setObject:[self getObservedBitrate] forKey:@"contentObservedBitrate"];
189+
}
190+
[attr setObject:[self getRenditionBitrate] forKey:@"contentRenditionBitrate"];
184191
}
185-
[attr setObject:[self getRenditionBitrate] forKey:@"contentRenditionBitrate"];
186192
[attr setObject:[self getRenditionWidth] forKey:@"contentRenditionWidth"];
187193
[attr setObject:[self getRenditionHeight] forKey:@"contentRenditionHeight"];
188194
[attr setObject:[self getDuration] forKey:@"contentDuration"];

0 commit comments

Comments
 (0)