Thực tiễn tốt nhất là gửi mã thông báo thiết bị đẩy (không giống với mã duy nhấtIdentifier được Serg Shiyan đề cập) cho Apple mỗi khi ứng dụng bắt đầu. Điều này sẽ cho phép Apple biết ứng dụng của bạn vẫn hoạt động.
Xem đăng ký thông báo đẩy từ xa:
Bằng cách yêu cầu các thiết bị token và đi qua nó để các nhà cung cấp mỗi khi ra mắt ứng dụng của bạn, bạn sẽ giúp đảm bảo rằng các nhà cung cấp có dấu hiệu hiện tại cho thiết bị.
từ Local and Push notifications Programming guide
Theo kinh nghiệm của tôi có một số lý do tại sao thẻ push có thể hết hiệu lực. Chúng bao gồm các ứng dụng deinstalls và trộn các ứng dụng với các chứng chỉ khác nhau (dev, ad-hoc chạy trên sandbox/các máy chủ push trực tiếp). Nó sẽ giúp bạn tiết kiệm một số gỡ lỗi bằng cách gửi các mã thông báo trên bắt đầu mỗi lần như đề nghị.
Vì vậy, về cơ bản không có lý do gì để lưu trữ mã thông báo đẩy khác ngoài bộ nhớ trong khi ứng dụng của bạn đang chạy. Bạn chỉ cần yêu cầu một cái mới (có thể là một cái mới) vào lần tiếp theo ứng dụng của bạn bắt đầu.
Nguồn
2012-01-25 16:22:49
Cảm ơn bạn. Điều duy nhất là tôi vẫn cần một số mã thông báo để chuyển đến máy chủ để xác định người dùng/thiết bị và tôi vẫn cần phải giữ nó trên thiết bị bằng cách nào đó. Tôi đoán mặc định của người dùng. –
Có, việc xác định người dùng có thể được thực hiện tốt nhất bằng cách sử dụng một cơ chế khác (mã thông báo thiết bị, tài khoản người dùng, v.v.), được lưu trữ trong móc khóa, mặc định người dùng hoặc thậm chí iCloud. Bằng cách này, bạn thậm chí có thể có các tình huống mà cùng một người dùng có nhiều mã thông báo đẩy được đăng ký nếu anh ấy đang sử dụng ứng dụng trên nhiều thiết bị. –