2012-06-15 40 views
5

Tôi đang làm việc trên ứng dụng iPhone với tích hợp Apple Push Notification. Tôi có một số nghi ngờ về điều này.Đăng ký thông báo đẩy và mã thông báo thiết bị của Apple Nhận thông tin làm rõ?

  1. Nếu người dùng nhấp vào nút "Không cho phép" trong cảnh báo đăng ký APNS, mã của chúng tôi vẫn nhận được mã thông báo thiết bị từ APNS?

  2. Tôi đã thử nghiệm khi người dùng tắt thông báo trong thông báo trên iPhone, ứng dụng vẫn nhận được Mã thông báo thiết bị từ APNS? Đung vậy?

Có ai vui lòng làm rõ những nghi ngờ này không?

Trả lời

8
  1. Theo hiểu biết của tôi về APNS, nó không phụ thuộc vào hành động của người dùng (như bạn đã nói khi người dùng nhấp vào nút "Không cho phép") cho iOS của bạn để nhận mã thông báo thiết bị.

    Nếu bạn đã bao gồm trong ứng dụng của bạn:

    - (void)application:didRegisterForRemoteNotificationsWithDeviceToken   
    

    Điều này có nghĩa rằng iOS dựa trên ứng dụng của bạn đang gửi một yêu cầu đăng ký Push Notification. Đổi lại, Apple gửi Mã thông báo thiết bị cho iOS; sau đó iOS gửi mã thông báo đến ứng dụng và sau đó ứng dụng sẽ gửi nó tới nhà cung cấp dịch vụ của họ.

    Lưu ý rằng khi người dùng được hỏi "Không cho phép" không có nghĩa là bạn sẽ không nhận được mã thông báo thiết bị. "Không cho phép" đề cập đến hành động được đưa đến bất kỳ thông báo nào nhận được bởi ứng dụng dành cho người dùng. Nói, vị trí. Đây là một điều hoàn toàn khác. Điều này có nghĩa là người dùng không cho phép ứng dụng sử dụng vị trí của họ.

  2. Có. nó vẫn nhận được Mã thông báo thiết bị như những gì tôi đã thảo luận trong câu trả lời cho câu hỏi của bạn trong # 1. Đây chỉ là cài đặt cho ứng dụng của bạn, có nghĩa là bạn sẽ không nhận được bất kỳ thông báo hiển thị nào (huy hiệu, tin nhắn hoặc âm thanh) bất cứ khi nào có cập nhật về bất kỳ thông tin nào liên quan đến ứng dụng của bạn. Nó giống như thiết lập tài khoản Facebook của bạn để chỉ nhận được thông báo khi bạn bè của bạn gửi cho bạn một tin nhắn riêng. Ngoài ra, bạn sẽ không được thông báo.

    Quá trình tạo điều kiện cho APNS là:

    1. Yêu cầu cấp giấy chứng nhận Authority
    2. Tạo ứng dụng id
    3. Cấu hình AppID cho thông báo đẩy
    4. Tạo provisioning hồ sơ
    5. Cung cấp một thiết bị
    6. Bật tiểu sử trong Xcode
    7. Tạo nhà cung cấp thông báo đẩy.

Để hiểu rõ thêm về APNS, kiểm tra this ra.

+0

Cảm ơn câu trả lời của bạn. Từ câu trả lời của bạn, tôi hiểu rằng Nếu người dùng hủy Yêu cầu thông báo đẩy của Apple, ứng dụng của chúng tôi sẽ tự động nhận được mã thông báo thiết bị từ các lần gửi. Tôi có đúng không? Trong cả hai trường hợp, cho phép và không cho phép ứng dụng sẽ nhận được mã thông báo thiết bị từ APNS. Hãy nói điều này đúng hay sai? Cảm ơn. – Gopinath

+0

Đúng vậy. "Không cho phép" sẽ không ngăn ứng dụng nhận mã thông báo thiết bị từ Apple. – Kimpoy

+0

Cảm ơn rất nhiều về câu trả lời tại chỗ và trợ giúp của bạn. Tuy nhiên, người dùng sẽ không nhận được bất kỳ thông báo nào từ APNS phải không? Làm cách nào chúng tôi có thể tìm thấy người dùng đã hủy dịch vụ Thông báo đẩy của Apple? Cảm ơn trước. – Gopinath

5

Tôi đã thử nghiệm với Xcode 6.1, ios8.1.2.Hiện nay token thiết bị sẽ được tạo ra chỉ trong hai trường hợp

  1. sự đồng ý mặc định của Apple với tùy chọn "Ok"
  2. Sau "Đừng cho phép", thay đổi bằng tay trong thiết lập-> Thông báo-> cấp ứng dụng> AllowNotification (Trên)

Bằng cách từ chối lần đầu tiên với sự đồng ý của Apple, sẽ không tạo mã thông báo thiết bị, cho đến khi thay đổi giá trị theo cách thủ công trong trang cài đặt.

+0

trong trường hợp 2, cách chúng tôi nhận mã thông báo? –

Các vấn đề liên quan