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
, ระบุความสอดคล้องกับโปรโตคอล 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
ของคุณได้ 3 ขนาด ความกว้างของหน่วยโฆษณามีความยืดหยุ่น โดยกำหนดความกว้างขั้นต่ำไว้ที่ 320 พิกเซล มีเพียงความสูงเท่านั้นที่กำหนดไว้คงที่แล้ว รูปแบบโฆษณา | ข้อมูลอ้างอิงสำหรับ AdSize | ขนาด | คำแนะนำ |
---|---|---|---|
สี่เหลี่ยมผืนผ้าขนาดกลาง |
| 300x250 | ขอแนะนำอย่างยิ่งให้ใช้รูปแบบนี้ เนื่องจากให้ประสิทธิภาพที่สูงกว่า มีคุณภาพดีกว่า และใช้ CPU ประมวลผลน้อยกว่า |
แบนเนอร์มาตรฐาน |
| 320x50 | รูปแบบนี้เหมาะกับโทรศัพท์ แต่ไม่แนะนำให้ใช้ เนื่องจากมีประสิทธิภาพและคุณภาพต่ำ |
แบนเนอร์ขนาดใหญ่ |
| 320x90 | รูปแบบนี้เหมาะกับแท็บเล็ตและอุปกรณ์ที่มีขนาดใหญ่กว่า แต่ไม่แนะนำให้ใช้ เนื่องจากมีประสิทธิภาพและคุณภาพต่ำ |
YOUR_PLACEMENT_ID
ด้วยสตริง 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.")
}
เพิ่มและใช้ฟังก์ชั่นการมอบหมาย 2 ฟังก์ชั่นต่อไปนี้ในตัวควบคุมมุมมองเพื่อจัดการกับข้อผิดพลาดในการโหลดโฆษณา
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 และใช้งานบนอุปกรณ์หรือโปรแกรมจำลอง