Thông tin tài liệu:
Sử dụng công nghệ push notification cho phép một ứng dụng thông báo cho bạn các tin nhắn hoặc sự kiện mới mà không cần phải thực sự mở ứng dụng đó ra, các ứng dụng máy chủ có thể gửi nội dung phong phú cho các ứng dụng đã cài đặt trên các thiết bị iOS hay Android.
Nội dung trích xuất từ tài liệu:
Gửi tin nhắn push đến các thiết bị iOSGửi tin nhắn push đến các thiết bị iOSSử dụng công nghệ push notification cho phép một ứng dụng thông báo cho bạncác tin nhắn hoặc sự kiện mới mà không cần phải thực sự mở ứng dụng đó ra, cácứng dụng máy chủ có thể gửi nội dung phong phú cho các ứng dụng đã cài đặt trêncác thiết bị iOS hay Android, tránh cho bạn những rắc rối và chi phí sử dụng tinnhắn SMS (Short Message Service) hoặc tin nhắn MMS (Multimedia MessagingService) trong các ứng dụng di động của mình. Michael Yuan giới thiệu cách hỗtrợ tính năng quan trọng này trong các ứng dụng iOS của bạn. Bạn cũng sẽ thấycách sử dụng một thư viện Java nguồn mở để đơn giản hoá qui trình tin nhắn này.Bối cảnhTin nhắn SMS và tin nhắn MMS được các nhà cung cấp dịch vụ di động cung cấpcho các thiết bị cụ thể thông qua các số điện thoại của họ. Các nhà phát triển cácứng dụng phía máy chủ có khả năng thực hiện gửi tin nhắn SMS/MMS phải cốgắng hết sức để tương tác với cơ sở hạ tầng viễn thông hiện có—bao gồm cả việcvẫn dùng các số điện thoại. (Hãy đọc thêm các chi tiết về phát triển các ứng dụngSMS/MMS phía máy chủ trong bài Tích hợp tính năng gửi tin nhắn di động vàoứng dụng web của bạn). Các tin nhắn SMS/MMS không biết rõ về các ứng dụngđược cài đặt trên thiết bị của người nhận.Sự phổ biến của nhiều điện thoại thông minh cao cấp như các thiết bị iPhone vàAndroid (và anh em họ hàng Wi-Fi của chúng, chẳng hạn như iPod Touch và iPad)đã tạo ra một nhu cầu về một cơ sở hạ tầng gửi tin nhắn di động hiện đại có thểcung cấp thông tin đa phương tiện phong phú trực tiếp cho các ứng dụng đã càiđặt—chứ không phải cho các số điện thoại—và đó là cơ sở hạ tầng gửi tin nhắn diđộng mở hơn và ít tốn kém hơn so với cơ sở hạ tầng SMS/MMS.Cả Apple và Google đã cùng đương đầu với thách thức đó bằng cách phát triển cơsở hạ tầng trên Internet để có thể cung cấp các tin nhắn cho các thiết bị iOS vàAndroid tương ứng từ các ứng dụng máy chủ. Các tin nhắn Push được thiết kế từđầu để giao tiếp với các ứng dụng đã cài đặt trên các thiết bị di động. Chúng có thểgửi văn bản, các tệp đa phương tiện và dữ liệu đặc trưng ứng dụng như âm thanhcảnh báo và các nhãn hiển thị trên biểu tượng ứng dụng.Bài này giải thích công nghệ tin nhắn push hoạt động như thế nào trên nền tảngiOS và làm thế nào để kết hợp nó trong các ứng dụng của bạn. Để nhận được nhiềuthông tin nhất từ bài này, bạn nên có một số kinh nghiệm phát triển iOS và Java.Căn bản về tin nhắn push trong iOSApple sử dụng các chứng chỉ số khóa-công khai để xác thực các yêu cầu tin nhắnpush từ ứng dụng iOS của bạn, nên trước tiên bạn cần phải tạo ra các khóa xácthực và đăng ký chúng với Apple. Tôi sẽ giới thiệu quá trình đơn giản nhưng khádài này trong phần tiếp theo.Tiếp theo, cần nhận diện mỗi thiết bị đã cài đặt ứng dụng và chọn nhận các tinnhắn push cho ứng dụng. Trình tự hoạt động như sau: 1. Một hộp thoại cảnh báo trong ứng dụng iOS yêu cầu giấy phép của người dùng để nhận các tin nhắn push. 2. Nếu người dùng chấp nhận giấy phép, ứng dụng iOS tiếp xúc với Dịch vụ tin nhắn puah của Apple (Apple Push Notification - APN) để lấy một chuỗi mã định danh (ID) là ID duy nhất nhận biết ứng dụng này đã cài đặt trên thiết bị này. (Bạn có thể hình dung ID này giống như số điện thoại của người nhận trong việc gửi tin nhắn truyền thống). 3. Ứng dụng IOS tải ID đó lên ứng dụng máy chủ của bạn. 4. Khi ứng dụng máy chủ cần gửi một tin nhắn push, nó xác thực dựa vào các máy chủ tin nhắn push của Apple và sau đó sử dụng ID từ bước 2 và 3 để chỉ rõ người nhận tin nhắn. 5. Nếu thiết bị của người nhận đang nối mạng, nó sẽ nhận và xử lý tin nhắn đó. Nếu thiết bị đang tắt mạng, tin nhắn sẽ được xếp hàng và sau đó được chuyển giao cho thiết bị trong lần nối mạng tới. 6. Các Dịch vụ tin nhắn push của Apple (APN) cũng cho phép các ứng dụng máy chủ của bạn xác nhận hợp lệ danh sách các ID của ứng dụng đã lưu của bạn theo định kỳ. Điều đó mang lại cho bạn cơ hội để loại bỏ các ID của những người dùng mà sau này họ xóa ứng dụng hoặc thay đổi trạng thái lựa chọn tin nhắn push của họ. 7. Nghe có vẻ nhiều việc đấy và đúng như vậy. Đó là lý do tại sao các dịch vụ như Urban Airship (xem ô cửa sổ bên cạnh) tồn tại để môi giới các tin nhắn có phí. 8. Sau khi hiển thị cho bạn cách đăng ký ứng dụng của mình, tôi sẽ đi sâu vào các chi tiết phát triển một ứng dụng tin nhắn push của iOS và các thành phần máy chủ của nó với sự trợ giúp của một thư viện Java nguồn mở.Đăng ký ứng dụngĐể đăng ký ứng dụng của bạn để nhận tin nhắn push, trước tiên bạn cần tạo ra mộtcặp khóa private/public để xác thực các cuộc gọi API của mình dựa vào các máychủ của Dịch vụ tin nhắn push của Apple. Bạn có thể làm điều này trên Mac thôngqua ứng dụng Keychain Access. Chọn KeyChain Access > Certificate Assistant> Request a Certificate from a Cert ...