Hơi giống với When is didRegisterForRemoteNotificationsWithDeviceToken called?.didRegisterForRemoteNotificationsWithDeviceToken được gọi hai lần?
Khi người dùng trước tiên cài đặt ứng dụng và nó sẽ nhắc xem có chấp nhận thông báo, didRegisterForRemoteNotificationsWithDeviceToken
sẽ được gọi nếu người dùng chấp nhận?
Tôi hiện đang gọi registerForRemoteNotificationTypes
sau khi người dùng đăng nhập thành công hoặc tạo tài khoản.
Sau đó, các đại biểu didRegisterForRemoteNotificationsWithDeviceToken
được gọi ngay cả khi không gọi registerForRemoteNotificationTypes
trong AppDelegate.
Nếu tôi làm theo các tài liệu và mã ví dụ:
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 nay cho điện thoại .
- (void)applicationDidFinishLaunching:(UIApplication *)app {
// other setup tasks here....
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:...
}
Nhưng bằng cách yêu cầu token khi ứng dụng khởi chạy, các đại biểu sẽ được gọi là hai lần.
Một vài câu hỏi và rõ ràng cần thiết:
Đối với ban đầu nhanh chóng xảy ra, một cuộc gọi cho
registerForRemoteNotificationTypes
phải được thực hiện cho dấu nhắc xuất hiện? Tuy nhiên, đại biểu sẽ được gọi hai lần nếu tôi gọi điều này theo cách thủ công trong AppDelegate. Có giả sử như vậy không?Nếu người dùng chấp nhận lời nhắc ban đầu,
didRegisterForRemoteNotificationsWithDeviceToken
có được gọi tự động không? Hoặc chúng ta phải gọiregisterForRemoteNotificationTypes
trong AppDelegate? Nhưng sau đó, đại biểu sẽ được gọi hai lần để ra mắt trong tương lai?Nếu người dùng từ chối và sau đó chấp nhận thông qua Cài đặt, điều gì sẽ xảy ra?
CẬP NHẬT
0. Đối với ban đầu nhanh chóng xảy ra, một cuộc gọi cho registerForRemoteNotificationTypes
phải được thực hiện cho dấu nhắc xuất hiện? Tuy nhiên, đại biểu sẽ được gọi hai lần nếu tôi gọi điều này theo cách thủ công trong AppDelegate. Có giả sử như vậy không?Điều này không đúng. Phát hiện ra rằng thực tế đã có 2 registerForRemoteNotiicationTypes
được thực hiện trong AppDelegate.
Ok. Nó sẽ chỉ được gọi nếu người dùng chấp nhận lời nhắc và đăng ký thành công? Nếu không phương pháp thất bại sẽ được gọi? Điều gì xảy ra nếu người dùng từ chối lời nhắc, phương pháp lỗi có được gọi không? –
Nếu người dùng từ chối lời nhắc, anh ta đã không bắt đầu quá trình đăng ký APNS và phương pháp lỗi sẽ không bao giờ được gọi. phương thức didFailToRegisterForRemoteNotificationsWithError chỉ được gọi khi đăng ký thất bại. – thatzprem