Как стать автором
Обновить

Комментарии 17

Спасибо, но интереснее было бы почитать о ваших приложениях) сколько их у вас? Какая аудитория? DAU? CTR? Картинка хороша)
так нажмите на профиль PapaBubaDiop, там и вправду довольно познавательно.
В adMob у меня 44 приложения. Для замены всех приложений в магазине уже необходимо потратить 44 часа (при медленном интернете).
Это неделя тупой работы. Слава Богу, я ничего подобного не делаю — обновляю только 6-7 ударных приложений, приносящих деньги.
А вы зарабатываете на жизнь этим? Или есть некая основная работа? (извините за тупые вопросы :))
Это увлечение. В основное время работаю, как все, за рубли. Но из-за нового курса валюты, хобби приносит денег не меньше официальной работы.
Вы забыли упомянуть, что теперь AdMob можно добавить через CocoaPods ;)
Расскажите подробнее, пожалуйста.
В чем смысл апдейта ради апдейта. Отзывы и рейтинг теряется, приложение падает. При очередной проверке Apple может придраться к чему-то новому или обрезать кейворды и название.
А в новых приложениях да, пришлось еще разрешить в своем проекте использовать подключение модулей import.
Это точно. Единственный профит — исчезли небольшие экзотические косяки при показе рекламы.
И исчезли страхи, что Google, р-раз, и отрубит поддержку неактуальных древних библиотек.
Кстати-кстати, тоже обратил внимание, что apple режет кейворды. Вы знаете, как это побороть? И по каким причинам такое может происходить?
Режут в основном нерелевантные кейворды: вк, музыка, скачать… Побороть — не использовать нерелевантные и те которые застолбили за собой некотоыре компании как торговые марки.
Кто-нибудь сталкивался с тем, что метод didFailToReceiveAdWithError не вызывается в 6-м и 7-м adMob'е, если программ первый раз делает request рекламмы на устройстве в авиорежиме. Дальнейшее подключение сети уже никак не влияет на реквест. Срабатывание adViewDidReceiveAd не происходит до тех пор пока программа не будет закрыта и затем открыта с подключением к сети. То есть пользователь первый раз зайдя в авиорежиме спокойно может дальше подключить сеть и работать в вашей программе без рекламы, пока она не «вылетит». Очень надеялась, что в 7-ке это исправят, но не исправили. Может кто знает как с этим бороться?
У меня срабатывает

— (void)adView:(GADBannerView *)view
didFailToReceiveAdWithError:(GADRequestError *)error {
adsFlag = 0;
NSLog(@«Failed to receive ad with error: %@», [error localizedFailureReason]);
}

Если пользователь запускает программу в авиарежиме.
Я с таким пользователем не борюсь, но проверяя флаг adsFlag, можно включить bannerView заново, когда сеть ожила.

// We've received an ad successfully.
— (void)adViewDidReceiveAd:(GADBannerView *)adView {
adsFlag = 1;
NSLog(@«Received ad successfully»);
}

Эту проверку можно делать по окончании какого-нибудь действия — закончился раунд игры, чел смотрит таблицу лучших результатов и прочее, что не чаще 1 раза в минуту игры.
Флажки — это дело правильное, у меня тоже такое есть. Но! Попробуйте удалить программу с устройства и первый раз ее запустить в авиорежиме.
Тут важно чтобы именно первый реквест прошел в авиорежиме. Тогда didFailToReceiveAdWithError не срабатывает, и флажок тоже не получит нужное значение. И самое печальное, что если реквест не пришел ни в didFailToReceiveAdWithError, ни в adViewDidReceiveAd, то дальнейшее его перезапускание не дает никакого эффекта, даже если сеть подключена. Даже удаление банера в программе и создание нового не запускает рекламму. Если же первый реквест был запущен хоть раз в сети, то все работает отлично: без сети запрос приходит в didFailToReceiveAdWithError, с сетью приходит в adViewDidReceiveAd. И дальше вы можете использовать свои флажки как угодно.
Я проверила это несколько раз, и абсолютно уверена в своих словах. Причем в 5-м SDK все было нормально.
Я проверил — у меня работает didFailToReceiveAdWithError при запуске приложения из аварежима.

Ты делаешь два магических присваивания?

-(void) initAds
{
GADAdSize adSize = [self adSizeForOrientation:self.interfaceOrientation];
bannerView = [[GADBannerView alloc] initWithAdSize:adSize];
bannerView.adUnitID = adMobId;

// вот эти
bannerView.delegate = self;
[bannerView setRootViewController:self];

Вероятно где-то нарушена чистота эксперимента.
Нужно удалить приложение (! это обязательно!), включить авиарежим, запустить приложение и вызвать реквест. Только в таком порядке возникает ошибка. Как только, хотя бы раз приложение вызвало adViewDidReceiveAd, то этой ошибки больше никогда не происходит, даже если вы закроете и откроете приложение в авиарежиме заново!
Если приложение 1-й раз запускается из авиарежима, только тогда происходит проблема.
Может проблема в версиях, я проверяю на xcode 6.1 и 6.1.1.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий