ตัวอย่างต่อไปนี้จะช่วยคุณในการติดตั้งใช้งานรหัสอินสแตนซ์ในไคลเอ็นต์ iOS โปรดทราบว่าตัวอย่างเหล่านี้ใช้ขอบเขต GCM ซึ่งคุณจะใช้ในการ จัดการโทเค็นสำหรับไคลเอ็นต์ iOS Firebase Cloud Messaging
ตั้งค่าทรัพยากร Dependency ของ CocoaPods
รหัสอินสแตนซ์ใช้ CocoaPods ในการติดตั้งและ จัดการการอ้างอิง เปิดหน้าต่างเทอร์มินัลและไปยังตำแหน่งของ โปรเจ็กต์ Xcode สำหรับแอปพลิเคชัน หากคุณยังไม่ได้สร้าง Podfile สำหรับแอปพลิเคชันของคุณ ให้สร้างบัญชีตอนนี้เลย
pod init
เปิด Podfile ที่สร้างขึ้นสำหรับแอปพลิเคชันของคุณ แล้วเพิ่มข้อมูลต่อไปนี้
pod 'FirebaseInstanceId'
บันทึกไฟล์และเรียกใช้:
pod install
การดำเนินการนี้จะสร้างไฟล์ .xcworkspace
สำหรับแอปพลิเคชันของคุณ ใช้ไฟล์นี้กับทุกคน
การพัฒนาแอปพลิเคชันของคุณในอนาคต
สร้างโทเค็น
การสร้างโทเค็นต้องใช้รหัสโปรเจ็กต์ที่ Google Developers Console สร้างขึ้น
NSString *authorizedEntity = PROJECT_ID;
String *scope = kFIRInstanceIDScopeFirebaseMessaging;
NSDictionary *options = @{
@"apns_token" : <APNS Token data>,
// 1 if APNS sandbox token else 0
@"apns_sandbox" : @(1),
};
[[FIRInstanceID instanceID] tokenWithAuthorizedEntity:authorizedEntity
scope:scope
options:options
handler:
^(NSString * _Nullable token, NSError * _Nullable error) {
// ...
}];
จัดการโทเค็นและรหัสอินสแตนซ์
รหัสอินสแตนซ์ช่วยให้คุณลบและรีเฟรชโทเค็นได้
ลบโทเค็นและรหัสอินสแตนซ์
NSString *authorizedEntity = PROJECT_ID; // Project ID
String *scope = kFIRInstanceIDScopeFirebaseMessaging;
FIRInstanceIDDeleteTokenHandler handler = ^void(NSError *error) {
if (error) {
// Failed to delete the token. Check error and do an exponential
// backoff to retry again.
} else {
// Successfully deleted the token.
}
};
[[FIRInstanceID instanceID]
deleteTokenWithAuthorizedEntity:authorizedEntity
scope:scope
handler:handler];
คุณยังลบรหัสอินสแตนซ์ได้ด้วย ซึ่งในกรณีนี้ในครั้งถัดไปที่คุณเรียกใช้
getInstance()
คุณจะได้รับรหัสอินสแตนซ์ใหม่:
[FIRInstanceID instanceID] deleteIDWithHandler:^(NSError *error) {
if error != nil {
NSLog(@"Error deleting instance ID: %@", error);
}
}];
รีเฟรชโทเค็น
บริการรหัสอินสแตนซ์อาจสร้างหรือสร้างโทเค็นใหม่ เมื่อเกิดกรณีนี้ขึ้น
จะมีการส่งการแจ้งเตือน คุณฟังการแจ้งเตือนนี้ได้โดยเพิ่ม
ผู้สังเกตการณ์สำหรับการแจ้งเตือนชื่อ kFIRInstanceIDTokenRefreshNotification
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(tokenRefreshNotification:)
name:kFIRInstanceIDTokenRefreshNotification object:nil];
เช่น ต้องสร้างผู้สังเกตการณ์นี้ก่อนสร้างโทเค็น
ก่อนโทรหา [FIRApp configure]
คุณจะเรียกดูโทเค็นล่าสุดได้โดย
กำลังโทรหา [[FIRInstanceID instanceID] token]
โปรดทราบว่าสำหรับการสังเกตการณ์การสร้างโทเค็นสำหรับ Cloud Messaging มี ตัวแทนที่เจาะจงได้