2012-03-07 54 views
8

Tôi đang sử dụng pubnub làm kênh xuất bản/đăng ký giữa ứng dụng Android và máy chủ. Hiện tại tôi đang nghĩ về cách tôi sẽ thực hiện điều này.Các phương pháp hay nhất cho pubnub trên android

Tôi đang sử dụng thư viện được cung cấp cho android (https://github.com/pubnub/pubnub-api/tree/master/android) nhưng tôi nghĩ sẽ có một số vấn đề với vòng đời của ứng dụng nếu tôi sử dụng nó như bây giờ. (Đúng tôi nếu tôi sai)

Tôi đã nghĩ đến việc thực hiện nó như một dịch vụ

Những gì tôi muốn

  • Dịch vụ này phải tiếp tục chạy cho đến khi một tiếng đồng hồ (thương lượng) sau khi cách sử dụng ứng dụng cuối cùng. Đó là bởi vì chúng tôi muốn có thông báo khi có tin nhắn, nhưng ứng dụng không phải là ứng dụng hiện đang được sử dụng.

  • Làm cách nào để ngừng dịch vụ sau một giờ không hoạt động của ứng dụng? Có lẽ Android sẽ giết nó, nhưng tôi muốn kiểm soát một số.

  • Dịch vụ phải có khả năng kích hoạt ứng dụng để thay đổi giao diện khi có thông báo cụ thể (Tôi đã nghĩ đến việc gửi ý định từ dịch vụ khi chúng tôi nhận được thông báo pubnub?), Pubnub sẽ gửi dữ liệu đến dịch vụ, vì vậy tôi cần một cách để chuyển dữ liệu này đến ứng dụng (có thể lưu dữ liệu đó trong Gói theo mục đích?)

  • Tôi cần nghe nhiều kênh pubnub (tối đa 2 cùng một lúc), tôi nghĩ mình sẽ phải làm điều này trong nhiều trường hợp của dịch vụ này?

Tôi nghĩ rằng tôi sẽ làm điều đó như thế này:

  • Tạo một dịch vụ nào được khởi động khi ứng dụng bắt đầu

  • Hãy để dịch vụ nghe một kênh pubnub

  • Khi có thông báo, hãy gửi ý định và sử dụng bộ lọc ý định

  • triển khai chương trình phát sóng để nghe những mục đích nội bộ này

Đây có phải là cách phù hợp để thực hiện việc này không? bất kỳ gợi ý nào?

Trả lời

10

Bạn có một bộ câu hỏi tuyệt vời là một điểm chi tiết mà tôi sẽ nói đến trong câu trả lời này. Bạn đang sử dụng Android và bạn quan tâm đến các quy ước và thực tiễn tốt nhất cho các kịch bản PubNub Xuất bản/Đăng ký.

Trường hợp sử dụng của bạn rất phổ biến và cách tốt nhất để tạo ứng dụng luôn khác nhau tùy thuộc vào nhu cầu ứng dụng. Tuy nhiên bạn chắc chắn có ý tưởng đúng và đã hỏi tất cả các câu hỏi đúng. Bạn chỉ cần một số mã mẫu và một hướng để bắt đầu triển khai các chi tiết cụ thể về nhu cầu ứng dụng của bạn. Để xác định nhu cầu của bạn trong danh sách:

  • Khả năng kết nối/ngắt kết nối.
  • Dịch vụ nền luôn bật có thể gửi/nhận dữ liệu và thông báo cho các ứng dụng khác thông qua Android Intents.
  • Kết nối với nhiều kênh PubNub cùng một lúc.

Vì vậy, để bắt đầu, tôi sẽ cung cấp cho bạn liên kết trực tiếp đến một số ví dụ và phương pháp:

Về suy nghĩ của bạn - này LÀ đúng cách để làm điều đó:

  • Tạo một dịch vụ nào được khởi động khi ứng dụng bắt đầu
  • Hãy Dịch vụ nghe Kênh PubNub.
  • Khi có tin nhắn, gửi ý định và sử dụng các bộ lọc chủ định.
  • Triển khai BroadcastHandlers để nghe những mục đích nội bộ này.
+1

Các liên kết bị hỏng. Bạn có biết những dự án đó vẫn có sẵn không? –

+1

Tôi tìm thấy nó trên github !: https://github.com/pubnub/pubnub-api/tree/0dfd8028b803332f5641adc909b1a26f87bd7ff1/android/PubnubAndroid – Pipeline

+0

Dịch vụ thức dậy sau mỗi 5 phút để đảm bảo dịch vụ luôn hoạt động, điều này có làm tiêu hao pin không ? Điều này có xảy ra với các ứng dụng trò chuyện khác như whatsapp không? –

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