Это open source библиотека для интеграции рекламы сети Plus1 WapStart в ваши iOS-приложения, включая iPhone и iPad.
Plus1 WapStart iOS SDK распространяется под свободной лицензией BSD (as is).
-
Скачайте последнюю версию SDK: https://github.com/WapStart/plus1-ios-sdk/tags
-
Скопируйте все файлы, находящиеся в директориях SDK/resources и SDK/src, в свой проект;
-
В prefix header файле (.pch) своего приложения укажите константы, необходимые для работы SDK. Например:
#define PLUS1_APP_ID 4242 // Идентификатор приложения в системе Plus1 WapStart
#define UPDATE_BANNER_TIMEOUT 15 // Частота обновления баннера в секундах
Для корректной работы тестового приложения также требуется указать идентификатор площадки (PLUS1_APP_ID) в файле WapPlusDemo_Prefix.pch. Для тестового приложения AdWhirlSample идентификатор площадки нужно задать в файле adWhirlViewController.m (метод initWithApplicationId).
Идентификатор площадки PLUS1_APP_ID можно узнать на странице Код для площадки после регистрации в системе Plus1 WapStart и добавления площадки типа iOS.
Если вы используете ARC в вашем приложении, то требуется добавить флаг компилятора -fno-objc-arc к классам SDK. В противном случае на этапе компиляции будут ошибки.
Для добавления флагов пройдите в настройки вашего проекта, затем перейдите в Build Phases, раскройте список Compile Sources, найдите в списке классов нужные и кликните по ним двойным щелчком. После добавления флага должен получиться примерно следующий результат:

Примеры настройки и конфигурации баннеров можно посмотреть в тестовом приложении WapPlusDemo. В этом разделе даются краткие пояснения для быстрой настройки собственного проекта.
В первую очередь необходимо добавить собственную url-схему. Это необходимо для возврата из браузера обратно в приложение после синхронизации cookie пользователя. Схему нужно добавить в plist вашего приложения. Если вы используете disabledOpenLinkAction в WPBannerRequestInfo, вы можете пропустить эти настройки (не рекомендуется).
Например, для тестового приложения WapPlusDemo url-схема выглядит следующим образом:

Для тестового приложения в качестве схемы выступает wsp1demo://
Внимание: для гарантии возврата в ваше приложение схема должна быть уникальна. Если указанная вами схема используется другим приложением, поведение iOS не регламентированно и переход по ссылке может быть осуществлен в любое приложение. Постарайтесь придумать достаточно уникальную схему.
Добавьте поддержку протокола WPBannerViewDelegate к наследнику UIViewController:
#import <UIKit/UIKit.h>
#import "WPBannerView.h"
@interface ExampleViewController : UIViewController <WPBannerViewDelegate>
{
...
}
...
@endИнициализируйте и настройте объекты WPBannerRequestInfo и WPBannerView в методе viewDidLoad следующим образом:
#import "ExampleViewController.h"
#import "WPBannerInfo.h"
@interface ExampleViewController (PrivateMethods)
...
@end
@implementation ExampleViewController
- (void)viewDidLoad
{
[super viewDidLoad];
...
WPBannerRequestInfo *requestInfo = [[WPBannerRequestInfo alloc] initWithApplicationId:PLUS1_APP_ID];
topBannerView = [[WPBannerView alloc] initWithBannerRequestInfo:requestInfo andCallbackUrl:@"wsp1demo://ru.wapstart.plus1.ios.demoapp"];
topBannerView.showCloseButton = YES;
topBannerView.delegate = self;
topBannerView.autoupdateTimeout = UPDATE_BANNER_TIMEOUT;
[topBannerView setHidden:YES];
[self.view addSubview:topBannerView];
[requestInfo release];
[topBannerView reloadBanner];
}
@endВы можете передать nil для andCallbackUrl, если используете disabledOpenLinkAction в WPBannerRequestInfo (не рекомендуется).
Все объекты можно настраивать на ваше усмотрение - смотрите подробное описание свойств объектов WPBannerRequestInfo и WPBannerView.
Если необходимо, добавьте в ваше приложение необходимые методы протокола WPBannerViewDelegate.
Предполагается, что вы знакомы с AdWhirl и выполнили все шаги по его интеграции в приложение.
Примеры настройки и конфигурации баннеров можно посмотреть в тестовом приложении AdWhirlSample. В этом разделе даются краткие пояснения для быстрой настройки собственного проекта, использующего AdWhirl.
Ниже приводится последовательность действий для добавления рекламной сети Plus1 WapStart через механизм Custom Events.
Добавьте поддержку протокола WPBannerViewDelegate (если необходимо), объект класса WPBannerView и метод plus1CustomEvent, отвечающий за получение баннеров от сети:
#import <UIKit/UIKit.h>
#import "AdWhirlView.h"
#import "AdWhirlDelegateProtocol.h"
#import "WPBannerView.h"
@interface adWhirlViewController : UIViewController<AdWhirlDelegate, WPBannerViewDelegate> {
WPBannerView *plus1Banner;
}
- (void) plus1CustomEvent:(AdWhirlView *) adWhirlView;
@endИнициализируйте и настройте объекты WPBannerRequestInfo и WPBannerView в методе viewDidLoad, добавьте имплементацию метода plus1CustomEvent для обработки событий AdWhirl:
#import "adWhirlViewController.h"
@implementation adWhirlViewController
- (void)viewDidLoad {
[super viewDidLoad];
...
WPBannerRequestInfo *requestInfo =
[[WPBannerRequestInfo alloc] initWithApplicationId:
/* Place your WapStart Plus1 application id here */];
plus1Banner = [[WPBannerView alloc] initWithBannerRequestInfo:requestInfo andCallbackUrl:/* Place your callback url here */];
plus1Banner.showCloseButton = NO;
plus1Banner.autoupdateTimeout = 0;
plus1Banner.delegate = self;
[plus1Banner setFrame:adView.bounds];
[requestInfo release];
}
- (void)dealloc {
[plus1Banner release];
[super dealloc];
}
# pragma mark Plus1 Custom Event
- (void) plus1CustomEvent:(AdWhirlView *) adWhirlView {
[plus1Banner reloadBanner];
[adWhirlView replaceBannerViewWith:plus1Banner];
}
@endЕсли необходимо, добавьте в ваше приложение необходимые методы протокола WPBannerViewDelegate.
Зайдите в панель управления приложением на сайте AdWhirl и добавьте вновь созданный Custom Event к сети:

После добавления вы сможете указать процент рекламных объявлений, который будет отсылаться сети Plus1 WapStart.
По всем возникающим у вас вопросам интеграции вы можете обратиться в службу поддержки пользователей:
E-Mail: clientsupport@co.wapstart.ru
ICQ: 553425962