Делегированные методы — iOS

Последнее обновление:

Делегированные методы Chartboost SDK предлагают больше гибкости в контроле над интеграцией. Пользуйтесь ими, чтобы ваша реклама воспринималась именно так, как вы хотите!


Содержание


Обзор

Делегированные методы Chartboost SDK предлагают больше гибкости в контроле над интеграцией. Например, вы можете:

  • Регистрировать отладочные сообщения, когда ваша игра пытается загрузить рекламную вставку
  • Не отображать рекламу, когда пользователь играет в вашу игру впервые
  • Определять, нажал пользователь на рекламе или просто закрыл ее, и реагировать соответствующим образом
  • Не отображать рекламу или страницу «Другие приложения» там и в то время, где и когда это может помешать игре

Доступные методы Chartboost iOS SDK можно увидеть в заголовочном файле Chartboost.h оболочки Chartboost. На практике многие эти методы реализованы в примере проекта, который входит в загрузочный пакет SDK.


Методы конфигурации SDK

Эти методы позволяют влиять на функциональность и настройки Chartboost SDK:

// Проверяет, кэширована ли рекламная вставка в данной CBlocation.
+ (BOOL)hasInterstitial:(CBLocation)location;

// Проверяет, кэширована ли страница «Другие приложения» в данной CBlocation.
+ (BOOL)hasMoreApps:(CBLocation)location;

// Проверяет, кэшировано ли вознаграждаемое видео в данной CBLocation.
+ (BOOL)hasRewardedVideo:(CBLocation)location;

// Проверяет, отображаются ли какие-нибудь экраны
+ (BOOL)isAnyViewVisible;

// Включает или отключает функцию автоматического кэширования (по умолчанию: включена).*
+ (void)setAutoCacheAds:(BOOL)shouldCache;

// Получает текущее поведение автоматического кэширования (по умолчанию: включен).*
+ (BOOL)getAutoCacheAds;

// Задает настраиваемый идентификатор для передачи в теле POST во всех запросах к серверу Chartboost API.
+ (void)setCustomId:(NSString *)customId;

// Получает текущий настраиваемый идентификатор, который передается в теле POST для всех запросов к серверу Chartboost API.
+ (NSString *)getCustomId;

// Определяет, следует ли Chartboost SDK отображать рекламную вставку при первом сеансе.
+ (void)setShouldRequestInterstitialsInFirstSession:(BOOL)shouldRequest;

//  Определяет, должен ли Chartboost SDK показывать экран загрузки при подготовке к отображению UI страницы «Другие приложения».
+ (void)setShouldDisplayLoadingViewForMoreApps:(BOOL)shouldDisplay;

// Управляет тем, следует ли SDK заранее загружать видеокреативы для повышения производительности. По умолчанию: включено. Отключение очень существенно сказывается на подаче видеорекламы со стороны SDK!
+ (void)setShouldPrefetchVideoContent:(BOOL)shouldPrefetch;

// Задает управление тем, как полноэкранные рекламные блоки должны взаимодействовать с панелью состояния (по умолчанию: CBStatusBarBehaviorIgnore).
+ (void)setStatusBarBehavior:(CBStatusBarBehavior)statusBarBehavior;

Подробнее о настройках AutoCacheAds и, в целом, о кэшировании рекламы можно узнать здесь.


Настройка делегатов SDK

Прежде чем пользоваться делегированными функциями, задайте делегат Chartboost через delegate:self в своем коде инициализации Chartboost:

#import <Chartboost/Chartboost.h>
#import <Chartboost/CBNewsfeed.h>
#import "AppDelegate.h"

@interface AppDelegate () 
@end

@implementation AppDelegate 

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

 [self initializeStoryBoardBasedOnScreenSize]; 

// Начало сеанса пользователя. 
// Не должно зависеть от действий пользователя и предшествующих запросов сети.
 [Chartboost startWithAppId:@"YOUR_CHARTBOOST_APP_ID"
 appSignature:@"YOUR_CHARTBOOST_APP_SIGNATURE"
 delegate:self];

 return YES;
}

Делегированные методы для статичных вставок и видеовставок

// Вызывается до запроса рекламной вставки через сервер Chartboost API.
- (BOOL)shouldRequestInterstitial:(CBLocation)location;

// Вызывается до того, как вставка отображается на экране.
- (BOOL)shouldDisplayInterstitial:(CBLocation)location;

// Вызывается после того, как вставка отображается на экране.
- (void)didDisplayInterstitial:(CBLocation)location;

// Вызывается после того, как вставка загружена с серверов Chartboost API
// и сохранена в локальный кэш.
- (void)didCacheInterstitial:(CBLocation)location;

// Вызывается после неудачной попытки загрузить вставку
// с серверов Chartboost API.
 - (void)didFailToLoadInterstitial:(CBLocation)location
 withError:(CBLoadError)error;

// Вызывается после того, как вставка была прекращена.
- (void)didDismissInterstitial:(CBLocation)location;

// Вызывается после того, как вставка была закрыта.
- (void)didCloseInterstitial:(CBLocation)location;

// Вызывается после того, как вставка была нажата.
- (void)didClickInterstitial:(CBLocation)location;

Делегированные методы для страницы «Другие приложения»

// Вызывается до того, как страница «Другие приложения» отображается на экране.
- (BOOL)shouldDisplayMoreApps:(CBLocation)location;

// Вызывается после того, как страница «Другие приложения» отображается на экране.
- (void)didDisplayMoreApps:(CBLocation)location;

// Вызывается после того, как страница «Другие приложения» загружена с серверов Chartboost API
// и сохранена в локальный кэш.
- (void)didCacheMoreApps:(CBLocation)location;

// Вызывается после того, как страница «Другие приложения» была прекращена.
- (void)didDismissMoreApps:(CBLocation)location;

// Вызывается после того, как страница «Другие приложения» была закрыта.
- (void)didCloseMoreApps:(CBLocation)location;

// Вызывается после того, как страница «Другие приложения» была нажата.
- (void)didClickMoreApps:(CBLocation)location;

// Вызывается после неудачной попытки загрузить страницу «Другие приложения»
// с серверов Chartboost API.
- (void)didFailToLoadMoreApps:(CBLocation)location
 withError:(CBLoadError)error;

Делегированные методы для видео с вознаграждением за просмотр

(подробнее о Chartboost Video см. эту страницу)

// Вызывается после предварительного извлечения видео.
- (void)didPrefetchVideos;

// Вызывается до того, как вознаграждаемое видео отображается на экране.
- (BOOL)shouldDisplayRewardedVideo:(CBLocation)location;

// Вызывается после того, как вознаграждаемое видео отображается на экране.
- (void)didDisplayRewardedVideo:(CBLocation)location;

// Вызывается после того, как вознаграждаемое видео загружено с серверов Chartboost API
// и сохранено в локальный кэш.
- (void)didCacheRewardedVideo:(CBLocation)location;

// Вызывается после неудачной попытки загрузить вознаграждаемое видео
// с серверов Chartboost API.
- (void)didFailToLoadRewardedVideo:(CBLocation)location
 withError:(CBLoadError)error;

// Вызывается после того, как вознаграждаемое видео было прекращено.
- (void)didDismissRewardedVideo:(CBLocation)location;

// Вызывается после того, как вознаграждаемое видео было закрыто.
- (void)didCloseRewardedVideo:(CBLocation)location;

// Вызывается после того, как вознаграждаемое видео было нажато.
- (void)didClickRewardedVideo:(CBLocation)location;

// Вызывается после полного просмотра вознаграждаемого видео – то есть, когда пользователь получил право на вознаграждение.
- (void)didCompleteRewardedVideo:(CBLocation)location
 withReward:(int)reward;

// Реализуется для уведомления о том, что видео будет отображаться на экране для 
// данного CBLocation. После этого можно, например, отключать эффекты или звуки.
- (void)willDisplayVideo:(CBLocation)location;

Другие делегированные методы

// Вызывается после того, как страница App Store была прекращена при отображении встроенного App Sheet.
- (void)didCompleteAppStoreSheetFlow;

// Вызывается после того, как зарегистрирован клик, но пользователь не перенаправлен в App Store.
- (void)didFailToRecordClick:(CBLocation)location
 withError:(CBClickError)error;

// Вызывается после того, как успешно инициализирован SDK и завершено предварительное извлечение видео
- (void)didInitialize:(BOOL)status;

Делегированные методы Встроенной рекламы

// Вызывается после того, как объект Встроенной рекламы загружен с серверов Chartboost API
// и сохранен в локальный кэш.
- (void)didCacheInPlay:(CBLocation)location;

// Вызывается после неудачной попытки Встроенной рекламы загрузить данные
// с серверов Chartboost API.
- (void)didFailToLoadInPlay:(CBLocation)location
 withError:(CBLoadError)error;

Методы возрастной проверки

// Определяет, следует ли Chartboost SDK блокировать по возрастной проверке.
+ (void)setShouldPauseClickForConfirmation:(BOOL)shouldPause;

// Вызывается, если Chartboost SDK приостанавливает действия при клике в ожидании подтверждения от пользователя. Применяется
// для реализации возрастной проверки в игре.
- (void)didPauseClickForConfirmation;

// Проверяет, пройдена ли возрастная проверка. Если указано, Chartboost будет ждать 
// этот вызов, прежде чем отобразить iOS App Store.
+ (void)didPassAgeGate:(BOOL)pass;