2015-11-13 2 views
0

Сегодня я зарегистрировался в adMob, и я начал работать с объявлениями adMob в своих приложениях. Первый - это игра (с контрольными точками зрения), и я хочу показать рекламное объявление сразу после игры по экрану, поэтому я хочу загрузить интерстициальное право после просмотра с помощью игры с нагрузкой (это представление доступно только после игры, и игра длится в течение одной минуты, поэтому она не должна появляться слишком часто)Admob и межстраничные объявления с iOS9

Я видел много учебников, на youtube и на сайте admob, у меня было много проблем вроде: admob framework не найден, даже если я его импортировал, i отключил биткод, чтобы избежать ошибок компоновщика при сборке, , но я все еще не вижу тестовое объявление в своем приложении, на тренажере и реальных устройствах.

Я импортировал все рамки, необходимые для admob, а в xcode у меня есть вопросительный знак около рамки GoogleMobileAds, что это значит? Первая линия о AdMob является:

import GoogleMobileAds 

внутри ViewController

var interstitial: GADInterstitial! 
func createNloadAd() -> GADInterstitial 
{ 
    var ad = GADInterstitial(adUnitID: "XXX") 



    var request = GADRequest() 

    request.testDevices = [kGADSimulatorID] 

    ad!.loadRequest(request) 

    return ad 

} 

внутри viewdidload

self.interstitial = self.createNloadAd() 
    if(self.interstitial!.isReady) 
    { 
     self.interstitial!.presentFromRootViewController(self) 
     self.interstitial! = self.createNloadAd() 
    } 

в AdUnitId я попробовал идентификатор интерстициальной я созданный на веб-сайте AdMob и других строк найдено внутри учебных пособий, но никто не работал

в testdevices я добавил UDID моего iphone после того, как увижу сообщение на выходе, но я не вижу никакого тестового объявления, и у меня нет ошибки вообще

И я не касался раскадровки, мне нужно создать что-то в раскадровке?

Перед отправкой приложения в AppStore я должен удалить строку testdevices? И, конечно, поставить свою реальную AdUnitId

Может быть, код правильный, но если приложение не публикуется AdMob не будет загружаться, или, может быть, я придется ждать за день до того, как мой вступительный id начнет работать

Где я могу найти последние идентификационные номера admob для тестирования? Итак, я тестирую приложение и, если работает, меняю идентификатор и отправляю

Я использую Xcode 7.1, AdMob 7.5.2, а цель развертывания моего приложения - iOS7, и я тестировал его на симуляторе с 9.1 и моим старым iPhone4 с iOS7, и это не должно быть проблемой, потому что admob поддерживает даже iOS6

Еще один вопрос о рекомендациях admob, в других приложениях я могу использовать iAd в представлении и Admob в другом? Могу ли я быть запрещенным для этого? объявления в нижней части экрана

ответ

7

рамки AdMob не нашли, даже если я импортировать его

Удалите каркас и импортируйте его снова. Убедитесь, что вы проверяете «Скопируйте элементы, если необходимо». Кроме того, проверьте пути поиска в библиотеке в соответствии с вашими настройками проекта и этапами сборки, чтобы увидеть, включена ли инфраструктура.

Я импортировал все рамки, необходимые для AdMob

В этом нет необходимости. Рамка AdMob импортирует необходимые ей фреймы, если вы включите import GoogleMobileAds.

И я не касался раскадровки. Должен ли я создавать что-то в раскадровке?

Нет

Перед отправкой приложения в App Store, я должен удалить строку тестирования устройств и поставить свою реальную AdUnitId?

Да. Попробуйте использовать реальный AdUnitID сейчас, чтобы узнать, вызывает ли ваш тестовый идентификатор проблему.

Может быть, код правильный, но если приложение не публикуется AdMob не будет загружаться, или, может быть, я должен подождать день до моего AdMob идентификатор начинает работать

No. Приложение не должны быть опубликованы, чтобы получать рекламные объявления в прямом эфире.

Где я могу найти последние ID AdMob для тестирования? Поэтому я тестирую приложение, а если работает, я меняю идентификатор и отправляю

Нигде. Неразумно выдавать свой AdUnitID.

Другой вопрос о рекомендациях AdMob, в других приложениях я могу использовать iAd в представлении и AdMob в другом? Могу ли я быть запрещенным для этого? Только баннерная реклама в нижней части экрана

Используйте столько рекламных сетей в своем приложении, сколько захотите. Ничего не говорится о том, что вам не разрешают.


Похоже, вы на правильном пути. Вы должны установить и включить методы делегирования межстраничного делегата, хотя для получения сообщений об ошибках. Вам также необходимо разрешить произвольные нагрузки в вашем .plist. Проверьте AdMob's iOS 9 Considerations.

Вы звоните createNloadAd(), прежде чем пытаться представить интерстициальный номер в своем viewDidLoad? Для загрузки рекламы требуется время.

Убедитесь, что AdUnitID, предоставленный AdMob, идентичен тому, который вы используете.

Также переместите презентацию от viewDidLoad до viewDidAppear.

Вот пример создания нашего интерстициальные в нашем AppDelegate.swift, а затем представляя интерстициальные в нашем ViewController.swift:

AppDelegate.скор

import UIKit 
import GoogleMobileAds // Import AdMob 

@UIApplicationMain 
class AppDelegate: UIResponder, UIApplicationDelegate, GADInterstitialDelegate { // Include delegate 

    var window: UIWindow? 
    var myInterstitial : GADInterstitial? 

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     // App launched 
     // Load interstitial 
     myInterstitial = createAndLoadInterstitial() 
     return true 
    } 

    func createAndLoadInterstitial()->GADInterstitial { 
     let interstitial = GADInterstitial(adUnitID: "Your Ad Unit ID") 
     interstitial.delegate = self 
     interstitial?.loadRequest(GADRequest()) 
     return interstitial 
    } 

    func interstitialDidReceiveAd(ad: GADInterstitial!) { 
     print("interstitialDidReceiveAd") 
    } 

    func interstitial(ad: GADInterstitial!, didFailToReceiveAdWithError error: GADRequestError!) { 
     print(error.localizedDescription) 
    } 

    func interstitialDidDismissScreen(ad: GADInterstitial!) { 
     print("interstitialDidDismissScreen") 
     myInterstitial = createAndLoadInterstitial() 
    } 

ViewController.swift (Это будет ваша игра окончена вид контроллера)

import UIKit 

class ViewController: UIViewController { 

    let appDelegate = UIApplication.sharedApplication().delegate as! AppDelegate // Create reference to our app delegate 

    override func viewDidLoad() { 
     super.viewDidLoad() 
    } 

    override func viewDidAppear(animated: Bool) { 
     appDelegate.myInterstitial?.presentFromRootViewController(self) 
    } 

GitHub: https://github.com/DanielStormApps/Shared-AdMob-Interstitial

+0

Спасибо, теперь рекламные нагрузки, но если я сделать еще одну игру в конце в консоли я получаю это сообщение: не будет отправлять запрос, потому что использовался интерстициальный объект – GioB

+0

Могу ли я вызвать объявление в виде баннера из класса App Delegate как межстраничное? –

+0

@GautamSareriya Я не уверен, что вы имеете в виду. Вы должны задать новый вопрос. –

Смежные вопросы