คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่โดยผสานการทำงาน Facebook SDK แล้วลงบันทึกเหตุการณ์เหล่านี้
มีการเปลี่ยนแปลงใน Facebook SDK สำหรับ iOS เราขอแนะนำให้อัพเกรดเป็น Facebook SDK สำหรับ iOS เวอร์ชั่นใหม่ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ส่วนการยินยอมสำหรับอุปกรณ์
คุณจะต้องมีสิ่งต่อไปนี้และดำเนินการดังนี้
ไปที่แดชบอร์ดของแอพ คลิกแอพของฉัน และสร้างแอพใหม่ขึ้นมาหากคุณยังไม่มีแอพ ไปที่การตั้งค่า > พื้นฐาน เพื่อดูแผงรายละเอียดของแอพที่มี ID ของแอพ, ข้อมูลลับของแอพ และรายละเอียดอื่นๆ เกี่ยวกับแอพของคุณ
เลื่อนลงไปที่ด้านล่างของหน้า แล้วคลิกเพิ่มแพลตฟอร์ม เลือก iOS เพิ่มรายละเอียดแอพของคุณ แล้วบันทึกการเปลี่ยนแปลง
ตั้งค่าแอพของคุณเพื่อการโฆษณาโดยเพิ่มรายละเอียดต่อไปนี้

เรียนรู้เพิ่มเติมเกี่ยวกับการเพิ่มรายละเอียดลงในแอพของคุณ เช่น ไอคอนหรือหมวดหมู่ ได้ที่เอกสารเกี่ยวกับการพัฒนาแอพ
หากต้องการแสดงโฆษณาและวัดผลการติดตั้งในตัวจัดการโฆษณา ให้เชื่อมโยงจัดการบัญชีโฆษณาและพอร์ตโฟลิโอธุรกิจอย่างน้อย 1 รายการกับแอพของคุณ
ขั้นตอนต่อไปนี้จะใช้โปรแกรมจัดการแพ็คเกจ Swift ในการตั้งค่าสภาพแวดล้อมการพัฒนาของคุณใน Xcode
กำหนดค่าไฟล์ Info.plist ด้วยข้อมูลโค้ด XML ที่มีข้อมูลเกี่ยวกับแอพของคุณ
หลังจากใช้การเข้าสู่ระบบด้วย Facebook เหตุการณ์ในแอพบางเหตุการณ์จะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับตัวจัดการเหตุการณ์โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์ในแอพอัตโนมัติ โปรดดูรายละเอียดเกี่ยวกับข้อมูลที่จะได้รับการเก็บรวบรวมและวิธีปิดใช้งานการลงบันทึกเหตุการณ์ในแอพอัตโนมัติที่การลงบันทึกเหตุการณ์ในแอพอัตโนมัติ
Info.plist และเลือก Open As ▸ Source Code<dict>...</dict>)
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>fbAPP-ID</string></array></dict></array><key>FacebookAppID</key><string>APP-ID</string><key>FacebookClientToken</key><string>CLIENT-TOKEN</string><key>FacebookDisplayName</key><string>APP-NAME</string>
<array><string> ในคีย์ [CFBundleURLSchemes] ให้แทนที่ APP-ID ด้วย ID ของแอพคุณ<string> ในคีย์ FacebookAppID ให้แทนที่ APP-ID ด้วย ID ของแอพคุณ<string> ในคีย์ FacebookClientToken ให้แทนที่ CLIENT-TOKEN ด้วยค่าที่พบได้ใน การตั้งค่า > ขั้นสูง > โทเค็นของไคลเอ็นต์ ในแดชบอร์ดของแอพคุณ<string> ในคีย์ FacebookDisplayName ให้แทนที่ APP-NAME ด้วยชื่อแอพของคุณInfo.plist ของแอพพลิเคชั่นของคุณจำเป็นต้องมีสิ่งต่อไปนี้ด้วย
<key>LSApplicationQueriesSchemes</key><array><string>fbapi</string><string>fb-messenger-share-api</string></array>
คุณสามารถกำหนดการรวบรวมเหตุการณ์ในแอพอัตโนมัติให้เป็น “true” หรือ “false” ได้โดยตรง โดยเพิ่ม FacebookAutoLogAppEventsEnabled เป็นคีย์ใน Info.plist
โปรเจ็กต์ของคุณจะต้องมีความสามารถ Keychain Sharing อยู่ด้วย เพื่อให้การเข้าสู่ระบบทำงานในแอพพลิเคชั่น Mac Catalyst ได้



เปลี่ยนโค้ดที่อยู่ในเมธอด AppDelegate เป็นโค้ดดังต่อไปนี้ โค้ดนี้จะส่งผลให้ SDK เริ่มทำงานเมื่อมีการเปิดใช้แอพของคุณ และช่วยให้ SDK รองรับการเข้าสู่ระบบและการแชร์จากแอพ Facebook แบบเนทีฟได้เมื่อคุณเข้าสู่ระบบหรือทำการแชร์ หากไม่แทนที่โค้ด ผู้ใช้จะต้องเข้าสู่ระบบ Facebook เพื่อใช้เบราว์เซอร์ในแอพในการเข้าสู่ระบบ
// AppDelegate.swift
import UIKit
import FBSDKCoreKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(
_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
) -> Bool {
ApplicationDelegate.shared.application(
application,
didFinishLaunchingWithOptions: launchOptions
)
return true
}
func application(
_ app: UIApplication,
open url: URL,
options: [UIApplication.OpenURLOptionsKey : Any] = [:]
) -> Bool {
ApplicationDelegate.shared.application(
app,
open: url,
sourceApplication: options[UIApplication.OpenURLOptionsKey.sourceApplication] as? String,
annotation: options[UIApplication.OpenURLOptionsKey.annotation]
)
}
}
iOS 13 ได้ย้ายฟังก์ชั่นการเปิด URL ไปที่ SceneDelegate แล้ว หากคุณกำลังใช้ iOS 13 อยู่ ให้เพิ่มเมธอดต่อไปนี้ลงใน SceneDelegate เพื่อให้การดำเนินการต่างๆ เช่น การเข้าสู่ระบบหรือการแชร์ ทำงานได้ตามที่ต้องการดังนี้
// SceneDelegate.swift
import FBSDKCoreKit
...
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
guard let url = URLContexts.first?.url else {
return
}
ApplicationDelegate.shared.application(
UIApplication.shared,
open: url,
sourceApplication: nil,
annotation: [UIApplication.OpenURLOptionsKey.annotation]
)
}
เหตุการณ์ในแอพของคุณจะได้รับการติดตามด้วย 3 วิธี ดังนี้
เหตุการณ์ต่างๆ ที่แอพของคุณเก็บรวบรวมและส่งให้กับ Facebook อาจกำหนดให้คุณต้องเปิดเผยประเภทของข้อมูลเหล่านี้ในแบบสอบถามบน App Store Connect ทั้งนี้ คุณมีหน้าที่รับผิดชอบในการรับรองว่าคำตอบในแบบสอบถามสอดคล้องกับนโยบายความเป็นส่วนตัวสำหรับแอพพลิเคชั่นของคุณ โปรดดูที่บทความเกี่ยวกับรายละเอียดความเป็นส่วนตัวสำหรับ App Store ของ Apple เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับประเภทข้อมูลที่คุณจะต้องเปิดเผย
เมื่อใช้ Facebook SDK เหตุการณ์บางอย่างในแอพของคุณจะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับตัวจัดการเหตุการณ์ของ Facebook โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์แบบอัตโนมัติ เหตุการณ์เหล่านี้จะเกี่ยวข้องกับกรณีการใช้งานทั้งหมด ไม่ว่าจะเป็นการกำหนดเป้าหมาย การวัดผล หรือการปรับให้เหมาะสม
เหตุการณ์สำคัญที่ได้รับการเก็บรวบรวมโดยเป็นส่วนหนึ่งของการลงบันทึกเหตุการณ์ในแอพโดยอัตโนมัติมีอยู่ 3 อย่าง ได้แก่ การติดตั้งแอพ การเปิดใช้แอพ และการซื้อ เมื่อเปิดใช้งานการลงบันทึกแบบอัตโนมัติ ผู้ลงโฆษณาจะสามารถปิดใช้งานเหตุการณ์เหล่านี้ได้ รวมถึงเหตุการณ์อื่นๆ ภายใน Facebook เช่น เหตุการณ์อิมเพรสชั่นของการเข้าสู่ระบบ อย่างไรก็ตาม หากคุณปิดใช้งานการลงบันทึกแบบอัตโนมัติแต่ยังคงต้องการลงบันทึกเหตุการณ์ที่เฉพาะเจาะจง เช่น เหตุการณ์การติดตั้งหรือการซื้อ ให้ปรับใช้การลงบันทึกสำหรับเหตุการณ์เหล่านี้ในแอพของคุณด้วยตนเอง
| เหตุการณ์ | รายละเอียด |
|---|---|
การติดตั้งแอพ | ครั้งแรกที่ผู้ใช้ใหม่เปิดใช้งานแอพหรือครั้งแรกที่แอพเริ่มทำงานบนอุปกรณ์เครื่องหนึ่งๆ |
การเปิดใช้แอพ | เมื่อผู้ใช้เปิดใช้แอพของคุณ Facebook SDK จะเริ่มทำงานและเหตุการณ์ดังกล่าวจะได้รับการลงบันทึกไว้ อย่างไรก็ตาม หากเหตุการณ์การเปิดใช้แอพครั้งที่ 2 เกิดขึ้นภายในเวลาไม่เกิน 60 วินาทีนับจากการเปิดใช้ครั้งแรก ระบบจะไม่ลงบันทึกเหตุการณ์การเปิดใช้แอพครั้งที่ 2 นั้น |
การซื้อในแอพ | เมื่อ Apple App Store หรือ Google Play ประมวลผลการซื้อเสร็จสิ้น หากคุณใช้แพลตฟอร์มการชำระเงินอื่นๆ คุณจะต้องเพิ่มโค้ดเหตุการณ์การซื้อด้วยตนเอง |
รายงานข้อขัดข้องสำหรับ Facebook SDK (สำหรับการใช้งานใน Facebook เท่านั้น) | หากแอพของคุณเกิดหยุดทำงานเนื่องจาก Facebook SDK ระบบจะสร้างรายงานการหยุดทำงานขึ้นมาและส่งไปยัง Facebook เมื่อมีการเปิดแอพของคุณขึ้นมาใหม่ รายงานนี้จะไม่มีข้อมูลผู้ใช้ และช่วยให้ Facebook สามารถรับรองได้ถึงคุณภาพและความเสถียรของ SDK หากต้องการเลือกไม่ใช้การลงบันทึกเหตุการณ์นี้ ให้ปิดใช้งานเหตุการณ์แบบลงบันทึกโดยอัตโนมัติ |
Apple มีการซื้อในแอพอยู่ 4 ประเภท ได้แก่ การซื้อผลิตภัณฑ์ที่ใช้แล้วหมดไป การซื้อผลิตภัณฑ์ที่ไม่ได้ใช้แล้วหมดไป การสมัครใช้บริการแบบต่ออายุโดยอัตโนมัติ และการสมัครใช้บริการแบบไม่ต่ออายุ หากคุณนำการซื้อในแอพไปใช้กับ StoreKit 1 เราจะลงบันทึกการซื้อในแอพแต่ละประเภทเหล่านี้โดยอัตโนมัติ หากคุณนำการซื้อในแอพไปใช้กับ StoreKit 2 เราจะลงบันทึกการสมัครใช้บริการแบบต่ออายุโดยอัตโนมัติ การสมัครใช้บริการแบบไม่ต่ออายุ และผลิตภัณฑ์ที่ซื้อครั้งเดียวแล้วใช้ได้ต่อเนื่องโดยอัตโนมัติ หากคุณต้องการให้ลงบันทึกการซื้อผลิตภัณฑ์ที่ใช้แล้วหมดไปด้วย คุณจะต้องเพิ่มคีย์ SKIncludeConsumableInAppPurchaseHistory ลงใน Info.plist ของคุณ ดังนี้
<key>SKIncludeConsumableInAppPurchaseHistory</key><true/>ใน StoreKit 1 เราจะลงบันทึกเหตุการณ์โดยอัตโนมัติเมื่อผู้ใช้ซื้อผลิตภัณฑ์สำเร็จ กู้คืนผลิตภัณฑ์สำเร็จ หรือพยายามซื้อผลิตภัณฑ์แต่ซื้อไม่สำเร็จ ใน StoreKit 2 เราจะลงบันทึกเหตุการณ์โดยอัตโนมัติเมื่อผู้ใช้ซื้อผลิตภัณฑ์หรือกู้คืนผลิตภัณฑ์สำเร็จ หากคุณต้องการให้ลงบันทึกเมื่อผู้ใช้ซื้อไม่สำเร็จใน Store Kit 2 ด้วย เราก็มี API ที่คุณต้องเรียกใช้ด้วยตนเองไว้ให้บริการ คุณสามารถเรียกใช้ API นี้ในขั้นตอนการซื้อใน StoreKit 2 ของคุณโดยทำตามวิธีต่อไปนี้
do {
let result = try await product.purchase()
switch result {
case .success(let verificationResult):
// Handle success case
case .pending:
// Handle pending case
default:
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
} catch {
AppEvents.shared.logFailedStoreKit2Purchase(product.id)
}
ตั้งแต่ iOS 14.5 เป็นต้นไป คุณจะต้องตั้งค่า isAdvertiserTrackingEnabled และลงบันทึกแต่ละครั้งที่อนุญาตให้อุปกรณ์แชร์ข้อมูลกับ Facebook
หากอุปกรณ์ให้การยินยอม ให้ตั้งค่า Settings.shared.isAdvertiserTrackingEnabled = true
หากอุปกรณ์ไม่อนุญาตให้ติดตาม ให้ตั้งค่า Settings.shared.isAdvertiserTrackingEnabled = false
หากต้องการปิดใช้งานการลงบันทึกเหตุการณ์โดยอัตโนมัติ ให้เปิด Info.plist ของแอพพลิเคชั่นโดยใช้โค้ดที่ใช้ใน Xcode และเพิ่ม XML ต่อไปนี้ลงในพจนานุกรมคุณสมบัติ ดังนี้
<key>FacebookAutoLogAppEventsEnabled</key> <false/>
ในบางกรณี คุณอาจต้องทำให้การเก็บรวบรวมเหตุการณ์แบบลงบันทึกโดยอัตโนมัติล่าช้าลง เช่น เพื่อขอการยินยอมจากผู้ใช้หรือดำเนินการตามข้อผูกพันทางกฎหมายให้สมบูรณ์ แทนที่จะปิดใช้งาน ในกรณีนี้ ให้ตั้งค่า Settings.shared.isAutoLogAppEventsEnabled = true เพื่อเปิดใช้งานการลงบันทึกโดยอัตโนมัติอีกครั้งหลังจากผู้ใช้ปลายทางให้การยินยอมแล้ว
หากต้องการระงับการใช้งานการเก็บรวบรวมอีกครั้งไม่ว่าจะด้วยเหตุผลใดๆ ให้ตั้งค่า Settings.shared.isAutoLogAppEventsEnabled = false
คุณสามารถปิดใช้งานการลงบันทึกเหตุการณ์การซื้อในแอพแบบอัตโนมัติโดยใช้แดชบอร์ดของแอพได้อีกด้วย ให้ไปที่การ์ด iOS ในส่วนพื้นฐาน>การตั้งค่า และสับสวิตช์เป็นไม่
หากต้องการปิดใช้งานการรวบรวม advertiser-id ให้เปิด .plist ของแอพพลิเคชั่นโดยใช้โค้ดที่ใช้ใน Xcode และเพิ่ม XML ต่อไปนี้ลงในพจนานุกรมคุณสมบัติ ดังนี้
<key>FacebookAdvertiserIDCollectionEnabled</key> <false/>
ในบางกรณี คุณอาจต้องทำให้การเก็บรวบรวม advertiser_id ล่าช้าลง เช่น เพื่อขอการยินยอมจากผู้ใช้หรือดำเนินการตามข้อผูกพันทางกฎหมายให้สมบูรณ์ แทนที่จะปิดใช้งาน ในกรณีนี้ ให้ตั้งค่า Settings.shared.isAdvertiserIDCollectionEnabled = true หลังจากผู้ใช้ปลายทางให้การยินยอมแล้ว
หากต้องการระงับการใช้งานการเก็บรวบรวมไม่ว่าจะด้วยเหตุผลใดๆ ให้ตั้งค่า Settings.shared.isAdvertiserIDCollectionEnabled = false
หากต้องการลงบันทึกเหตุการณ์ที่กำหนดเอง ให้ทำเพียงส่งชื่อของเหตุการณ์นั้นในรูปแบบ AppEvents.Name ดังนี้
AppEvents.shared.logEvent(AppEvents.Name("battledAnOrc"))Meta ได้สร้างชุดพารามิเตอร์เหตุการณ์ที่เป็นประโยชน์สำหรับรวมเข้ากับเหตุการณ์แบบมาตรฐานหรือกับเหตุการณ์ที่คุณกำหนดเอง คุณยังสามารถระบุพารามิเตอร์ของคุณเองได้อีกด้วย
หากคุณต้องการใช้เหตุการณ์ในแอพเพื่อวัดผลคอนเวอร์ชั่นของโฆษณาแบบไดนามิก โปรดตั้งค่าพารามิเตอร์ fb_content_id เป็นค่าของ ID สินค้าที่ใช้ในโฆษณาแบบไดนามิกที่เกี่ยวข้อง
พารามิเตอร์ที่กำหนดไว้ให้แล้วเหล่านี้มีวัตถุประสงค์เพื่อให้แนวทางเกี่ยวกับรูปแบบการลงบันทึกทั่วไป และอาจมีรูปแบบที่อ่านได้ง่ายขึ้นในการรายงานและ UI อื่นๆ บันทึกชุดพารามิเตอร์ที่คุณต้องการดูรายการแยกย่อย คำอธิบายที่แนะนำเหล่านี้เป็นเพียงแนวทางเท่านั้น คุณสามารถใช้ค่าพารามิเตอร์ดังกล่าวนี้ได้ตามความเหมาะสมสำหรับแอพ
พารามิเตอร์จะส่งผ่านพจนานุกรมซึ่งมีคีย์ที่มีชื่อพารามิเตอร์อยู่ในรูปแบบ AppEvents.ParameterName และค่าจะต้องอยู่ในรูปแบบ String หรือตัวเลข (Int, Double ฯลฯ)
ตัวช่วยเหลือในการลงโฆษณาแอพช่วยให้คุณสามารถทดสอบเหตุการณ์ในแอพภายในแอพของคุณได้ เพื่อให้แน่ใจว่าแอพของคุณจะส่งเหตุการณ์ไปยัง Facebook
หากคุณวางแผนปรับเหตุการณ์ให้เหมาะสม/ติดตามเหตุการณ์ต่างๆ ของคุณในแคมเปญ SKAdNetwork คุณจำเป็นต้องกำหนดค่าลำดับความสำคัญของเหตุการณ์ให้เหมาะสมด้วย (หรือเรียกกันว่า ค่าคอนเวอร์ชั่น) เพื่อให้ Facebook รับคอนเวอร์ชั่นได้อย่างถูกต้อง รายละเอียดเพิ่มเติมดูได้ที่นี่
เราได้สร้างตัวอย่างแอพประเภทต่างๆ ขึ้นมาบางส่วน เพื่อให้คุณดูวิธีที่สามารถใช้เหตุการณ์ในแอพได้ง่ายขึ้น แอพตัวอย่างแต่ละแอพจะให้ข้อมูลแยกย่อยของเหตุการณ์และพารามิเตอร์ต่างๆ ที่เก็บรวบรวมไว้ได้ โดยแบ่งเป็นรายหน้าจอ ในส่วนท้ายของแต่ละส่วนจะมีตามรางที่ระบุรายการเหตุการณ์และพารามิเตอร์ที่แนะนำสำหรับแต่ละแอพ และคุณสามารถสร้างเหตุการณ์และพารามิเตอร์ของตัวคุณเองได้ หากจำเป็น