Audience Network ช่วยให้คุณสร้างรายได้จากแอพ iOS ของคุณด้วยโฆษณาบน Facebook ได้ โฆษณาคั่นคือโฆษณาแบบเต็มหน้าจอที่คุณสามารถแสดงในแอพของคุณ ทำตามคำแนะนำนี้เพื่อแสดงหน่วยโฆษณาประเภทนี้ หรือหากคุณสนใจหน่วยโฆษณาประเภทอื่นๆ โปรดดูรายการประเภทที่ใช้ได้
มาใช้ตำแหน่งการจัดวางโฆษณาคั่นดังต่อไปนี้กัน
อย่าลืมดูคู่มือเริ่มต้นใช้งาน Audience Network และเริ่มต้นใช้งาน iOS ก่อนดำเนินการต่อ
FBAudienceNetwork
ประกาศว่า ViewController
ใช้โปรโตคอล FBInterstitialAdDelegate
และเพิ่มตัวแปรอินสแตนซ์สำหรับหน่วยโฆษณาคั่น
import UIKit
import FBAudienceNetwork
class ViewController: UIViewController, FBInterstitialAdDelegate {
private var interstitialAd: FBInterstitialAd?
}
viewDidLoad
ของตัวควบคุมมุมมอง และใช้ interstitialAdDidLoad
override func viewDidLoad() {
super.viewDidLoad()
// Instantiate an InterstitialAd object.
// NOTE: the placement ID will eventually identify this as your app. You can ignore it 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 interstitialAd = FBInterstitialAd(placementID: "YOUR_PLACEMENT_ID")
interstitialAd.delegate = self
// For auto play video ads, it's recommended to load the ad at least 30 seconds before it is shown
interstitialAd.load()
self.interstitialAd = interstitialAd
}
func interstitialAdDidLoad(_ interstitialAd: FBInterstitialAd) {
guard interstitialAd.isAdValid else {
return
}
print("Ad is loaded and ready to be displayed")
interstitialAd.show(fromRootViewController: self)
}
ID ที่แสดงที่ YOUR_PLACEMENT_ID
เป็น ID ชั่วคราวเพื่อการทดสอบเท่านั้น
หากคุณใช้ ID ชั่วคราวนี้ในโค้ดที่ใช้งานจริง ผู้ใช้ของคุณจะไม่ได้รับโฆษณา (ผู้ใช้เหล่านี้จะได้รับข้อผิดพลาด No Fill (ไม่มีข้อมูล)) คุณต้องกลับมาที่นี่หลังจากการทดสอบ และแทนที่ ID ชั่วคราวนี้ด้วย ID ตำแหน่งการจัดวางที่ใช้งานจริง
หากต้องการรู้วิธีสร้าง ID ตำแหน่งการจัดวางที่ใช้งานจริง ให้ดูที่การตั้งค่า Audience Network
เลือกเป้าหมายการสร้างเป็นอุปกรณ์ และเรียกใช้โค้ดข้างต้น คุณควรจะเห็นสิ่งต่อไปนี้:เมื่อแสดงโฆษณาในโปรแกรมจำลอง ให้เปลี่ยนการตั้งค่าเป็นโหมดทดสอบเพื่อดูโฆษณาที่ทดสอบ โปรดดูข้อมูลเพิ่มเติมที่ “วิธีใช้โหมดทดสอบ”
อย่าเรียกใช้ loadAd
บน FBInterstitialAd ในขณะที่โฆษณากำลังแสดงอยู่บนหน้าจอ หากคุณจำเป็นต้องโหลด FBInterstitialAd อีกรายการหนึ่งสำหรับใช้ในอนาคต คุณสามารถทำได้หลังจากผู้ใช้ปิด FBInterstitialAd ในปัจจุบันไปแล้ว ตัวอย่างเช่น ในการเรียกกลับ interstitialAdDidClose
คุณสามารถเลือกเพิ่มฟังก์ชั่นต่อไปนี้เพื่อจัดการกับกรณีต่างๆ เมื่อโฆษณาแสดงขึ้น ถูกคลิก หรือปิดโดยผู้ใช้
func interstitialAdWillLogImpression(_ interstitialAd: FBInterstitialAd) {
print("The user sees the ad")
// Use this function as indication for a user's impression on the ad.
}
func interstitialAdDidClick(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the ad and will be taken to its destination")
// Use this function as indication for a user's click on the ad.
}
func interstitialAdWillClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
func interstitialAdDidClose(_ interstitialAd: FBInterstitialAd) {
print("The user clicked on the close button, the ad is just about to close")
// Consider to add code here to resume your app's flow
}
เพิ่มและใช้ฟังก์ชั่นต่อไปนี้ในไฟล์การใช้งานตัวควบคุมมุมมองเพื่อจัดการกับข้อผิดพลาดในการโหลดโฆษณา
func interstitialAd(_ interstitialAd: FBInterstitialAd, didFailWithError error: Error) {
print("Interstitial ad failed to load with error: \(error.localizedDescription)")
}
เมื่อไม่มีโฆษณาที่จะแสดง ระบบจะเรียกใช้ interstitialAd:didFailWithError:
โดยมีการตั้งค่า error.code
เป็น 1001
หากคุณใช้การรายงานแบบกำหนดเองหรือเลเยอร์สื่อกลางโฆษณา คุณอาจต้องตรวจสอบค่าโค้ดและตรวจหากรณีดังกล่าวนี้ คุณสามารถใช้เครือข่ายโฆษณาอื่นเป็นตัวเลือกสำรองได้ในกรณีนี้ แต่อย่าส่งคำขอโฆษณาซ้ำอีกครั้งในทันทีหลังจากดำเนินการ
NativeAdSample
สามารถใช้งานได้โดยเป็นส่วนหนึ่งใน SDK และอยู่ในโฟลเดอร์ FBAudienceNetwork/samples
เปิดโปรเจ็กต์ด้วย Xcode และใช้งานบนอุปกรณ์หรือโปรแกรมจำลอง