2013-05-27 61 views
8

Trong ứng dụng của tôi, tôi muốn gửi thông báo đến một người dùng cụ thể bất kể thiết bị. Người dùng có thể đăng nhập vào ứng dụng từ bất kỳ thiết bị nào.Gửi tin nhắn GCM đến người dùng cụ thể

Đây là lần đầu tiên tôi sử dụng GCM. Tôi đọc tài liệu nói rằng khi thiết bị đăng ký với máy chủ GCM, thiết bị sẽ gửi ID duy nhất đó đến máy chủ và sau đó lưu giá trị đó để gửi tin nhắn.

Sau đó, cách gửi thông báo cho một người dùng cụ thể khi anh ấy đăng nhập vào ứng dụng từ các thiết bị khác nhau?

+0

tham khảo này http://sunil-android.blogspot.in/2013/05/gcm-in-android.html –

Trả lời

6

ID duy nhất này (còn gọi là ID đăng ký) là duy nhất cho ứng dụng/thiết bị, vì vậy nếu người dùng này đăng nhập vào dịch vụ GCM trên một thiết bị khác, nó sẽ tạo một ID đăng ký khác.

ID do máy chủ GCM cấp cho ứng dụng Android cho phép ứng dụng nhận tin nhắn. Sau khi ứng dụng Android có số đăng ký , nó sẽ gửi đến máy chủ ứng dụng của bên thứ ba, sử dụng máy chủ này để xác định từng thiết bị đã đăng ký nhận tin nhắn cho một ứng dụng Android cụ thể. Nói cách khác, ID đăng ký được gắn với một ứng dụng Android cụ thể đang chạy trên một thiết bị cụ thể.

Khi bạn nói nhật ký, tôi nghĩ bạn đang sắp xếp lại máy chủ của mình, phải không?

Tôi hỏi vì dịch vụ GCM yêu cầu tài khoản Google nếu ứng dụng của bạn đang nhắm mục tiêu trước 4 phiên bản API.

Tài khoản Google không phải là yêu cầu trên các thiết bị chạy Android 4.0.4 trở lên.

Nếu GCM phát hiện tài khoản Google trên thiết bị, nó có thể truy cập dịch vụ. Nếu GCM không phát hiện tài khoản, nó trả về lỗi ACCOUNT_MISSING.

Vì vậy, nó có thể xảy ra để truy cập các dịch vụ GCM bằng tài khoản google không phải của bạn nếu bạn đang sử dụng thiết bị khác đã được đăng ký trước đó bằng tài khoản Google.

Nhưng nếu tài khoản quan trọng là tài khoản được quản lý bởi máy chủ của bạn thì tôi nghĩ điều đó không quan trọng.

Cập nhật:

Bạn sẽ phải gửi thông báo cho tất cả registrationID thuộc cho người dùng kết nối với máy chủ của bạn. Bạn không thể biết thiết bị nào là người dùng hiện đang sử dụng nếu bạn sử dụng nhiều thiết bị tại máy chủ của mình.

You can use multicast

Reference:GCM

+0

Yes.User phải đăng nhập vào máy chủ của tôi. – Sunny

+0

Tôi nghĩ rằng tôi có thể kiểm tra userid + id duy nhất trong máy chủ của tôi và sau đó gửi notification.right? – Sunny

+0

Với id duy nhất là đủ để gửi một thông báo, nhưng GCM có thể thay đổi nó, sau đó bạn sẽ phải cập nhật id duy nhất liên kết với userid trong cơ sở dữ liệu của bạn. Có thêm thông tin về liên kết tôi đã cung cấp [http://developer.android.com/google/gcm/gcm.html#server](http://developer.android.com/google/gcm/gcm.html # server). – AlexBcn

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