Tôi đang làm việc trên một ứng dụng nhắn tin (như WhatsApp) và tôi có một tình huống khó xử về việc triển khai chức năng chính của nó - gửi tin nhắn từ client1 đến client2. Điều này là tôi đang sử dụng một thiết kế máy chủ tập trung, nơi khách hàng sử dụng NSURLConnection để gửi tin nhắn đến máy chủ, máy chủ không giữ và quản lý các ổ cắm mở và không thể gửi tin nhắn cho một trong các khách hàng, vì vậy khách hàng có bộ đếm thời gian và truy vấn máy chủ sau mỗi 2 giây để xem có tin nhắn mới đang chờ họ hay không. Vấn đề với cách tiếp cận này là truy vấn máy chủ mỗi 2 giây dường như tiêu diệt pin rất nhanh, vì vậy tôi nghĩ có thể thay vì máy khách truy vấn máy chủ, sử dụng APNS để khi client1 gửi tin nhắn đến máy chủ, máy chủ sẽ gửi thông báo đẩy tới client2, sau đó client2 sẽ tìm nạp dữ liệu từ máy chủ.Sử dụng APN trong ứng dụng nhắn tin
Cách tiếp cận này có hoạt động với một ứng dụng nhắn tin lớn yêu cầu sử dụng thông báo đẩy lớn không?
"Nhưng cách APNS (cách ưa thích của bạn) cũng sẽ hoạt động khi người dùng đã thoát ứng dụng của bạn" - Dù bằng cách nào tôi cũng định sử dụng APNS khi người dùng ngoại tuyến. Mối quan tâm chính của tôi là: 1. APNS có đủ nhãn hiệu để tôi có thể sử dụng nó làm cơ chế nhắn tin cốt lõi của mình hay không. 2. Apple có chấp nhận hàng nghìn hoặc hàng trăm ngàn thông báo đẩy một ngày từ máy chủ của tôi không? – Eyal
1. Nếu bạn không phá vỡ "luật" táo (không có spam, không có quảng cáo), thì có. WhatApp và đồng. cũng dựa vào APNS. Và theres không có cách nào khác để làm điều đó khi bạn muốn nhận tin nhắn trong chế độ "không ứng dụng cho nền trước". 2. Có. Họ sẽ không từ chối ứng dụng vì tải cao trên APNS (ngoại trừ nội dung trong tin nhắn push của bạn không hợp lệ từ phối cảnh táo [spam, quảng cáo, v.v.]) –