Audience Network позволяет монетизировать приложения iOS за счет рекламы Facebook. В этом руководстве объясняется, как создать приложение для iOS, которое показывает баннерную рекламу и средние прямоугольные баннеры.
You can change placements in Monetization Manager to the Medium Rectangle format if these were previously configured as Banner for bidding. Similarly, for any new medium rectangle placements, navigate to the placement settings page in Monetization Manager and select Medium Rectangle (not Banner).
Placements will deliver as normal even if they are not changed to the medium rectangle format. However, to avoid confusion, we recommend that you change these placements to medium rectangle.
Если вам интересны другие виды рекламы, ознакомьтесь со списком доступных видов.
Давайте посмотрим размещение баннерной рекламы на следующем примере.
Обязательно ознакомьтесь с Руководством по настройке iOS перед продолжением.
Убедитесь, что ваша нативная и баннерная реклама соответствуют руководству по компоновке для iOS.
adContainer
. FBAudienceNetwork
, в файл заголовка контроллера представления (или файл Swift, если вы используете Swift), объявите соответствие протоколу FBAdViewDelegate
и добавьте переменную экземпляра для рекламный блок
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBAdViewDelegate {
@IBOutlet private var adContainer: UIView!
private var adView: FBAdView?
}
viewDidLoad
; Создайте новый экземпляр FBAdView
и добавьте его в просмотр. FBAdView
является подклассом UIView
. Его можно добавить в иерархию просмотра как и любой другой просмотр.
override func viewDidLoad() {
super.viewDidLoad()
// Instantiate an AdView object.
// NOTE: the placement ID will eventually identify this as your app, you can ignore while you
// are testing and replace it later when you have signed up.
// While you are using this temporary code you will only get test ads and if you release
// your code like this to the App Store your users will not receive ads (you will get a 'No Fill' error).
let adView = FBAdView(placementID: "YOUR_PLACEMENT_ID", adSize: kFBAdSizeHeight50Banner, rootViewController: self)
adView.frame = CGRect(x: 0, y: 0, width: 320, height: 250)
adView.delegate = self
adView.loadAd()
self.adView = adView
}
kFBAdSizeHeight250Rectangle
в параметре adSize в код FBAdView
. FBAdView
. Ширина блока непостоянна, но не меньше 320 пикселей, и только его высота имеет определенное значение. Формат рекламы | Справочник AdSize | Размер | Рекомендация |
---|---|---|---|
Средний прямоугольный баннер |
| 300x250 | Этот формат настоятельно рекомендуется, поскольку он обеспечивает повышенную производительность, более высокое качество и эффективнее использует ЦП |
Стандартный баннер |
| 320x50 | Этот формат подходит для телефонов, но не рекомендуется из-за низкой производительности и качества |
Большой баннер |
| 320x90 | Этот формат подходит для планшетов и устройствах большего размера, но не рекомендуется из-за низкой производительности и качества |
YOUR_PLACEMENT_ID
собственной строкой с ID места размещения. Если у вас нет ID места размещения или вы не знаете, как его получить, обратитесь к руководству по началу работы. Выберите сборку в качестве устройства и выполните код, приведенный выше. Вы увидите следующее:Чтобы смотреть тестовую рекламу, при ее запуске в симуляторе включите тестовый режим. Подробнее см. в разделе Использование тестового режима.
При необходимости можно также добавить следующие функции для обработки случаев, когда реклама закрывается или пользователь нажимает на нее:
func adViewDidClick(_ adView: FBAdView) {
print("Ad was clicked.")
}
func adViewDidFinishHandlingClick(_ adView: FBAdView) {
print("Ad did finish click handling.")
}
func adViewWillLogImpression(_ adView: FBAdView) {
print("Ad impression is being captured.")
}
Добавьте и включите в файл интеграции контроллера представления следующие две функцию, чтобы обрабатывать случаи сбоя и завершения загрузки рекламы:
func adView(_ adView: FBAdView, didFailWithError error: Error) {
print("Ad failed to load with error: \(error.localizedDescription)")
}
func adViewDidLoad(_ adView: FBAdView) {
print("Ad was loaded and ready to be displayed")
showAd()
}
private func showAd() {
guard let adView = adView, adView.isAdValid else {
return
}
adContainer.addSubview(adView)
}
При отсутствии рекламы для показа будет вызван adView:didFailWithError:
про помощи кода error.code
, установленного на 1001
. Если вы используете собственную настроенную службу отчетов или агрегацию, для обнаружения подобных случаев можно проверить значение кода. В этой ситуации вы можете перейти на другую рекламную сеть, но не отправляйте сразу же после этого повторный запрос на получение рекламы.
NativeAdSample
является частью SDK и находится в папке FBAudienceNetwork/samples
. Откройте проект в Xcode и запустите его на устройстве или в эмуляторе.