Audience Network memungkinkan Anda memonetisasi aplikasi iOS Anda dengan iklan Facebook. Panduan ini menjelaskan cara membuat aplikasi iOS yang menampilkan iklan banner dan persegi sedang.
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.
Jika Anda tertarik dengan jenis unit iklan lain, lihat daftar jenis yang tersedia.
Mari kita terapkan penempatan iklan banner berikut ini.
Pastikan Anda telah menyelesaikan panduan Panduan Pengaturan iOS sebelum melanjutkan.
Saat merancang iklan native dan iklan banner, pastikan Anda telah mengikuti pedoman tata letak iOS untuk memberikan pengalaman pengguna yang optimal.
adContainer
. FBAudienceNetwork
, nyatakan kesesuaian dengan protokol FBAdViewDelegate
, dan tambahkan variabel instance untuk unit iklan
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBAdViewDelegate {
@IBOutlet private var adContainer: UIView!
private var adView: FBAdView?
}
viewDidLoad
; Buatlah instance baru dari FBAdView
dan tambahkan ke tampilan. FBAdView
adalah subkelas dari UIView
. Anda dapat menambahkannya ke hierarki tampilan Anda seperti tampilan lainnya.
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
di parameter adSize ke FBAdView
.FBAdView
Anda. Lebar unit fleksibel dengan minimum 320 px, dan hanya tinggi yang ditentukan. Format Iklan | Referensi AdSize | Ukuran | Rekomendasi |
---|---|---|---|
Persegi Sedang |
| 300 x 250 | Format ini sangat direkomendasikan karena memberikan kinerja yang lebih baik, kualitas yang lebih tinggi, dan CPU yang lebih efisien |
Banner Standar |
| 320 x 50 | Format ini cocok untuk ponsel, tetapi tidak direkomendasikan karena kinerja dan kualitas yang buruk |
Banner Besar |
| 320 x 90 | Format ini cocok untuk tablet dan perangkat yang lebih besar, tetapi tidak direkomendasikan karena kinerja dan kualitas yang buruk |
YOUR_PLACEMENT_ID
dengan string id penempatan Anda sendiri. Jika Anda tidak memiliki id penempatan atau tidak tahu cara mendapatkannya, baca halaman Panduan Memulai. Pilih target build Anda menjadi perangkat dan jalankan kode di atas, Anda akan melihat tampilan seperti ini:Saat menjalankan iklan di simulator, ubahlah pengaturannya ke mode pengujian untuk melihat iklan uji. Silakan melihat Cara Menggunakan Mode Pengujian untuk informasi selengkapnya.
Secara opsional, Anda dapat menambahkan fungsi berikut untuk menangani kasus-kasus ketika iklan ditutup atau ketika pengguna mengkliknya:
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.")
}
Tambahkan dan terapkan dua fungsi delegasi berikut ini di Pengontrol Tampilan Anda untuk menangani kegagalan pemuatan iklan:
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)
}
Jika tidak ada iklan yang ditampilkan, adView:didFailWithError:
akan dipanggil dengan error.code
yang diatur ke 1001
. Jika Anda menggunakan layer pelaporan atau mediasi kustom Anda sendiri, Anda mungkin perlu memeriksa nilai kode dan mendeteksi kasus ini. Anda dapat beralih ke jaringan iklan lain dalam kasus ini, tetapi jangan langsung meminta ulang iklan setelahnya.
NativeAdSample
tersedia sebagai bagian dari SDK dan dapat ditemukan dalam folder FBAudienceNetwork/samples
. Buka proyek dengan Xcode dan jalankan di perangkat atau simulator.