โทเค็นอุปกรณ์ APNS เคยเปลี่ยนแปลงเมื่อสร้างขึ้นหรือไม่


99

เมื่อสร้างแล้วโทเค็นอุปกรณ์แจ้งเตือนแบบพุชจะเปลี่ยนไปหรือไม่?

ตัวอย่างเมื่อมีการอัปเดตแอป? หรือในกรณีอื่น ๆ สามารถเปลี่ยนแปลงได้ ??


ตรวจสอบให้แน่ใจว่าคุณเห็นคำตอบนี้เนื่องจากมีเอกสารเกี่ยวกับสถานที่ 4 แห่งที่โทเค็นอุปกรณ์เปลี่ยนแปลง
ฮันนี่

คำตอบ:


71

จาก[เอกสาร Apple ApplePushService] 2

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

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


เอกสารปัจจุบันหลุดประโยคสุดท้าย ปรากฏขึ้น (จากคำถาม SO อื่นstackoverflow.com/questions/2751481/… ) ว่าการกู้คืนข้อมูลจะเก็บโทเค็น APN ไว้ แต่การติดตั้งระบบปฏิบัติการและ "เช็ด" จะรีเซ็ต (เว้นแต่จะตามด้วยการกู้คืนข้อมูลไปยังปฏิบัติการที่ติดตั้งใหม่ ระบบ).
Robert Altman

1
@RobertAltman - ฉันไม่คิดว่านี่จะเป็นเรื่องราวทั้งหมด ฉันได้เห็นการลงทะเบียนจำนวนหนึ่งในฐานข้อมูลของเราจากอุปกรณ์ที่แตกต่างกันโดยสิ้นเชิงที่มีโทเค็น APNS เดียวกัน ฉันเห็นต่อหน้าฉันตอนนี้คือ iPad 2 และ iPhone 3GS ที่ส่งโทเค็นเดียวกันมาให้เรา ใครสามารถยืนยันพฤติกรรมนี้ได้อีกหรือไม่?
DougW

@ คุณ DougW นี่มันแปลก ๆ คุณยังมีปัญหาที่คล้ายกันหรือไม่ แก้ไขลิงก์และโพสต์จากเอกสารล่าสุด
iosCurator

139

เอกสารอย่างเป็นทางการของ Apple ยังไม่ชัดเจนในประเด็นนี้ สิ่งที่ฉันสังเกตเห็นคือโทเค็นไม่แปรผันสำหรับอุปกรณ์แอปพลิเคชันและโดเมนที่กำหนด (การผลิตเทียบกับแซนด์บ็อกซ์) ฉันเชื่อว่าสิ่งนี้จะต้องเป็นจริงเพื่อให้ระบบทำงานได้อย่างน่าเชื่อถือ พิจารณาสถานการณ์ที่การอัปเดตแอปพลิเคชันทริกเกอร์โทเค็น APN ใหม่ ถ้าฉันใช้แอพคล้าย Twitter ใหม่ที่ยิ่งใหญ่ที่สุดโดยเปิดใช้งานการแจ้งเตือนจะเกิดอะไรขึ้นเมื่อฉันอัปเดตแอปจาก iTunes ฉันควรคาดหวังหรือไม่ว่าจะยังคงได้รับการแจ้งเตือนแม้ว่าฉันจะไม่ได้เรียกใช้แอปพลิเคชันตั้งแต่ฉัน "ซิงค์" อัปเดตกับอุปกรณ์ของฉัน การเปลี่ยนแปลงแอปพลิเคชันไม่สามารถส่งผลกระทบต่อระบบ APN เนื่องจากระบบปฏิบัติการสามารถรับการแจ้งเตือนในนามของคุณแม้ว่าคุณจะไม่ได้เรียกใช้แอปที่อัปเดตก็ตาม

เพื่อความชัดเจนApple ระบุว่า "แอปพลิเคชันควรลงทะเบียน [กับเซิร์ฟเวอร์ APN] ทุกครั้งที่เปิดตัวและให้โทเค็นปัจจุบันแก่ผู้ให้บริการ" ฉันเห็นด้วยสุดใจ; การทำเช่นนี้จะปกป้องแอปพลิเคชันของคุณจากสมมติฐานที่ไม่ดีหรือสถานการณ์ที่ผิดปกติ

หนึ่งในคำตอบของโทเค็นการแจ้งเตือนแบบพุชไม่ซ้ำกันในทุกแอพสำหรับอุปกรณ์เครื่องเดียว บ่งชี้ว่าโทเค็นอุปกรณ์ไม่ซ้ำกันสำหรับ "การติดตั้งระบบปฏิบัติการ"; และการกู้คืนจากการสำรองข้อมูลไปยังอุปกรณ์จะรักษาโทเค็น แต่การล้างข้อมูลอุปกรณ์จะทำให้ได้รับโทเค็นใหม่ สิ่งนี้จะสอดคล้องกับความตั้งใจของ Apple ในการใช้งานและความเป็นส่วนตัวอย่างราบรื่น: การล้างข้อมูลอุปกรณ์นั้นรุนแรงพอที่จะรับประกันการเชื่อมโยงใหม่ แต่ผู้ใช้ที่กู้คืนรูปภาพหลังจากการอัปเดตระบบปฏิบัติการต้องการเก็บการแจ้งเตือนที่มีอยู่ หากฉันจำการอัปเดต iOS5 ล่าสุดบน iPad ของฉันฉันจะกู้คืนข้อมูลสำรองล่าสุดหลังจากอัปเกรดดังนั้นสิ่งนี้จะรักษาความสอดคล้องของโทเค็นการแจ้งเตือนของฉัน [แก้ไข: การเรียกคืนการสำรองข้อมูลไปยังที่แตกต่างกัน อุปกรณ์จะไม่ทำซ้ำโทเค็น]

ข้อแม้: ฉันไม่มีความรู้ที่ชัดเจนในเรื่องนี้มีเพียงประสบการณ์ที่สมเหตุสมผลในการทำงานกับ APN (ในฐานะนักพัฒนาบุคคลที่สาม) เช่นเคยวิธีที่ดีที่สุดคือการตรวจสอบสมมติฐานของคุณ


อัปเดต (มิถุนายน 2555):

เมื่อเร็ว ๆ นี้ฉันได้มีโอกาส> พูดคุยกับวิศวกรของ Apple และ b> ทำการทดสอบในโลกแห่งความเป็นจริงและฉันต้องการนำเสนอผลลัพธ์:

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

ประการแรกวิศวกรของ Apple กล่าวว่าไม่ควรเป็นไปได้ที่อุปกรณ์สองเครื่องจะส่งคืน APN เดียวกัน แม้ว่าจะมีความคิดเห็นด้านล่างฉันยังไม่สามารถระบุสถานการณ์ที่ทำให้เกิดความล้มเหลวได้

ประการที่สองนี่คือลำดับและผลลัพธ์ของการทดสอบการอัพเกรด:

  1. เริ่มต้นด้วย iOS4 ที่ติดตั้งบน iPhone4; อุปกรณ์สำรองข้อมูลใน iTunes

  2. อัปเกรดเป็น iOS5
    จากการทดสอบก่อนหน้านี้ฉันรู้ว่าโทเค็น APN แตกต่างไปจากเดิม

  3. คืนค่าข้อมูลสำรองไปยังอุปกรณ์
    โทเค็น APN จะเหมือนกับขั้นตอนที่ 1

  4. รีเซ็ต iOS (ล้างอุปกรณ์)
    โทเค็น APN จะเปลี่ยนไป

  5. สำรองข้อมูลโทรศัพท์เครื่องอื่นไปยัง iTunes และกู้คืนข้อมูลสำรองนั้นไปยังอุปกรณ์ทดสอบ โดยพื้นฐานแล้วฉันกำลังกู้คืนข้อมูลสำรอง "ผิด" ราวกับว่าฉันกำลังเปลี่ยนโทรศัพท์
    โทเค็น APN เปลี่ยนแปลงอีกครั้ง นอกจากนี้ยังมีความแตกต่างและไม่ตรงกับโทเค็นทั้งโทเค็นดั้งเดิมหรือโทเค็น "โคลน"

  6. กู้คืนข้อมูลสำรองที่ "ถูกต้อง" ไปยังอุปกรณ์
    ตอนนี้โทเค็น APN เหมือนกับขั้นตอนที่ 1

  7. สุดท้ายฉันอัปเกรดโทรศัพท์เป็น iOS6 (beta2) กู้คืนข้อมูลสำรองและทดสอบอีกครั้ง ตามที่คาดไว้โทเค็นยังคงจับคู่โทเค็นในขั้นตอนที่ 1

ณ จุดนี้ฉันค่อนข้างมั่นใจว่าโทเค็น APN ไม่สามารถทำซ้ำระหว่างอุปกรณ์ต่างๆได้ บางทีสิ่งนี้อาจเกิดขึ้นเนื่องจากข้อผิดพลาดใน iOS เวอร์ชันก่อนหน้า แต่ฉันมั่นใจว่า iOS5 (และน่าจะเป็น iOS6) จัดการโทเค็น APN ได้อย่างถูกต้อง


อัปเดต (สิงหาคม 2555)

ฉันเพิ่งรู้ว่าฉันไม่ได้เพิ่มสิ่งนี้โทเค็นอุปกรณ์จะเปลี่ยนไป นักพัฒนาของ Apple คนหนึ่งแชร์กับฉันว่าโทเค็นหมดอายุจริง (ฉันคิดว่าหลังจาก 2 ปี) สำหรับวัตถุประสงค์หลายประการนี่เป็นเวลานานพอที่จะคิดได้ว่าไม่แปรผัน

[ฉันไม่กังวลถ้าฉันต้องอัปเดตสคริปต์ทดสอบด้วยโทเค็นใหม่ทุกๆสองปีโดยเฉพาะอย่างยิ่งเมื่อฉันเปลี่ยนโทรศัพท์ทุกปี]


นั่นหมายความว่าคุณสามารถใช้โทเค็นเป็นวิธีระบุผู้ใช้โดยไม่ซ้ำกันได้หรือไม่? (ซึ่งใช้ได้จริงมากในแอพที่ต้อง 'โหวต'?) ฉันสามารถจินตนาการถึงสถานการณ์: คะแนนโหวตของผู้ใช้และแอปตอบกลับด้วยหมายเลขสุ่มผ่านการแจ้งเตือน หมายเลขนั้นจะต้องถูกส่งไปยังเซิร์ฟเวอร์อีกครั้งเพื่อให้การโหวตนั้นถูกต้อง การลงคะแนนด้วยวิธีนี้สามารถทำได้ไม่ยาก
Toad

ที่น่าสนใจเช่นกัน: โทเค็นเปลี่ยนแปลงหรือไม่เมื่อลบแอพและติดตั้งใหม่ หรือคล้ายกับตัวเลือก "การกู้คืนข้อมูลสำรอง"
Toad

@Toad โทเค็นจะไม่เปลี่ยนแปลงเนื่องจากการลบและติดตั้งแอพใหม่
Robert Altman

@ Toad ฉันไม่คิดว่านี่จะเป็นรูปแบบการระบุตัวผู้ใช้ที่ดี เนื่องจากโทเค็นไม่ซ้ำกันต่ออุปกรณ์ (เช่นเดียวกับต่อแอป) ผู้ใช้ที่มีอุปกรณ์หลายเครื่องจะมีโทเค็นหลายตัว
Robert Altman

1
ฉันสงสัยเกี่ยวกับความสัมพันธ์ระหว่างใบรับรองและโทเค็นอุปกรณ์ หากใบรับรอง. p12 หมดอายุจำเป็นต้องเปลี่ยนใบรับรองใหม่ ฉันพบข้อมูลอ้างอิง"เมื่อจำเป็นต้องใช้โทเค็นอุปกรณ์ใหม่ APN จะสร้างขึ้นโดยใช้ข้อมูลที่มีอยู่ในใบรับรองของอุปกรณ์" ดังนั้นจึงไม่มีความเป็นไปได้ในการรีเฟรชโทเค็นอุปกรณ์เมื่อเปลี่ยนใบรับรอง?
illusionJJ

51

ฉันเพิ่งทดสอบกับ iOS9 และ APN Push token จะเปลี่ยนแปลงหากฉันติดตั้งแอพใหม่


7
ฉันสามารถยืนยันได้
roocell

1
ฉันสามารถยืนยันเรื่องนี้ได้เช่นกัน
มูฮัมหมัดอัด

1
ใช่มันกำลังเปลี่ยนแปลง :(
Azik Abdullah

มีใครบอกได้ไหมว่าทำไมถึงเกิดขึ้น
Sushobhit

ใช่มันจะเปลี่ยนไป
Ved Rauniyar

22

ใช่โทเค็นอุปกรณ์สามารถเปลี่ยนแปลงได้

ทุกครั้งที่แอปของคุณได้รับโทเค็นควรจัดเก็บโทเค็นไว้ จากนั้นเมื่อใดก็ตามที่ได้รับโทเค็นใหม่ (ซึ่งจะเกิดขึ้นในที่สุด) ให้เปรียบเทียบโทเค็นใหม่กับโทเค็นที่เก็บไว้และหากแตกต่างกัน:

  1. อัปเดตที่เก็บข้อมูลในเครื่องของอุปกรณ์ (รวมถึงอาจเป็นไปได้nil)
  2. อัปเดตทุกอย่างบนอุปกรณ์ที่ใช้โทเค็นเพื่อรับทราบโทเค็นใหม่
  3. อัปเดต API ใด ๆ ที่ทราบถึงโทเค็นนี้เป็นโทเค็นใหม่

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

Ergo โดยทั่วไปแล้ว 100% ของ API ที่ยอมรับ "โทเค็นอุปกรณ์" จะต้องมีUPDATEสิ่งอำนวยความสะดวกบางอย่างสำหรับโทเค็นนั้นด้วย การไม่สร้างสิ่งนี้คือการสร้างสำหรับการแจ้งเตือนที่ส่งผิดและไม่ได้ส่ง


ฟังดูดี แต่ฉันลบอะไรออกและติดตั้งแอพใหม่ ในสถานการณ์นั้นโทเค็นอุปกรณ์ที่ฉันบันทึกไว้ในที่จัดเก็บในตัวเครื่องจะถูกลบ
Kuf

@ คุฟคุณได้รับคำตอบสำหรับคำถามนั้นหรือไม่? ฉันมีเหมือนกัน - แม้แอปจะถอนการติดตั้ง / ติดตั้งใหม่เราจะเปรียบเทียบโทเค็นระบบอย่างไร
nkirkes

@nkirkes ดูคำถามนี้สำหรับรายละเอียดเพิ่มเติม
Kuf

ประเด็น "อัปเดต" สามประเด็นที่คุณพูดถึงเป็นความรับผิดชอบของ iOS, SDK หรือตัวเราเอง?
somenickname

7

โทเค็นอุปกรณ์เปลี่ยนจาก iOS 8 ขึ้นไป

โปรดดูข้อความด้านล่างจากเว็บไซต์ Apple การลงทะเบียนกำหนดเวลาและจัดการการแจ้งเตือนของผู้ใช้

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


2
URL ตาย! โปรดแก้ไข
Ramis


4

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


3

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

แต่ Apple ไม่รับประกันว่าจะไม่มีวันเปลี่ยนแปลง (ด้วยเหตุนี้เอกสารจึงไม่เคยกล่าวถึง) คุณดีกว่าโปรแกรมที่แย่ที่สุดและคิดว่าวันหนึ่งอาจมีการเปลี่ยนแปลง นอกจากนี้การส่งโทเค็นไปยังเซิร์ฟเวอร์ของคุณเป็นประจำยังช่วยให้คุณสามารถลบโทเค็นที่ไม่ได้ลงทะเบียนมาสักระยะหนึ่งและอาจจะถอนการติดตั้งแอปของคุณหรือหมดความสนใจไปสักพักแล้ว (และเอกสารประกอบก็ระบุว่าสิ่งนี้เป็นพฤติกรรมที่ต้องการ!)


คุณถูกต้อง: คุณไม่สามารถถือว่าโทเค็นเป็นแบบถาวร ปฏิบัติตามกฎการมีส่วนร่วมตามที่กำหนดไว้ในเอกสาร APN ในความเป็นจริงผู้พัฒนาของ Apple ได้บอกฉันว่าโทเค็นจะเปลี่ยนไปในที่สุด (หลังจากผ่านไป 2 ปี)
Robert Altman

1
การรื้อฟื้นการสนทนาเก่า ๆ แต่บางคนอาจพบว่ามีประโยชน์: ฉันใช้เวลาในสัปดาห์นี้ในการทำงานกับเซิร์ฟเวอร์ Parse ที่โฮสต์ด้วยตัวเองและมีปัญหาในการทดสอบปรากฎว่าทุกครั้งที่ฉันรีเฟรชแอป dev (ขณะที่ฉันกำลังสร้าง จำนวนการเปลี่ยนแปลง UX เช่นกัน) รหัสโทเค็นเปลี่ยนไปตามการติดตั้งซอฟต์แวร์แต่ละครั้ง ... มันไม่สนุกเกินไปเหรอ? (ถอนหายใจ)
ChrisH

3

จาก - Apple Docs

APN สามารถออกโทเค็นอุปกรณ์ใหม่ได้ด้วยเหตุผลหลายประการ:

  • ผู้ใช้ติดตั้งแอปของคุณบนอุปกรณ์ใหม่

  • ผู้ใช้กู้คืนอุปกรณ์จากข้อมูลสำรอง

  • ผู้ใช้ติดตั้งระบบปฏิบัติการใหม่

  • เหตุการณ์อื่น ๆ ที่ระบบกำหนด

ด้วยเหตุนี้แอปจึงต้องขอโทเค็นอุปกรณ์ในเวลาเปิดตัว

นอกจากนี้:

สำคัญ

โทเค็นอุปกรณ์ APN มีความยาวผันแปรได้ อย่าฮาร์ดโค้ดขนาดของมัน


2

ลิงค์ล้าสมัยอย่างรวดเร็วด้วย apple! ดังนั้นฉันกำลังอ้างถึงสิ่งที่ดูเหมือนจะชัดเจนในตอนนี้:

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

จากคู่มือนี้


0

อ้างอิงถึง เนื้อหาการแจ้งเตือนแบบพุชของ Apple

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

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


0

ตามลิงค์นี้โทเค็นอุปกรณ์

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


0

ใช่มันสามารถเปลี่ยนแปลงได้ ตามหลักการแล้วเมื่อเราได้รับโทเค็นผ่านวิธีการโทรกลับ

  • (เป็นโมฆะ) แอปพลิเคชัน: (UIApplication *) แอปพลิเคชั่น didRegisterForRemoteNotificationsWithDeviceToken: (NSData *) deviceToken

แอปควรลงทะเบียน / รีเฟรชโทเค็นบนเซิร์ฟเวอร์ระยะไกล เพื่อให้แน่ใจว่าโทเค็นบน APNS และเซิร์ฟเวอร์ของคุณยังคงซิงค์กันอยู่

ตามเอกสารที่แอปเปิ้ล ,

การรับและจัดการโทเค็นอุปกรณ์เฉพาะแอปทำงานดังนี้:

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


0

รีเลย์โทเค็นอุปกรณ์ในการติดตั้งแอป

ก็หมายความว่าถ้าคุณติดตั้งโปรแกรมที่จะเปลี่ยน ; มันไม่ได้ผลถ้าคุณทำจากข้อมูลสำรอง ecc อัพเกรด iOS ..

วิธีที่ถูกต้องในการใช้เพื่อหลีกเลี่ยงปัญหาใด ๆ คือรับสิ่งที่ระบุไว้ในการNSPAppDelegateเปิดตัวแอปพลิเคชันแต่ละครั้งในวิธีการdidRegisterForRemoteNotificationsWithDeviceToken

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.