1. บทนำ
อัปเดตล่าสุด: 2020-1-6
Firebase Cloud Messaging (FCM) เป็นโซลูชันการรับส่งข้อความข้ามแพลตฟอร์มที่ช่วยให้คุณส่งข้อความได้อย่างน่าเชื่อถือโดยไม่มีค่าใช้จ่าย
เมื่อใช้ FCM คุณจะแจ้งให้แอปไคลเอ็นต์ทราบว่ามีอีเมลใหม่หรือข้อมูลอื่นๆ พร้อมให้ซิงค์ คุณสามารถส่งข้อความแจ้งเตือนเพื่อกระตุ้นให้ผู้ใช้กลับมามีส่วนร่วมและคงผู้ใช้ไว้ได้ สำหรับกรณีการใช้งาน เช่น การรับส่งข้อความโต้ตอบแบบทันที ข้อความจะโอนเพย์โหลดได้สูงสุด 4 KB ไปยังแอปไคลเอ็นต์
หลักการทำงาน
การติดตั้งใช้งาน FCM มีคอมโพเนนต์หลัก 2 อย่างสำหรับการส่งและรับ ได้แก่
- สภาพแวดล้อมที่เชื่อถือได้ เช่น Cloud Functions สำหรับ Firebase หรือเซิร์ฟเวอร์แอปที่จะใช้สร้าง กำหนดเป้าหมาย และส่งข้อความ
- แอปไคลเอ็นต์ iOS, Android หรือเว็บ (JavaScript) ที่รับข้อความผ่านบริการรับส่งเฉพาะแพลตฟอร์มที่เกี่ยวข้อง
ภาพรวมสถาปัตยกรรมของ FCM
FCM ใช้ชุดคอมโพเนนต์ต่อไปนี้ในการสร้าง ส่ง และรับข้อความ
- เครื่องมือในการเขียนหรือสร้างคำขอส่งข้อความ Notifications Composer มีตัวเลือกที่อิงตาม GUI สำหรับสร้างคำขอการแจ้งเตือน หากต้องการระบบอัตโนมัติเต็มรูปแบบและการรองรับข้อความทุกประเภท คุณต้องสร้างคำขอข้อความในสภาพแวดล้อมของเซิร์ฟเวอร์ที่เชื่อถือได้ซึ่งรองรับ Firebase Admin SDK หรือโปรโตคอลเซิร์ฟเวอร์ FCM สภาพแวดล้อมนี้อาจเป็น Cloud Functions for Firebase, Google App Engine หรือเซิร์ฟเวอร์แอปของคุณเอง
- แบ็กเอนด์ของ FCM ซึ่ง (นอกเหนือจากฟังก์ชันอื่นๆ) จะยอมรับคำขอข้อความ ทำการกระจายข้อความผ่านหัวข้อ และสร้างข้อมูลเมตาของข้อความ เช่น รหัสข้อความ
- เลเยอร์การรับส่งระดับแพลตฟอร์ม ซึ่งกำหนดเส้นทางข้อความไปยังอุปกรณ์เป้าหมาย จัดการการนำส่งข้อความ และใช้การกำหนดค่าเฉพาะแพลตฟอร์มในกรณีที่เหมาะสม เลเยอร์การรับส่งนี้ประกอบด้วย
- เลเยอร์การรับส่งข้อมูล Android (ATL) สำหรับอุปกรณ์ Android ที่มีบริการ Google Play
- บริการข้อความ Push ของ Apple (APNs) สำหรับอุปกรณ์ iOS
- โปรโตคอลการแจ้งเตือนแบบพุชบนเว็บสำหรับเว็บแอป
- SDK ของ FCM ในอุปกรณ์ของผู้ใช้ ซึ่งจะแสดงการแจ้งเตือนหรือจัดการข้อความตามสถานะเบื้องหน้า/เบื้องหลังของแอปและตรรกะของแอปพลิเคชันที่เกี่ยวข้อง
สิ่งที่คุณจะสร้าง
ใน Codelab นี้ คุณจะได้เพิ่มการแจ้งเตือนแบบพุชไปยังแอป iOS ตัวอย่างด้วย FCM
สิ่งที่คุณจะได้เรียนรู้
- วิธีสมัครรับและยกเลิกการสมัครรับข้อความพุชของผู้ใช้
- วิธีจัดการข้อความ Push ขาเข้า
- วิธีแสดงการแจ้งเตือน
- วิธีตอบสนองต่อการคลิกการแจ้งเตือน
สิ่งที่คุณต้องมี
- Xcode 11.0 ขึ้นไป
- CocoaPods 1.9.0 ขึ้นไป
- บัญชีนักพัฒนาแอปของ Apple
- อุปกรณ์ iOS จริงเพื่อเรียกใช้แอป
- ความรู้พื้นฐานเกี่ยวกับ Swift
2. การเริ่มตั้งค่า
ดาวน์โหลดโค้ดตัวอย่าง
ใน Codelab นี้ คุณจะได้สร้างแอปทดสอบของคุณเอง แต่หากต้องการดูและเรียกใช้แอปตัวอย่างที่มีอยู่ คุณสามารถดาวน์โหลดโค้ดตัวอย่าง Quickstart ได้
คุณขอรับตัวอย่างได้ 2 วิธีดังนี้
- โคลนที่เก็บ Git
$ git clone https://github.com/firebase/quickstart-ios.git
- ดาวน์โหลดไฟล์ ZIP โดยทำดังนี้
หากดาวน์โหลดแหล่งข้อมูลเป็นไฟล์ ZIP การแตกไฟล์จะทำให้คุณได้โฟลเดอร์รูท quickstart-ios
สร้างแอปใหม่
สร้างแอปทดสอบของคุณเองโดยทำตามขั้นตอนต่อไปนี้ (ขั้นตอนด้านล่างอยู่ใน Xcode 12.3)
- เปิด XCode แล้วเลือก Create a new Xcode project
- เลือกแอป แล้วคลิกถัดไป
- ป้อนชื่อผลิตภัณฑ์ (เช่น MessagingExample)
- เลือกทีม (หากยังไม่ได้สร้างทีม ให้กำหนดค่าในบัญชีนักพัฒนาแอปของ Apple)
- ป้อนตัวระบุองค์กร (เช่น
com.
your-name
) - ป้อนตัวระบุชุด (เช่น
com.
your-name
.MessagingExample
ซึ่งควรไม่ซ้ำกันในแอป iOS ทั้งหมด) - เลือกสตอรีบอร์ดในเมนูแบบเลื่อนลงอินเทอร์เฟซ
- เลือก UIKit App Delegate ในเมนูแบบเลื่อนลงวงจรของแอป
- เลือก Swift ในภาษา
- คลิกถัดไป
คุณจะต้องใช้ตัวระบุแพ็กเกจเมื่อสร้างคีย์ APN และลงทะเบียนแอปกับโปรเจ็กต์ Firebase
3. การกำหนดค่า APNs
สร้างคีย์การตรวจสอบสิทธิ์
ส่วนนี้จะอธิบายวิธีสร้างคีย์การตรวจสอบสิทธิ์สำหรับรหัสแอปที่เปิดใช้สำหรับข้อความ Push หากมีคีย์อยู่แล้ว คุณสามารถใช้คีย์นั้นแทนการสร้างคีย์ใหม่ได้
วิธีสร้างคีย์การตรวจสอบสิทธิ์
- ในบัญชีนักพัฒนาแอป ให้ไปที่ใบรับรอง ตัวระบุ และโปรไฟล์ แล้วไปที่คีย์
- คลิกปุ่มเพิ่ม (+) ที่มุมบนขวา
- ป้อนคำอธิบายสำหรับคีย์การตรวจสอบสิทธิ์ APNs
- ในส่วนบริการจัดการคีย์ ให้เลือกช่องทำเครื่องหมาย APNs แล้วคลิกต่อไป
- คลิกลงทะเบียน แล้วคลิกดาวน์โหลด บันทึกคีย์ไว้ในที่ปลอดภัย นี่เป็นการดาวน์โหลดแบบครั้งเดียวและจะเรียกข้อมูลคีย์ในภายหลังไม่ได้
สร้างรหัสแอป
รหัสแอปคือตัวระบุที่ระบุแอปอย่างไม่ซ้ำกัน โดยทั่วไปจะแสดงด้วยโดเมนที่กลับด้าน
- ไปที่ศูนย์สมาชิกนักพัฒนาซอฟต์แวร์ของ Apple แล้วลงชื่อเข้าใช้
- ไปที่ใบรับรอง ตัวระบุ และโปรไฟล์
- ไปที่ตัวระบุ
- คลิกปุ่ม + เพื่อสร้างรหัสแอปใหม่
- เลือกปุ่มตัวเลือกรหัสแอป แล้วคลิกต่อไป
- เลือกแอป แล้วคลิกต่อไป
- วิธีสร้าง App ID ใหม่
- ป้อนชื่อสำหรับ App ID
- ป้อนรหัสทีม ค่านี้ต้องตรงกับรหัสทีมในแท็บการเป็นสมาชิก
- ในส่วนคำต่อท้ายรหัสแอป ให้เลือกรหัสแอปที่ชัดเจน แล้วป้อนรหัสชุด
- ในส่วนบริการของแอป ให้ตรวจสอบว่าได้เลือกการแจ้งเตือนแบบพุชแล้ว
- คลิกต่อไปและตรวจสอบว่าข้อมูลที่คุณป้อนถูกต้องแล้ว
- ค่าของตัวระบุควรตรงกับการต่อกันของค่ารหัสทีมและรหัสชุด
- ข้อความ Push ควรกำหนดค่าได้
- คลิก Register เพื่อสร้างรหัสแอป
สร้างโปรไฟล์
หากต้องการทดสอบแอปขณะที่กำลังพัฒนา คุณต้องมีโปรไฟล์สำหรับการพัฒนาเพื่อให้สิทธิ์อุปกรณ์ในการเรียกใช้แอปที่ยังไม่ได้เผยแพร่ใน App Store
- ไปที่ศูนย์สมาชิกนักพัฒนาซอฟต์แวร์ของ Apple แล้วลงชื่อเข้าใช้
- ไปที่ใบรับรอง ตัวระบุ และโปรไฟล์
- ในเมนูแบบเลื่อนลงที่มุมซ้ายบน ให้เลือก iOS, tvOS, watchOS หากยังไม่ได้เลือก จากนั้นไปที่โปรไฟล์
- คลิกปุ่ม + เพื่อสร้างโปรไฟล์ใหม่
- เลือกการพัฒนาแอป iOS เป็นประเภทโปรไฟล์การจัดสรร แล้วคลิกต่อไป
- ในเมนูแบบเลื่อนลง ให้เลือกรหัสแอปที่ต้องการใช้ แล้วคลิกต่อไป
- เลือกใบรับรองการพัฒนา iOS ของ App ID ที่คุณเลือกในขั้นตอนก่อนหน้า แล้วคลิกต่อไป
- เลือกอุปกรณ์ iOS ที่ต้องการรวมไว้ใน Provisioning Profile แล้วคลิกดำเนินการต่อ อย่าลืมเลือกอุปกรณ์ทั้งหมดที่ต้องการใช้ในการทดสอบ
- ป้อนชื่อสำหรับโปรไฟล์การจัดสรรนี้ (เช่น MessagingExampleProfile) แล้วคลิกสร้าง
- คลิกดาวน์โหลดเพื่อบันทึก Provisioning Profile ลงใน Mac
- ดับเบิลคลิกไฟล์ Provisioning Profile เพื่อติดตั้ง
4. การเพิ่ม Firebase ลงในโปรเจ็กต์ iOS
สร้างโปรเจ็กต์ Firebase
ก่อนที่จะเพิ่ม Firebase ลงในแอป iOS ได้ คุณต้องสร้างโปรเจ็กต์ Firebase เพื่อเชื่อมต่อกับแอป iOS ไปที่ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับโปรเจ็กต์ Firebase
- ในคอนโซล Firebase ให้คลิกเพิ่มโปรเจ็กต์ แล้วเลือกหรือป้อนชื่อโปรเจ็กต์
หากมีโปรเจ็กต์ Google Cloud Platform (GCP) อยู่แล้ว คุณสามารถเลือกโปรเจ็กต์จากเมนูแบบเลื่อนลงเพื่อเพิ่มทรัพยากร Firebase ลงในโปรเจ็กต์นั้นได้
- (ไม่บังคับ) หากสร้างโปรเจ็กต์ใหม่ คุณจะแก้ไขรหัสโปรเจ็กต์ได้
Firebase จะกำหนดรหัสที่ไม่ซ้ำกันให้กับโปรเจ็กต์ Firebase โดยอัตโนมัติ ไปที่ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อดูวิธีที่ Firebase ใช้รหัสโปรเจ็กต์
- คลิกต่อไป
- ตั้งค่า Google Analytics สําหรับโปรเจ็กต์ ซึ่งจะช่วยให้คุณได้รับประสบการณ์การใช้งานที่ดีที่สุดเมื่อใช้ผลิตภัณฑ์ Firebase ต่อไปนี้
- Firebase Crashlytics
- Firebase Predictions
- Firebase Cloud Messaging
- การรับส่งข้อความในแอป Firebase
- การกำหนดค่าระยะไกลของ Firebase
- Firebase A/B Testing
เมื่อได้รับข้อความแจ้ง ให้เลือกใช้บัญชี Google Analytics ที่มีอยู่หรือสร้างบัญชีใหม่ หากเลือกสร้างบัญชีใหม่ ให้เลือกสถานที่ตั้งการรายงานของ Analytics จากนั้นยอมรับการตั้งค่าการแชร์ข้อมูลและข้อกำหนดของ Google Analytics สำหรับโปรเจ็กต์
- คลิกสร้างโปรเจ็กต์ (หรือเพิ่ม Firebase หากคุณใช้โปรเจ็กต์ GCP ที่มีอยู่)
Firebase จะจัดสรรทรัพยากรสำหรับโปรเจ็กต์ Firebase โดยอัตโนมัติ เมื่อกระบวนการเสร็จสมบูรณ์ ระบบจะนำคุณไปยังหน้าภาพรวมของโปรเจ็กต์ Firebase ในคอนโซล Firebase
ลงทะเบียนแอปกับ Firebase
หลังจากที่มีโปรเจ็กต์ Firebase แล้ว คุณจะเพิ่มแอป iOS ลงในโปรเจ็กต์นั้นได้
ไปที่ทำความเข้าใจโปรเจ็กต์ Firebase เพื่อดูข้อมูลเพิ่มเติมเกี่ยวกับแนวทางปฏิบัติแนะนำและข้อควรพิจารณาในการเพิ่มแอปไปยังโปรเจ็กต์ Firebase รวมถึงวิธีจัดการกับตัวแปรบิลด์หลายรายการ
- ไปที่คอนโซล Firebase
- ที่กึ่งกลางหน้าภาพรวมโปรเจ็กต์ ให้คลิกไอคอน iOS เพื่อเปิดเวิร์กโฟลว์การตั้งค่า
หากเพิ่มแอปไปยังโปรเจ็กต์ Firebase แล้ว ให้คลิกเพิ่มแอปเพื่อแสดงตัวเลือกแพลตฟอร์ม
- ป้อนรหัสชุดของแอปในช่องรหัสชุด iOS
- (ไม่บังคับ) ป้อนข้อมูลแอปอื่นๆ ได้แก่ ชื่อเล่นของแอปและรหัส App Store
- คลิกลงทะเบียนแอป
เพิ่มไฟล์กำหนดค่า Firebase
- คลิกดาวน์โหลด GoogleService-Info.plist เพื่อรับไฟล์การกำหนดค่า Firebase iOS (
GoogleService-Info.plist
) - ย้ายไฟล์การกำหนดค่าไปยังรูทของโปรเจ็กต์ Xcode หากได้รับข้อความแจ้ง ให้เลือกเพิ่มไฟล์กำหนดค่าไปยังเป้าหมายทั้งหมด
หากมีรหัส Bundle หลายรายการในโปรเจ็กต์ คุณต้องเชื่อมโยงรหัส Bundle แต่ละรายการกับแอปที่ลงทะเบียนในคอนโซล Firebase เพื่อให้แต่ละแอปมีไฟล์ GoogleService-Info.plist
ของตัวเองได้
ปิด XCode
เพิ่ม Firebase SDK ลงในแอป
เราขอแนะนำให้ใช้ CocoaPods เพื่อติดตั้งไลบรารี Firebase อย่างไรก็ตาม หากไม่ต้องการใช้ CocoaPods คุณสามารถผสานรวมเฟรมเวิร์ก SDK โดยตรงหรือใช้ Swift Package Manager เวอร์ชันเบต้าได้
- หากยังไม่มี Podfile ให้สร้างโดยเรียกใช้คำสั่งต่อไปนี้ หากคุณใช้ตัวอย่างการเริ่มต้นอย่างรวดเร็ว โปรเจ็กต์ Xcode และ Podfile (พร้อม Pod) จะมีอยู่แล้ว
$ cd MessagingExample $ pod init
- เพิ่ม Pod ของ Firebase ที่ต้องการใช้ในแอปไปยัง Podfile
คุณเพิ่มผลิตภัณฑ์ Firebase ที่รองรับลงในแอป iOS ได้
ในตัวอย่าง Quickstart เราได้เพิ่ม SDK ของ Google Analytics และ Firebase Cloud Messaging แล้ว
# Add the Firebase pod for Google Analytics pod 'Firebase/Analytics' # Add the pod for Firebase Cloud Messaging pod 'Firebase/Messaging'
- ติดตั้งพ็อด แล้วเปิดไฟล์
.xcworkspace
เพื่อดูโปรเจ็กต์ใน Xcode
$ pod install
- เปิด
MessagingExample.xcworkspace
แล้วคลิกถัดไปในคอนโซล Firebase
เริ่มต้น Firebase ในแอป
คุณจะต้องเพิ่มโค้ดการเริ่มต้น Firebase ลงในแอปพลิเคชัน
นำเข้าโมดูล Firebase และกำหนดค่าอินสแตนซ์ที่แชร์ (ในตัวอย่าง Quickstart มีการนำเข้าโมดูล Firebase อยู่แล้ว)
- นำเข้าโมดูล Firebase ใน
UIApplicationDelegate
ดังนี้
AppDelegate.swift
import UIKit
import Firebase // Add this line
- กำหนดค่าอินสแตนซ์ที่แชร์ของ FirebaseApp โดยปกติจะอยู่ในเมธอด
application:didFinishLaunchingWithOptions:
ของแอป
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure() // Add this line
return true
}
- คลิกถัดไปในคอนโซล Firebase
- ระบบจะเพิ่ม Firebase SDK ลงในแอปของคุณ คลิกไปยังคอนโซล
5. การกำหนดค่าไคลเอ็นต์ FCM
อัปโหลดคีย์การตรวจสอบสิทธิ์ APNs
อัปโหลดคีย์การตรวจสอบสิทธิ์ APNs ไปยัง Firebase
- ภายในโปรเจ็กต์ในคอนโซล Firebase ให้เลือกไอคอนรูปเฟือง เลือกการตั้งค่าโปรเจ็กต์ แล้วเลือกแท็บ Cloud Messaging
- ในคีย์การตรวจสอบสิทธิ์ APNs ภายในการกำหนดค่าแอป Apple ให้คลิกปุ่มอัปโหลดเพื่ออัปโหลดคีย์การตรวจสอบสิทธิ์สำหรับการพัฒนา คีย์การตรวจสอบสิทธิ์สำหรับการใช้งานจริง หรือทั้ง 2 อย่าง โดยต้องระบุอย่างน้อย 1 รายการ
- เรียกดูตำแหน่งที่คุณบันทึกคีย์ เลือกคีย์ แล้วคลิกเปิด เพิ่มรหัสคีย์สำหรับคีย์ (มีอยู่ในใบรับรอง ตัวระบุ และโปรไฟล์ในศูนย์สมาชิกนักพัฒนาซอฟต์แวร์ของ Apple) แล้วคลิกอัปโหลด
ลงทะเบียนรับการแจ้งเตือนระยะไกล
ลงทะเบียนแอปสำหรับการแจ้งเตือนจากระยะไกลเมื่อเริ่มต้นหรือที่จุดที่ต้องการในขั้นตอนการสมัคร
ในตัวอย่างการเริ่มต้นใช้งานด่วน ระบบจะเพิ่ม registerForRemoteNotifications
ไว้ให้แล้ว
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
// [START register for remote notifications]
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
// [END register for remote notifications]
return true
}
กำหนดพร็อพเพอร์ตี้ผู้มอบสิทธิ์ของ UNUserNotificationCenter
โดยเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของ AppDelegate.swift
AppDelegate.swift
@available(iOS 10, *)
extension AppDelegate : UNUserNotificationCenterDelegate {
// Receive displayed notifications for iOS 10 devices.
func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
let userInfo = notification.request.content.userInfo
// Print full message.
print(userInfo)
// Change this to your preferred presentation option
completionHandler([[.alert, .sound]])
}
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
let userInfo = response.notification.request.content.userInfo
// Print full message.
print(userInfo)
completionHandler()
}
}
ตั้งค่าผู้รับมอบสิทธิ์การรับส่งข้อความ
หากต้องการรับโทเค็นการลงทะเบียน ให้ใช้โปรโตคอลผู้มอบสิทธิ์การรับส่งข้อความและตั้งค่าพร็อพเพอร์ตี้ FIRMessaging
ของ delegate
หลังจากเรียกใช้ [FIRApp configure]
เช่น หากตัวแทนแอปพลิเคชันเป็นไปตามโปรโตคอลตัวแทนการรับส่งข้อความ คุณสามารถตั้งค่าตัวแทนใน application:didFinishLaunchingWithOptions:
เป็นตัวแทนของตัวเองได้ (ในตัวอย่างการเริ่มต้นใช้งานอย่างรวดเร็ว ระบบได้ตั้งค่าไว้แล้ว)
AppDelegate.swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
FirebaseApp.configure()
Messaging.messaging().delegate = self // Add this line
// [START register for remote notifications]
if #available(iOS 10.0, *) {
// For iOS 10 display notification (sent via APNS)
UNUserNotificationCenter.current().delegate = self
let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in })
} else {
let settings: UIUserNotificationSettings = UIUserNotificationSettings(types: [.alert, .badge, .sound], categories: nil)
application.registerUserNotificationSettings(settings)
}
application.registerForRemoteNotifications()
// [END register for remote notifications]
return true
}
กำหนดพร็อพเพอร์ตี้ผู้มอบสิทธิ์ของ FIRMessaging
โดยเพิ่มบรรทัดต่อไปนี้ที่ส่วนท้ายของ AppDelegate.swift
AppDelegate.swift
extension AppDelegate : MessagingDelegate {
func messaging(_ messaging: Messaging, didReceiveRegistrationToken fcmToken: String?) {
print("Firebase registration token: \(String(describing: fcmToken))")
let dataDict:[String: String] = ["token": fcmToken ?? ""]
NotificationCenter.default.post(name: Notification.Name("FCMToken"), object: nil, userInfo: dataDict)
}
}
เพิ่มความสามารถ
คุณได้เพิ่มความสามารถในการแจ้งเตือนแบบพุชในส่วนสร้าง App ID แล้ว แต่คุณต้องเพิ่มความสามารถนี้ใน XCode ด้วยโดยทำตามขั้นตอนต่อไปนี้ (ขั้นตอนด้านล่างอยู่ใน XCode 12.3)
- คลิกชื่อโปรเจ็กต์ในพื้นที่แถบนำทาง
- คลิกการลงนามและความสามารถ
- คลิก + ความสามารถ
- ดับเบิลคลิกโหมดพื้นหลัง
- คลิก + ความสามารถอีกครั้ง
- ดับเบิลคลิกข้อความ Push
- ตรวจสอบการแจ้งเตือนจากระยะไกลในส่วนโหมดเบื้องหลัง
6. ส่งข้อความแจ้งเตือน
คุณส่งข้อความทดสอบได้โดยทำตามขั้นตอนต่อไปนี้
- ติดตั้งและเรียกใช้แอปในอุปกรณ์เป้าหมาย คุณจะต้องยอมรับคำขอสิทธิ์เพื่อรับการแจ้งเตือนจากระยะไกล
- รับโทเค็นการลงทะเบียนในบันทึกของ Xcode
- ตรวจสอบว่าแอปทำงานอยู่เบื้องหลังในอุปกรณ์
- เปิดเครื่องมือแต่งการแจ้งเตือน แล้วเลือกการแจ้งเตือนใหม่
- ป้อนข้อความ
- เลือกส่งข้อความทดสอบ
- ในช่องที่มีป้ายกำกับว่าเพิ่มโทเค็นการลงทะเบียน FCM ให้ป้อนโทเค็นการลงทะเบียนที่คุณได้รับในขั้นตอนที่ 2
- คลิกทดสอบ
หลังจากคลิกทดสอบแล้ว อุปกรณ์ไคลเอ็นต์เป้าหมาย (ที่มีแอปทำงานอยู่เบื้องหลัง) ควรได้รับการแจ้งเตือนในศูนย์การแจ้งเตือน
ดูข้อมูลเชิงลึกเกี่ยวกับการนำส่งข้อความไปยังแอปได้ที่แดชบอร์ดการรายงาน FCM ซึ่งบันทึกจำนวนข้อความที่ส่งและเปิดในอุปกรณ์ iOS และ Android
7. ขอแสดงความยินดี
ยินดีด้วย คุณส่งข้อความทดสอบสำเร็จแล้ว
FCM ยังมีฟังก์ชันและการกำหนดค่าอื่นๆ อีกมากมาย เช่น การติดตามหัวข้อ
ดูเอกสารอย่างเป็นทางการสำหรับนักพัฒนาซอฟต์แวร์หากสนใจ
สิ่งต่อไปที่ควรทำ
ลองดู Codelab เหล่านี้