2012-06-28 30 views

Trả lời

42

Có. Trong phần Hướng dẫn lập trình thông báo đẩy The Notification Payload, nó nêu rõ

Nhà cung cấp có thể chỉ định giá trị tải trọng tùy chỉnh bên ngoài không gian tên aps do Apple đặt trước. Giá trị tùy chỉnh phải sử dụng các loại có cấu trúc và nguyên thủy JSON: từ điển (đối tượng), mảng, chuỗi, số và Boolean. Bạn không nên bao gồm thông tin khách hàng làm dữ liệu tải trọng tùy chỉnh. Thay vào đó, hãy sử dụng nó cho các mục đích như thiết lập ngữ cảnh (cho giao diện người dùng) hoặc số liệu nội bộ. Ví dụ: giá trị tải trọng tùy chỉnh có thể là từ định danh cuộc hội thoại để ứng dụng khách tin nhắn tức thì sử dụng hoặc dấu thời gian xác định thời điểm nhà cung cấp gửi thông báo. Bất kỳ hành động nào được kết hợp với thông báo cảnh báo không được phá hoại — ví dụ: xóa dữ liệu trên thiết bị.

Vì vậy, tải trọng của bạn có thể trông giống như

{ 
    "aps": { 
     "alert": "joetheman", 
     "sound": "default" 
    }, 
    "message": "Some custom message for your app", 
    "id": 1234 
} 

Tiếp tục xuống trên trang đó cùng là một số ví dụ mà chứng minh điều này.

+0

là có thể tôi có thể câu lạc bộ "tin nhắn" và "id" cả trong từ điển và sau đó gửi nó. Tôi đang đối mặt với một số vấn đề lạ trong kịch bản đó. – kidsid49

+0

Lưu ý rằng liên kết đề cập đến tài liệu Mac - tài liệu iOS (mặc dù không nhất thiết khác nhau) ở đây: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Chapters/ApplePushService.html – thomers

+0

Bạn có thể chỉnh sửa tải trọng của mình bằng cách nào? – Haring10

6

Tất nhiên. Bạn có thể gửi thông số tùy chỉnh dưới dạng tải trọng với thông báo đẩy của Apple. Giống như Kevin Ballard, trọng tải sẽ giống như trên. Nhưng hãy nhớ một điều luôn luôn bạn đang đối phó với thông báo đẩy, Theo các ràng buộc táo các thông báo đẩy, Kích thước tối đa cho phép cho một trọng tải thông báo là 256 byte; Dịch vụ thông báo đẩy của Apple từ chối mọi thông báo vượt quá điều này. Vì vậy, hãy xem xét điều này quá khi bạn cân nhắc thêm dữ liệu để thông báo.

+6

Giới hạn mới là 2048 – Enigma

+2

để sử dụng số lần tạm dừng mới trên http/2. giới hạn được tăng lên 4096 byte. https://developer.apple.com/news/?id=12172015b – infiniteloop

+1

Giới hạn mới là 4Kb (iOS 10) – preetam

3

Bạn không được phép đặt thẻ tùy chỉnh bên trong thẻ aps. Đây là những gì các tài liệu nói về nó:

Providers can specify custom payload values outside the Apple-reserved aps namespace. Custom values must use the JSON structured and primitive types: dictionary (object), array, string, number, and Boolean. 

Vì vậy, trong trường hợp của bạn, bạn nên làm một cái gì đó như:

{ 
    "aps": { 
     "alert": "Hello Push", 
     "sound": "default" 
    }, 
    "People": { 
     "Address": "Your address here", 
     "Name": "Your Name here", 
     "Number": "XXXXXXXXXX" 
    } 
} 

Vì vậy, bạn có thể đọc tải trọng tùy chỉnh của bạn với tìm kiếm nó là chìa khóa trong JSON chính, chứ không phải ở "aps":

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