@interface YourViewController : UIViewController
@end
@implementation YourViewController
{
MTRGInstreamAudioAd *_ad;
}
- (void)initAd
{
// Включение режима отладки
// [MTRGInstreamAudioAd setDebugMode:YES];
// Создаем экземпляр MTRGInstreamAudioAd
_ad = [MTRGInstreamAudioAd instreamAudioAdWithSlotId:YOUR_SLOT_ID];
}
@interface YourViewController : UIViewController
@end
@implementation YourViewController
{
MTRGInstreamAudioAd *_ad;
}
- (void)initAd
{
// Создаем экземпляр MTRGInstreamAudioAd
_ad = [MTRGInstreamAudioAd instreamAudioAdWithSlotId:YOUR_SLOT_ID];
// Устанавливаем плеер
_ad.player = YOUR_PLAYER;
}
@property(nonatomic, readonly) NSTimeInterval adAudioDuration;
@property(nonatomic, readonly) NSTimeInterval adAudioTimeElapsed;
@property(nonatomic, weak) id <MTRGInstreamAudioAdPlayerDelegate> adPlayerDelegate;
@property(nonatomic) float volume;
void setVolume(float volume);
- (void)playAdAudioWithUrl:(NSURL *)url;
- (void)pauseAdAudio;
- (void)resumeAdAudio;
- (void)stopAdAudio;
- (void)onAdAudioStart;
- (void)onAdAudioPause;
- (void)onAdAudioResume;
- (void)onAdAudioStop;
- (void)onAdAudioErrorWithReason:(NSString *)reason;
- (void)onAdAudioComplete;
interface YourViewController : UIViewController <MTRGInstreamAudioAdDelegate>
@end
@implementation YourViewController
{
MTRGInstreamAudioAd *_ad;
}
- (void)initAd
{
// Создаем экземпляр MTRGInstreamAudioAd
_ad = [MTRGInstreamAudioAd instreamAudioAdWithSlotId:YOUR_SLOT_ID];
// Устанавливаем делегат
_ad.delegate = self;
// Запускаем загрузку данных
[_ad load];
}
- (void)onLoadWithInstreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Данные успешно загружены
}
- (void)onNoAdWithReason:(NSString *)reason instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Данные не получены
}
- (void)onErrorWithReason:(NSString *)reason instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// При проигрывании рекламного видео произошла ошибка
}
- (void)onBannerStart:(MTRGInstreamAudioAdBanner *)banner instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Началось проигрывание рекламного видео
}
- (void)onBannerComplete:(MTRGInstreamAudioAdBanner *)banner instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Проигрывание рекламного видео завершено
}
- (void)onBannerTimeLeftChange:(NSTimeInterval)timeLeft duration:(NSTimeInterval)duration instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Вызывается многократно во время воспроизведения рекламного видео, используется для обновления таймера до окончания показа рекламного видео
}
- (void)onCompleteWithSection:(NSString *)section instreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Проигрывание всех рекламных видео в рекламной секции завершено
}
- (void)onShowModalWithInstreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
}
- (void)onDismissModalWithInstreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
}
- (void)onLeaveApplicationWithInstreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
}
// Перед началом показа основного видео
[_ad startPreroll];
// После показа основного видео
[_ad startPostroll];
@interface YourViewController : UIViewController <MTRGInstreamAudioAdDelegate>
@end
@implementation YourViewController
{
MTRGInstreamAudioAd *_ad;
NSArray <NSNumber *> *_adPositions;
}
- (void)initAd
{
// Создаем экземпляр MTRGInstreamAudioAd
_ad = [MTRGInstreamAudioAd instreamAudioAdWithSlotId:YOUR_SLOT_ID];
// Устанавливаем позиции на первой и пятой секунде аудио
[_ad configureMidpoints:@[@1, @5] forVideoDuration:_videoDuration];
// или в процентах, на 10% и 50% аудио
// [_ad configureMidpointsP:@[@10, @50] forVideoDuration:_videoDuration];
// Устанавливаем делегат
_ad.delegate = self;
// Запускаем загрузку данных
[_ad load];
}
- (void)onLoadWithInstreamAudioAd:(MTRGInstreamAudioAd *)instreamAudioAd
{
// Данные успешно загружены
// Массив позиций (в секундах), доступных для показа midroll секции
_adPositions = _ad.midpoints;
}
// Аудио доигралось до 5-й секунды и для неё есть позиция в массиве adPositions
[_ad startMidrollWithPoint:_adPositions[1]];
@property(nonatomic) NSTimeInterval duration;
@property(nonatomic) BOOL allowSeek;
@property(nonatomic) BOOL allowSkip;
@property(nonatomic) BOOL allowTrackChange;
@property(nonatomic) NSArray<MTRGInstreamAdCompanionBanner *> *companionBanners;
@property(nonatomic, copy) NSString *adText;
- (void)onCompanionAdShow:(MTRGInstreamAdCompanionBanner *)companionBanner
{
[_ad handleCompanionShow:companionBanner];
}
- (void)onCompanionAdClick:(MTRGInstreamAdCompanionBanner *)companionBanner
{
[_ad handleCompanionClick:companionBanner withController:self];
}
- (void)pause;
- (void)resume;
- (void)stop;
- (void)skip;
- (void)skipBanner;
@property(nonatomic) float volume;
@property(nonatomic) NSUInteger loadingTimeout;
@interface YourViewController : UIViewController
@end
@implementation YourViewController
{
MTRGInstreamAudioAd *_ad;
}
-(void) initAd
{
// Создаем экземпляр MTRGInstreamAudioAd
_ad = [MTRGInstreamAudioAd instreamAudioAdWithSlotId:YOUR_SLOT_ID];
// Задаем возраст
_ad.customParams.age = [NSNumber numberWithInt:25];
// Задаем пол
_ad.customParams.gender = MTRGGenderMale;
}