Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Монфрид
1194 / 1004 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
#1

AdBannerView на все Views - Программирование iOS

08.05.2013, 15:31. Просмотров 779. Ответов 4

Хочу вставить баннер на большинство views. В основном используются TableView. Решил для баннера использовать TableHeader у TableView. Apple рекомендует в таких случаях не создавать баннеры для каждого окна, а использовать один (shared).
Создал такой класс:
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#import <Foundation/Foundation.h>
#import <iAd/iAd.h>@interface AdManager : NSObject <ADBannerViewDelegate>
@property (nonatomic, strong) ADBannerView *bannerView;
+ (AdManager *)sharedInstance;
 
#import "AdManager.h"
 
@implementation AdManager
@synthesize bannerView;
 
+ (AdManager *)sharedInstance
{
    static AdManager *sharedInstance = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedInstance = [[AdManager alloc] init];
    });
    return sharedInstance;
}
 
-(instancetype)init
{
    if (self=[super init]) {
        bannerView = [[ADBannerView alloc] init];
        bannerView.delegate=self;
    }
    return self;
}
В AppDelegate создаю экземпляр этого класса. И в TableView's подписываюсь на notification которые идут от баннера.
И соответственно, при наступлении события гружу баннер в header.
Objective-C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
-(void)viewWillAppear:(BOOL)animated
{
    if (self.appDelegate.bannerView.isBannerLoaded)
        [self bannerLoadedSuccess:nil];
    
    [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(bannerLoadedSuccess:) name:@"BannerLoaded" object:nil];
    [self.tableView reloadData];
    [super viewWillAppear:animated];
}
 
-(void)bannerLoadedSuccess:(NSNotification *)notification
{
    NSLog(@"notification! tbl1");
    self.tableView.tableHeaderView=self.appDelegate.bannerView;
}
 
-(void)viewWillDisappear:(BOOL)animated
{
    [[NSNotificationCenter defaultCenter]removeObserver:self];
    self.tableView.tableHeaderView=nil;
    [super viewWillDisappear:animated];
}
Для примера, создал TabBar c 2мя TableViewController'ами. На обоих tableView один и тот же код, который я привёл выше. Когда один tableView используется для баннера, то всё хорошо, как только использую два, ничего не работает.

Проект прилагаю ниже. Буду сильно благодарен за помощь.BannerOnAllViews.zip
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2013, 15:31     AdBannerView на все Views
Посмотрите здесь:

Два views для обработки поворота - Программирование iOS
Добрый день! Решил потренировать вариант обработки поворота устройства, путем создания двух Views - для каждой из ориентаций. ...

Shared Views - Ruby on Rails
есть две, абсолютно одинаковые модели Expense и ExpenseCash (class ExpensesCashController &lt; ExpensesController) (не спрашивайте, почему...

Ссылка на views - Drupal
есть сайт, в главном меню есть страны(со ссылками), но само название блока &quot;Страны&quot; статическое. Нужно сделать &quot;страны&quot; активной ссылкой...

Не выводит Views - PHP
Здравствуйте уважаемые форумчане. Кое в чем разобрался, но до конца непонятно... В layouts даю ссылку в меню: array('label'=&gt;' Главная',...

Partitioned Views - SQL Server
Подскажите, сложилась такая ситуация: решил сделать Partitioned View. Была у меня таблица, около 3,5 млн. записей. Разбил я ее на 12...

Views и VB6 не контачат - Visual Basic
Причем на 50% машин. Странно, ведъ все остальное проходит нормально. Может кто сталкивался с этим. Подозреваю что во всем виноватo ADO 2.1

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
13.05.2013, 14:16     AdBannerView на все Views #2
Я бы на window его положил... Если идея по каким-то причинам не прокатывает, вечером смогу проект глянуть.
Монфрид
1194 / 1004 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
13.05.2013, 15:26  [ТС]     AdBannerView на все Views #3
mobidevelop, спасибо, примерно такое решение и сделал. В appDelegate добавил в rootViewController

Добавлено через 1 минуту
mobidevelop, и скажите пожалуйста, первый раз будем выкладывать в аппСтор. Добавив эти баннеры, они сами будут брать контент для показа или же где то надо настроить что хотим показать?
mobidevelop
182 / 182 / 3
Регистрация: 10.01.2013
Сообщений: 596
13.05.2013, 19:02     AdBannerView на все Views #4
В айтюнсконнекте надо галку поставить. В настройках версии приложения есть соответствующий пункт про рекламу. Причем, ее нельзя убрать/поставить если версия вышла в продажу - только для новой версии можно.
PS. Что-то у меня itunesconnect не открывается. Как только прорвусь подробнее опишу куда там кликать надо.

Добавлено через 3 часа 24 минуты
Во. Заработало.
https://itunesconnect.apple.com -> Manage Your Apps -> <Нужное_приложение> -> Manage iAd Network.
Ну а там, вроде, все понятно должно быть.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.05.2013, 09:06     AdBannerView на все Views
Еще ссылки по теме:

Не отображаются картинки из папки Views - C# MVC
В проекте есть папка для представлений Views, в ней есть папка GeneralFiles, а в GeneralFiles картинка background_body.jpg. Так же есть...

Tab Layout with Swipeable Views - Программирование Android
Делаю вкладки по этому примеру - http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/ Выдает ошибку в строке...

Индексы в таблицах + views + sqlplus - Oracle
1) Индексы(sqldeveloper) Не могу понять как сделать indexes: a) b-tree index; b) bitmap index; c) function-based indexes. Есть...

Передача данных их контроллера в views - PHP ООП
Здравствуйте, МБ вопрос совсем не точный, изучаю ООП и стопарнулся на таком этапе: Класс View class View { public $template_view =...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Монфрид
1194 / 1004 / 153
Регистрация: 07.03.2012
Сообщений: 3,243
Завершенные тесты: 2
14.05.2013, 09:06  [ТС]     AdBannerView на все Views #5
спасибо за помощь
Yandex
Объявления
14.05.2013, 09:06     AdBannerView на все Views
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru