(từ Tổng quan về GCM )
Hai thiết bị khác nhau sẽ luôn có một id đăng ký khác nhau. Ngay cả các ứng dụng khác nhau trên cùng một thiết bị cũng có id đăng ký khác nhau.
Về mặt chức năng, việc giữ ràng buộc UNIQUE_KEY trên ID đăng ký là an toàn, nhưng vì ID đăng ký có thể dài (lên đến 4096 byte, mặc dù trên thực tế nó thường ngắn hơn nhiều), một số cơ sở dữ liệu có thể ngăn bạn xác định chỉ mục hoặc ràng buộc đối với một cột lớn. Bạn có thể muốn sử dụng hàm băm một chiều sẽ ánh xạ ID đăng ký thành một giá trị nhỏ hơn, lưu trữ giá trị đó trong một cột nhỏ hơn và có ràng buộc / chỉ mục trên cột đó.
Khi bạn nhận được NotRegistered
lỗi, bạn thực sự nên xóa ID đăng ký đó khỏi DB của mình (hoặc ít nhất là đánh dấu nó bằng trạng thái cho biết nó không hoạt động và ngừng gửi tin nhắn đến nó). Nhưng nếu ứng dụng sẽ được cài đặt lại trên thiết bị đã được gỡ cài đặt trước đó, thì ứng dụng có thể nhận được cùng một ID đăng ký khi đăng ký lại với GCM, vì vậy máy chủ của bạn phải cho phép các ID đăng ký mà tại một thời điểm đã cung cấp cho NotRegistered
để hoạt động trở lại.
Bạn nên cập nhật ID đăng ký cũ khi nhận được ID đăng ký chính tắc trong phản hồi từ Google.