2016-10-16 26 views
5

Để Theo dõi một chủ đề trong một ứng dụng android chúng ta nên gọi:Nhắn tin qua đám mây Firebase của Android (FCM): Liệu subscribeToTopic có tự động thử lại không?

FirebaseMessaging.getInstance().subscribeToTopic("news"); 

Tôi muốn biết những gì sẽ xảy ra nếu kết nối internet là không có sẵn tại thời điểm mà hướng dẫn này được thực thi?

Các dịch vụ của Google có tự động thử lại để đăng ký khi kết nối Internet khả dụng hoặc chúng tôi phát triển nên xử lý trường hợp này?

Trả lời

2

Cập nhật:

Vì vậy, có vẻ như có nhiều đến subscribeToTopic, theo @ bình luận DiegoGiorgini trong bài trước của bạn:

subscribeToTopic sẽ tiếp tục thử lại trên nền, nhưng nó gắn với vòng đời ứng dụng của bạn (chưa đến dịch vụ của google). Vì vậy, nếu ứng dụng của bạn bị giết, ứng dụng sẽ ngừng thử lại cho đến khi ứng dụng mở lại. (các hành động được lưu trữ để nó sẽ được tiếp tục khi ứng dụng được bắt đầu lại)

Cách tôi đã cố gắng trước khi được sau thời gian nhất định, tôi sẽ giết ứng dụng và không kéo nó lên một lần nữa .


Vì vậy, tôi đã thử kiểm tra điều này. Có vẻ như nếu thiết bị đang ngoại tuyến khi yêu cầu đăng ký được gửi đi, nó sẽ thử lại trong một khoảng thời gian (20-30 giây hoặc lâu hơn?) Sau đó sẽ dừng nếu vẫn không kết nối. Yêu cầu có thể đã đạt đến lỗi hết thời gian. Nhưng vì không có giá trị trả lại cho subscribeToTopic(), không có cách nào để bạn xác định điều này thông qua ứng dụng khách của bạn. Bạn có thể gửi số Feature Request nếu muốn, liên quan đến điều này. Tuy nhiên, tại thời điểm này, một cách tiếp cận tôi nghĩ rằng bạn có thể làm là để có một kiểm tra trong ứng dụng khách hàng của bạn, nơi nếu chỉ có thiết bị trực tuyến, bạn sẽ gửi yêu cầu.

Bạn cũng có thể kiểm tra qua máy chủ ứng dụng như tôi đã đề cập trong previous post của bạn.

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