我有一个音乐流应用程序,我在其中使用锁定屏幕控件播放/暂停/下一步。
我的应用中有间隙广告。
但是,当我使用锁定屏幕控件时,它也将传递到视频广告,因为视频广告开始随着我的应用程序的音乐播放。有什么方法可以防止这种情况?
这是我处理锁定屏幕控件的方式。我不与任何此代码中的任何广告进行互动,但仍将控件传递给ADMOB的视频播放器:
- (void)remoteControlReceivedWithEvent:(UIEvent *)event {
////NSLog(@"CustomApp:remoteControlReceivedWithEvent:%@", event.description);
if (event.type == UIEventTypeRemoteControl)
{
switch (event.subtype)
{
case UIEventSubtypeRemoteControlPlay:
// play the video
dispatch_async(dispatch_get_main_queue(), ^{
[[[SoundEngine sharedInstance] audioPlayer] resume];
//[[SoundEngine sharedInstance] setLockScreenElapsedTime];
});
break;
case UIEventSubtypeRemoteControlPause:
// pause the video
dispatch_async(dispatch_get_main_queue(), ^{
[[[SoundEngine sharedInstance] audioPlayer] pause];
//[[SoundEngine sharedInstance] setLockScreenElapsedTime];
});
break;
case UIEventSubtypeRemoteControlNextTrack:
// to change the video
dispatch_async(dispatch_get_main_queue(), ^{
[[SoundEngine sharedInstance] nextClicked];
//[[SoundEngine sharedInstance] setLockScreenElapsedTime];
});
break;
case UIEventSubtypeRemoteControlPreviousTrack:
// to play the privious video
dispatch_async(dispatch_get_main_queue(), ^{
[[SoundEngine sharedInstance] prevClicked];
//[[SoundEngine sharedInstance] setLockScreenElapsedTime];
});
break;
default:
break;
}
}
}
我最近还遇到了一个admob的间隙视频广告,我打电话给负载后,从未打电话给"载荷"。此外,当我确实呈现广告时,切换静音开关不起作用。
ADMOB SDK的版本为7.19.1和7.20.0。
最后,我确定这是一个Admob问题,但并不是那么明显。引起错误的部分是为UserDefauts注册用户。特别是以下几行引起问题。
let userAgent : String = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/601.3.9 (KHTML, like Gecko) Version/9.0.2 Safari/601.3.9"
UserDefaults.standard.register(defaults: ["UserAgent" : userAgent])
加载广告时,可能会触摸存储在用户代理中的用户代理。但是,我绝对需要该自定义用户代理,所以仍然不确定我能做什么,但是至少我们知道在这种情况下Admob SDK如何使我们失败。