2012-08-22 43 views
5

Tôi đang cố gắng tạo một ứng dụng tương tự như những gì đang diễn ra hoặc sứ giả cho mục đích học tập.Dịch vụ trò chuyện Android

Về cơ bản tôi đã tạo một hoạt động liên kết với dịch vụ kết nối với máy chủ java bằng TCP/IP.

Trong khi dịch vụ còn sống, người dùng nhận và gửi tin nhắn. Vấn đề là khi người dùng đóng ứng dụng (ví dụ: sử dụng trình quản lý tác vụ - giữ nút Home). Nếu ứng dụng được đóng, dịch vụ sẽ bị giết vì nó có 0 liên kết.

Câu hỏi của tôi là: Mẫu ứng dụng như thế nào để người dùng luôn nhận được tin nhắn, những gì luôn quản lý để gửi tin nhắn và giữ cho dịch vụ của họ luôn hoạt động.

Cảm ơn bạn.

Trả lời

1

Các ứng dụng như Google Talk và các chương trình nhắn tin tức thì khác thường sử dụng Google Cloud Messaging. Có một số Google I/O talk về điều này mà bạn có thể thấy thú vị.

+0

+1 cho Google Cloud Messaging – EGHDK

+0

Tôi biết rằng c2dm là giải pháp, nhưng tôi đọc rằng tùy chọn khác là xmpp. Tôi nghĩ rằng xmpp hoạt động bằng cách sử dụng tpc/ip ổ cắm như trong ví dụ của tôi, do đó, bằng cách sử dụng xmpp làm thế nào bạn giải quyết vấn đề dịch vụ? Đúng nếu tôi sai về xmpp. Cảm ơn – Catalin

+0

Xin chào, tôi có câu hỏi về việc giữ cho dịch vụ của tôi luôn hoạt động: http://stackoverflow.com/questions/35168769/start-in-foreground –

0

Ứng dụng trò chuyện sử dụng cả kết nối socket và GCM/APN. Nếu ứng dụng ở phía trước, hãy thiết lập kết nối ổ cắm. Khi ứng dụng ở chế độ nền, khi nhận được tin nhắn GCM, một lần nữa thiết lập kết nối ổ cắm. Bằng cách này bạn cũng sẽ tiết kiệm pin. Việc mở kết nối ổ cắm trong một thời gian dài sẽ làm hao pin của thiết bị. Đối với một mẫu mã, bạn có thể tham khảo trò chuyện android của chúng tôi sdk:

https://github.com/AppLozic/Applozic-Android-SDK

https://github.com/AppLozic/Applozic-iOS-SDK

0

Nếu bạn có backend thì bạn có thể có một cái nhìn tại OneSignal hoàn toàn miễn phí và tốt của nó ghi nhận: OneSignal

Tôi nghĩ bạn đã biết về Thông báo đẩy: về cơ bản bạn không nghe máy chủ mọi lúc. Khi push, Cloud Messaging Platform sẽ kích hoạt điện thoại cho bạn.

Nếu bạn muốn dịch vụ của bạn luôn mở thậm chí ứng dụng được sử dụng trạng thái khép kín STICKY_SERVICE: start-sticky-and-start-not-sticky

Ngoài ra nếu bạn muốn đi cho kế hoạch giá xin vui lòng đọc FCM: Firebase Cloud Messaging

Trong trang này: android-migrate-fcm bạn sẽ thấy ghi chú này:

Firebase Cloud Messaging (FCM) là phiên bản mới của GCM. Nó thừa kế cơ sở hạ tầng GCM đáng tin cậy và có thể mở rộng, cộng với các tính năng mới! Xem Câu hỏi thường gặp để tìm hiểu thêm. Nếu bạn đang tích hợp nhắn tin trong một ứng dụng mới, hãy bắt đầu với FCM. Người dùng GCM được khuyến khích nâng cấp lên FCM để hưởng lợi từ các tính năng mới của FCM trong tương lai và trong tương lai.

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