Android GCM SENDER_ID, làm cách nào để tải xuống?


80

Tôi cố gắng di chuyển đến GCMvà tôi gặp sự cố với những SENDER_IDgì tôi cần cung cấp. Tôi sử dụng dự án demo từ google. Trong dự án này, nếu tôi hiểu rõ điều này, tôi cần cung cấp SENDER_IDcho ứng dụng trong tệp CommonUtilities.java.

SENDER_ID tôi đã cung cấp là khóa API mà tôi đã đăng ký trên https://code.google.com/apis/console/ và có biểu mẫu sau: AIzaSyAxxxxxxx_xxxxxxxxxxxnoGZw(tổng số 40 ký tự).

Sử dụng chuỗi này khi SENDER_IDtôi nhận được trên "BroadcastReceiver mHandleMessageReceiver" một thông báo lỗi: Từ GCM: error (INVALID_SENDER). .

Sai lầm ở đâu? Chuỗi tôi cung cấp không phải là SENDER_ID?

Cảm ơn bạn.


Đây là quy trình từng bước để nhận Mã người gửi GCM và Khóa API. - ajaxtown.com/article/…
Abhishek Saha

Câu trả lời:


182

Không, SENDER_ID là ID dự án bạn đã đăng ký trên bảng điều khiển API của Google, nó phải là một chuỗi số. ví dụ: trên URI trình duyệt của bạn, bạn sẽ thấy điều này:

https://code.google.com/apis/console/#project:4815162342

ID người gửi là 4815162342

Câu trả lời cập nhật:

Google chưa cập nhật tài liệu của mình hoàn toàn. Câu trả lời trên là cũ và dựa trên tài liệu này và có vẻ như nó vẫn chưa được cập nhật.

Theo tài liệu cập nhật của Google , có vẻ như Số dự án trên Bảng điều khiển API của Google được sử dụng làm ID SENDER


1
Tôi đã thực hiện một số thử nghiệm - tôi không thể tìm thấy câu trả lời đầy đủ trên Internet và cuối cùng tôi phát hiện ra rằng sender_id là email được sử dụng để đăng ký dịch vụ. Nếu bạn muốn câu trả lời của mình được đánh dấu là được chấp nhận, vui lòng chỉnh sửa nó.
Zelter Ady

3
Zelter, sử dụng địa chỉ email làm sender_id là cách đăng ký C2DM không được dùng nữa. Xem tại đây: developer.android.com/guide/google/gcm/c2dm.html , trong 'Thay đổi ứng dụng khách': Di chuyển rất đơn giản! Thay đổi duy nhất được yêu cầu trong ứng dụng là thay thế tài khoản email được chuyển trong tham số người gửi của ý định đăng ký bằng ID dự án được tạo khi đăng ký dịch vụ mới.
azgolfer

2
Cảm ơn azgolfer. Làm thế nào cuộc di cư có thể mong đợi bất cứ ai biết điều này? Có vẻ như Google đang cố gắng biến nó trở nên phức tạp nhất có thể.
Eurig Jones

3
hey @azgolfer, bạn có thể cập nhật câu trả lời của mình dựa trên câu trả lời của tôi bên dưới không? stackoverflow.com/a/27020029/231768 GCM đã thay đổi từ ID dự án đang được sử dụng và họ sử dụng Số dự án
Adam

2
SENDER_ID có thể được tìm thấy trong tệp google-services.json (tệp cấu hình) dưới dạng "project_number": "12456789".
Erdi

57

Tôi đã hoàn thành cho Bảng điều khiển API Google mới nhất .

Làm thế nào để nhận được SenderId:

Các bước :

  1. Mở bảng điều khiển api của Google
  2. Tạo dự án
  3. Nhấp vào biểu tượng menu bên trái
  4. Nhấp vào Nền tảng đám mây của Google
  5. Bạn sẽ nhận được SenderIdbiểu mẫu ở đó

Tài liệu tham khảo:

nhập mô tả hình ảnh ở đây

Hy vọng điều này sẽ giúp bạn.


1
CẢM ƠN BẠN chỉ ước tôi đã tìm thấy cái này sớm hơn :)
bạc

Một lưu ý là bạn đừng bao giờ kiểm duyệt bằng cách overdraw cái gì đó, thay vào đó hãy xóa phần đó bằng cách chọn nó bằng công cụ box. Cả URI và Projekt-ID của bạn đều có thể đọc được đối với bất kỳ ai, đặc biệt là người có ý định xấu.
HopefullyHelpful

23

Truy cập trang Bảng điều khiển API Google của bạn . Chọn dự án bạn sử dụng từ menu thả xuống ở bên trái. Chọn Tổng quan và bây giờ bạn có thể nhìn thấy bạn project number. Nó là cái SENDER_IDbạn phải sử dụng

Một cách khác để lấy số dự án của bạn là lấy giá trị của "dự án" từ url của bạn. Url của bạn phải giống như sau: " https://code.google.com/apis/console/b/0/#project:886025556782 ". Ở đây, số dự án là "886025556782". số này là SENDER_ID


Điều gì xảy ra nếu url của tôi từ dự án không hiển thị bất kỳ số nào.? thực sự url của tôi giống như thế này " console.developers.google.com/project/Project ID"
Priyank vào

Priyank, hãy xem câu trả lời của tôi. Google đã thay đổi điều này một chút gần đây. stackoverflow.com/a/27020029/231768
Adam

9

Câu trả lời cập nhật kể từ tháng 11 năm 2014 NẾU BẠN ĐÃ TẠO DỰ ÁN API GẦN ĐÂY .

Trước hết, chính xác, bạn hoàn toàn nên truy cập Bảng điều khiển dành cho nhà phát triển của Google và tìm Dự án mà bạn đã bật GCM. Khi nhìn vào phần Tổng quan (bảng điều hướng bên trái), bạn sẽ thấy Project ID và Project Number được liệt kê ở phía bên tay phải. ID dự án không thành công đối với tôi (đó là điều đã dẫn tôi đến đây), nhưng khi tôi thử Mã số dự án, tôi có thể đăng ký chính xác khách hàng của mình ngay bây giờ.

Lưu ý rằng điều này khác vì Google đã sửa đổi cách họ chỉ định ID dự án gần đây. Vào tháng 10, tôi đã thực hiện một dự án và được cấp một ID Dự án bằng số, tôi cho rằng sẽ hoạt động tốt. Nhưng cái mà tôi đã tạo hôm nay được cung cấp một id gồm hai từ và một số (như Hamster-Party-420) và một Số dự án bằng số. URL đến dự án của tôi chứa Hamster-Party-420 và Số dự án chỉ hiển thị trên màn hình Tổng quan.


6

Tuy nhiên, một câu trả lời cập nhật khác với ít lời giải thích hơn cho sự nhầm lẫn (.. như tôi đã từng). (Với tín dụng đến hạn cho @azgolfer, @PankajAndroid và @Adam)

1- Nếu bạn tạo một dự án tại https://console.developers.google.com , bạn có thể thấy hai mục "ID DỰ ÁN" và "SỐ DỰ ÁN" trong tổng quan về dự án. Id dự án không còn là số mà là số chữ cái như master-xxxxx-1234 . Số dự án là một số có 11 chữ số như 123456789100.

bảng điều khiển dự án

2- Ngay cả khi bạn kiểm tra liên kết của trình duyệt, bạn có thể tìm thấy nó là: https: // console.developers.google.com / project / master-xxxxx-1234

Vậy master-xxxxx-1234 có phải là SENDER_ID (ở một số nơi được gọi là ID DỰ ÁN) không? KHÔNG.

Bạn phải sử dụng số dự án làm id dự án trong GCM.

3- Bạn có thể kiểm tra chéo xem id dự án đang được sử dụng làm id dự án ở đâu?

Trên API Dashbaord. (url: https://code.google.com/apis/console/b/0/?noredirect#project:12345678900 - trong đó 12345678900 là số dự án của bạn trên bảng điều khiển dự án.

bảng điều khiển api google

TÓM TẮT: Id dự án trong Bảng điều khiển dự án và Bảng điều khiển API là khác nhau. Số dự án trong bảng điều khiển dự án được sử dụng làm id dự án trong Bảng điều khiển API và Id dự án trong bảng điều khiển dự án làm tên Dự án trong Bảng điều khiển API. Vì vậy, số dự án hiển thị trong Trang tổng quan dự án khi chúng tôi tạo dự án trong bảng điều khiển dành cho nhà phát triển được sử dụng làm SENDER_ID trong GCM.


4

Đi tới "Bảng điều khiển" trong phiên bản mới nhất của bảng điều khiển dành cho nhà phát triển, nhấp vào mũi tên thả xuống bên dưới "Dự án: Turtle Power" và bạn có thể thấy số Dự án ngay tại đó! Sử dụng nó làm SENDER_ID của bạn

(dự án giả nên thậm chí không thử nó = P)

nhập mô tả hình ảnh ở đây



1

Chúng tôi đã dành hàng giờ để tìm ra điều này. Vấn đề là tệp kê khai android của chúng tôi không bao gồm id người gửi!



-3

SENDER_ID bạn đang sử dụng không có gì khác ngoài khóa ủy quyền. bạn có thể tìm thấy SENDER_ID tại URL các trang Bảng điều khiển API Google các dự án của mình

https://code.google.com/apis/console/#project:8543162367

ở đây 8543162367 sẽ là SENDER_ID của bạn và Id dự án không còn là số của nó là chữ-số hoặc chỉ là số hoặc chỉ có chữ cái bất cứ thứ gì nhưng vị trí của nó giống như được hiển thị bởi tôi

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.