เริ่มต้นใช้งานเหตุการณ์ในแอพ (iOS)

คู่มือนี้จะแสดงวิธีเพิ่มเหตุการณ์ในแอพลงในแอพใหม่หรือแอพที่มีอยู่โดยผสานการทำงาน Facebook SDK แล้วลงบันทึกเหตุการณ์เหล่านี้

มีการเปลี่ยนแปลงใน Facebook SDK สำหรับ iOS เราขอแนะนำให้อัพเกรดเป็น Facebook SDK สำหรับ iOS เวอร์ชั่นใหม่ ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงนี้ได้ที่ส่วนการยินยอมสำหรับอุปกรณ์

ก่อนเริ่มต้น

คุณจะต้องดำเนินการดังต่อไปนี้

ขั้นตอนที่1: กำหนดค่าแอพ Facebook ของคุณ

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

เลื่อนลงไปที่ด้านล่างของหน้า แล้วคลิกเพิ่มแพลตฟอร์ม เลือก iOS เพิ่มรายละเอียดแอพของคุณ แล้วบันทึกการเปลี่ยนแปลง

ตั้งค่าแอพของคุณเพื่อการโฆษณาโดยเพิ่มรายละเอียดต่อไปนี้

  • โดเมนของแอพ - ระบุ URL สำหรับ Apple App Store ของแอพของคุณ
  • URL ของนโยบายความเป็นส่วนตัว - ระบุ URL ของนโยบายความเป็นส่วนตัวจำเป็นต้องตั้งค่าแอพของคุณให้เป็นสาธารณะ
  • URL ของข้อกำหนดในการใช้บริการ - ระบุ URL ของข้อกำหนดในการใช้บริการ
  • แพลตฟอร์ม - เลื่อนลงไปที่ส่วนล่างสุดของแผงการตั้งค่าเพื่อเพิ่มแพลตฟอร์ม iOS

เรียนรู้เพิ่มเติมเกี่ยวกับการเพิ่มรายละเอียดลงในแอพของคุณ เช่น ไอคอนหรือหมวดหมู่ ได้ที่เอกสารเกี่ยวกับการพัฒนาแอพ

ขั้นตอนที่ 2: เชื่อมโยงบัญชีโฆษณาและบัญชีธุรกิจ

หากต้องการแสดงโฆษณาและวัดผลการติดตั้งในตัวจัดการโฆษณา ให้เชื่อมโยงบัญชีโฆษณาและบัญชีธุรกิจอย่างน้อย 1 บัญชีกับแอพของคุณ

  1. ในแดชบอร์ดของแอพ ให้คลิกการตั้งค่า > ขั้นสูง
  2. ใน ID บัญชีโฆษณาที่ได้รับอนุญาต ให้เพิ่ม ID บัญชีโฆษณาของคุณ โดยคุณสามารถรับ ID บัญชีโฆษณาได้จากตัวจัดการโฆษณา
  3. ในแผงควบคุมบัญชีโฆษณา ให้คลิกเริ่มต้นใช้งาน และทำตามคำแนะนำในการเชื่อมต่อแอพกับธุรกิจ

ขั้นตอนที่ 3: ตั้งค่าสภาพแวดล้อมการพัฒนาของคุณ

ขั้นตอนต่อไปนี้จะใช้โปรแกรมจัดการแพ็คเกจ Swift ในการตั้งค่าสภาพแวดล้อมการพัฒนาของคุณใน Xcode

  1. ใน Xcode ให้คลิกไฟล์ > เพิ่มแพ็คเกจ...
  2. ในช่องค้นหาที่ปรากฏขึ้นมา ให้ป้อน URL ที่เก็บข้อมูล: https://github.com/facebook/facebook-ios-sdk
  3. ในกฎของการขึ้นต่อกัน ให้เลือก “จนกว่าจะถึงเวอร์ชั่นใหญ่ถัดไป” และป้อนเวอร์ชั่นล่าสุด รุ่นล่าสุดจะระบุไว้ใน https://github.com/facebook/facebook-ios-sdk/releases/
  4. เลือกไลบรารีที่คุณจะใช้และเป้าหมายที่คุณต้องการเพิ่มไลบรารีดังกล่าวเข้าไป
  5. คลิกที่เพิ่มแพ็คเกจเพื่อตั้งค่าให้เสร็จสมบูรณ์

ขั้นตอนที่ 4: ลงทะเบียนและกำหนดค่าแอพของคุณกับ Facebook

เพิ่มตัวระบุชุดรวมของคุณและเปิดใช้งานการลงชื่อเข้าใช้แบบครั้งเดียวสำหรับแอพของคุณ

ตัวระบุชุด (ID ชุด) ควรปรากฏขึ้นในกล่องด้านล่าง หากกล่องว่างเปล่า ให้ค้นหาตัวระบุชุดใน iOS Application Target (เป้าหมายแอพพลิเคชั่น iOS) ของโปรเจ็กต์ Xcode และวางลงในกล่องด้านล่าง
ID ชุด
คุณสามารถเปลี่ยนตัวระบุชุดในอนาคตได้ผ่านส่วน iOS บนหน้าการตั้งค่า
เปิดใช้งานการลงชื่อเข้าใช้ครั้งเดียว
เปิดใช้งานการลงชื่อเข้าใช้ครั้งเดียวให้กับแอพของคุณโดยการตั้งค่าการลงชื่อเข้าใช้ครั้งเดียวเป็น "Yes" (ใช่) ที่ด้านล่าง
การลงชื่อเข้าใช้ครั้งเดียว จะเปิดใช้การแจ้งเตือนจาก iOS

ขั้นตอนที่ 5: กำหนดค่าโปรเจ็กต์ของคุณ

กำหนดค่าไฟล์ Info.plist ด้วยข้อมูลโค้ด XML ที่มีข้อมูลเกี่ยวกับแอพของคุณ

หลังจากใช้การเข้าสู่ระบบด้วย Facebook เหตุการณ์ในแอพบางเหตุการณ์จะได้รับการลงบันทึกและเก็บรวบรวมไว้สำหรับตัวจัดการเหตุการณ์โดยอัตโนมัติ เว้นแต่คุณจะปิดใช้งานการลงบันทึกเหตุการณ์ในแอพอัตโนมัติ โปรดดูรายละเอียดเกี่ยวกับข้อมูลที่จะได้รับการเก็บรวบรวมและวิธีปิดใช้งานการลงบันทึกเหตุการณ์ในแอพอัตโนมัติที่การลงบันทึกเหตุการณ์ในแอพอัตโนมัติ

  1. คลิกขวาที่ Info.plist และเลือก Open As ▸ Source Code
  2. คัดลอกและวางข้อมูลโค้ด XML ต่อไปนี้ลงในเนื้อหาของไฟล์ ( <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>
  3. ใน <array><string> ในคีย์ [CFBundleURLSchemes] ให้แทนที่ APP-ID ด้วย ID ของแอพคุณ
  4. ใน <string> ในคีย์ FacebookAppID ให้แทนที่ APP-ID ด้วย ID ของแอพคุณ
  5. ใน <string> ในคีย์ FacebookClientToken ให้แทนที่ CLIENT-TOKEN ด้วยค่าที่พบได้ใน การตั้งค่า > ขั้นสูง > โทเค็นของไคลเอ็นต์ ในแดชบอร์ดของแอพคุณ
  6. ใน <string> ในคีย์ FacebookDisplayName ให้แทนที่ APP-NAME ด้วยชื่อแอพของคุณ
  7. ในการใช้กล่องโต้ตอบใดๆ ของ Facebook (เช่น การเข้าสู่ระบบ การแชร์ คำเชิญให้ลงแอพ ฯลฯ) ที่สามารถดำเนินการสลับแอพไปเป็นแอพ Facebook ได้ 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 ได้
  1. เลือกปุ่ม + Capability (+ ความสามารถ) ในแท็บ Signing & Capabilities (การลงชื่อและความสามารถ) เมื่อกำหนดค่าเป้าหมายแอพของคุณ
  2. ค้นหาและเลือกความสามารถ Keychain Sharing
  3. ตรวจสอบว่าได้มีการระบุความสามารถ Keychain Sharing ไว้สำหรับเป้าหมายดังกล่าว

ขั้นตอนที่ 6: เชื่อมต่อ App Delegate และ Scene Delegate ของคุณ

แทนที่โค้ดในเมธอด AppDelegate.swift ด้วยโค้ดต่อไปนี้ โค้ดนี้จะส่งผลให้ SDK เริ่มทำงานเมื่อมีการเปิดใช้แอพ และช่วยให้ SDK รองรับการเข้าสู่ระบบและการแชร์จากแอพ Facebook แบบเนทีฟได้ เมื่อคุณเข้าสู่ระบบหรือทำการแชร์ มิฉะนั้น ผู้ใช้จะต้องเข้าสู่ระบบ Facebook เพื่อใช้เบราว์เซอร์ในแอพในการเข้าสู่ระบบ
    
// AppDelegate.swift
import UIKit
import FacebookCore

@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 FacebookCore
  ...
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]
    )
}

ขั้นตอนที่ 7: เพิ่มเหตุการณ์ในแอพ

เหตุการณ์ในแอพของคุณจะได้รับการติดตามด้วย 3 วิธี ดังนี้

App Store Connect สำหรับ iOS 14

เหตุการณ์ต่างๆ ที่แอพของคุณเก็บรวบรวมและส่งให้กับ 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 หากต้องการเลือกไม่ใช้การลงบันทึกเหตุการณ์นี้ ให้ปิดใช้งานเหตุการณ์แบบลงบันทึกโดยอัตโนมัติ

รับการยินยอมสำหรับอุปกรณ์

ตั้งแต่ 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 ในส่วนพื้นฐาน>การตั้งค่า และสับสวิตช์เป็นไม่

ปิดใช้งานการรวบรวม ID ผู้ลงโฆษณา

หากต้องการปิดใช้งานการรวบรวม 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"))

พารามิเตอร์เหตุการณ์

Facebook ได้สร้างชุดพารามิเตอร์เหตุการณ์ที่เป็นประโยชน์สำหรับการรวมเข้ากับเหตุการณ์แบบมาตรฐานหรือกับเหตุการณ์ที่คุณกำหนดเอง คุณยังสามารถระบุพารามิเตอร์ของคุณเองได้อีกด้วย

พารามิเตอร์ที่กำหนดไว้ให้แล้วเหล่านี้มีวัตถุประสงค์เพื่อให้แนวทางเกี่ยวกับรูปแบบการลงบันทึกทั่วไป และอาจมีรูปแบบที่อ่านได้ง่ายขึ้นในการรายงานและ UI อื่นๆ บันทึกชุดพารามิเตอร์ที่คุณต้องการดูรายการแยกย่อย คำอธิบายที่แนะนำเหล่านี้เป็นเพียงแนวทางเท่านั้น คุณสามารถใช้ค่าพารามิเตอร์ดังกล่าวนี้ได้ตามความเหมาะสมสำหรับแอพ

พารามิเตอร์จะส่งผ่านพจนานุกรมซึ่งมีคีย์ที่มีชื่อพารามิเตอร์อยู่ในรูปแบบ AppEvents.ParameterName และค่าจะต้องอยู่ในรูปแบบ String หรือตัวเลข (Int, Double ฯลฯ)

ขั้นตอนที่ 8: ทดสอบเหตุการณ์ของคุณ

ตัวช่วยเหลือในการลงโฆษณาแอพช่วยให้คุณสามารถทดสอบเหตุการณ์ในแอพภายในแอพของคุณได้ เพื่อให้แน่ใจว่าแอพของคุณจะส่งเหตุการณ์ไปยัง Facebook

  1. เปิดตัวช่วยเหลือในการลงโฆษณาแอพ
  2. ในเลือกแอพ ให้เลือกแอพของคุณ จากนั้นเลือกส่ง
  3. เลื่อนลงไปที่ด้านล่างสุดแล้วเลือกทดสอบเหตุการณ์
  4. เปิดแอพของคุณแล้วส่งเหตุการณ์ เหตุการณ์จะปรากฏบนหน้า

หากคุณวางแผนปรับเหตุการณ์ให้เหมาะสม/ติดตามเหตุการณ์ต่างๆ ของคุณในแคมเปญ SKAdNetwork คุณจำเป็นต้องกำหนดค่าลำดับความสำคัญของเหตุการณ์ให้เหมาะสมด้วย (หรือเรียกกันว่า ค่าคอนเวอร์ชั่น) เพื่อให้ Facebook รับคอนเวอร์ชั่นได้อย่างถูกต้อง รายละเอียดเพิ่มเติมดูได้ที่นี่

เรียนรู้เพิ่มเติม

แอพตัวอย่าง

เราได้สร้างตัวอย่างแอพประเภทต่างๆ ขึ้นมาบางส่วน เพื่อให้คุณดูวิธีที่สามารถใช้เหตุการณ์ในแอพได้ง่ายขึ้น แอพตัวอย่างแต่ละแอพจะให้ข้อมูลแยกย่อยของเหตุการณ์และพารามิเตอร์ต่างๆ ที่เก็บรวบรวมไว้ได้ โดยแบ่งเป็นรายหน้าจอ ในส่วนท้ายของแต่ละส่วนจะมีตามรางที่ระบุรายการเหตุการณ์และพารามิเตอร์ที่แนะนำสำหรับแต่ละแอพ และคุณสามารถสร้างเหตุการณ์และพารามิเตอร์ของตัวคุณเองได้ หากจำเป็น