Tham chiếu máy chủ

Bạn có thể chọn triển khai máy chủ. Hãy sử dụng dịch vụ Mã thực thể nếu bạn muốn thực hiện các thao tác sau:

Xem thông tin về các thực thể ứng dụng

Để xem thông tin về một thực thể ứng dụng, hãy gọi dịch vụ Mã thực thể tại điểm cuối này, cung cấp mã thông báo của thực thể ứng dụng như minh hoạ:

 https://iid.googleapis.com/iid/info/IID_TOKEN

Thông số

  • Authorization: Bearer <access_token>. Đặt tham số này trong tiêu đề. Thêm mã thông báo OAuth2 có thời gian tồn tại ngắn làm giá trị của tiêu đề Authorization. Để biết thêm thông tin về cách lấy mã thông báo này, hãy xem phần Cung cấp thông tin đăng nhập theo cách thủ công.
  • access_token_auth: true. Đặt tham số này trong tiêu đề.
  • [không bắt buộc] boolean details: đặt tham số truy vấn này thành true để xem thông tin đăng ký chủ đề FCM (nếu có) được liên kết với mã thông báo này. Khi không được chỉ định, giá trị mặc định sẽ là false.

Kết quả

Khi thành công, lệnh gọi sẽ trả về trạng thái HTTP 200 và một đối tượng JSON chứa:

  • application – tên gói được liên kết với mã thông báo.
  • authorizedEntity – projectId được uỷ quyền để gửi đến mã thông báo.
  • applicationVersion – phiên bản của ứng dụng.
  • platform – trả về ANDROID, IOS hoặc CHROME để cho biết nền tảng thiết bị mà mã thông báo thuộc về.

Nếu bạn đặt cờ details:

  • rel – các mối quan hệ được liên kết với mã thông báo. Ví dụ: danh sách đăng ký chủ đề.

Ví dụ về yêu hào GET

https://iid.googleapis.com/iid/info/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

Ví dụ về kết quả

HTTP 200 OK
{
  "application":"com.iid.example",
  "authorizedEntity":"123456782354",
  "platform":"Android",
  "rel":{
    "topics":{
      "topicname1":{"addDate":"2015-07-30"},
      "topicname2":{"addDate":"2015-07-30"},
      "topicname3":{"addDate":"2015-07-30"},
      "topicname4":{"addDate":"2015-07-30"}
    }
  }
}

Tạo sơ đồ mối quan hệ cho các thực thể ứng dụng

API Mã thực thể cho phép bạn tạo sơ đồ mối quan hệ cho các thực thể ứng dụng. Ví dụ: bạn có thể liên kết mã thông báo đăng ký với một chủ đề FCM, đăng ký thực thể ứng dụng vào chủ đề đó. API này cung cấp các phương thức để tạo mối quan hệ như vậy theo cách riêng lẻ và hàng loạt.

Tạo mối quan hệ liên kết cho một thực thể ứng dụng

Với mã thông báo đăng ký và mối quan hệ được hỗ trợ, bạn có thể tạo mối liên kết. Ví dụ: bạn có thể đăng ký một thực thể ứng dụng vào một chủ đề FCM bằng cách gọi dịch vụ Mã thực thể tại điểm cuối này, cung cấp mã thông báo của thực thể ứng dụng như minh hoạ:

 https://iid.googleapis.com/iid/v1/IID_TOKEN/rel/topics/TOPIC_NAME

Thông số

  • Authorization: Bearer <access_token>. Đặt tham số này trong tiêu đề. Thêm mã thông báo OAuth2 có thời gian tồn tại ngắn làm giá trị của tiêu đề Authorization. Để biết thêm thông tin về cách lấy mã thông báo này, hãy xem phần Cung cấp thông tin đăng nhập theo cách thủ công.
  • access_token_auth: true. Đặt tham số này trong tiêu đề.

Kết quả

Khi thành công, lệnh gọi sẽ trả về trạng thái HTTP 200.

Ví dụ về yêu cầu POST

https://iid.googleapis.com/iid/v1/nKctODamlM4:CKrh_PC8kIb7O...clJONHoA/rel/topics/movies
Content-Type:application/json
Content-Length: 0
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true

Ví dụ về kết quả

HTTP 200 OK
{}

Quản lý sơ đồ mối quan hệ cho nhiều thực thể ứng dụng

Bằng cách sử dụng các phương thức hàng loạt của dịch vụ Mã thực thể, bạn có thể quản lý hàng loạt các thực thể ứng dụng. Ví dụ: bạn có thể thêm hoặc xoá hàng loạt các thực thể ứng dụng vào một chủ đề FCM. Để cập nhật tối đa 1.000 thực thể ứng dụng cho mỗi lệnh gọi API, hãy gọi dịch vụ Mã thực thể tại điểm cuối này, cung cấp mã thông báo của thực thể ứng dụng trong nội dung JSON:

 https://iid.googleapis.com/iid/v1:batchAdd

 https://iid.googleapis.com/iid/v1:batchRemove

Thông số

  • Authorization: Bearer <access_token>. Đặt tham số này trong tiêu đề. Thêm mã thông báo OAuth2 có thời gian tồn tại ngắn làm giá trị của tiêu đề Authorization. Để biết thêm thông tin về cách lấy mã thông báo này, hãy xem phần Cung cấp thông tin đăng nhập theo cách thủ công.
  • access_token_auth: true. Đặt tham số này trong tiêu đề.
  • to : Tên chủ đề.
  • registration_tokens : Mảng mã thông báo IID cho các thực thể ứng dụng mà bạn muốn thêm hoặc xoá.

Kết quả

Khi thành công, lệnh gọi sẽ trả về trạng thái HTTP 200. Kết quả trống cho biết đã đăng ký thành công cho mã thông báo. Đối với các lượt đăng ký không thành công, kết quả sẽ chứa một trong các mã lỗi sau:

  • NOT_FOUND – Mã thông báo đăng ký đã bị xoá hoặc ứng dụng đã bị gỡ cài đặt.
  • INVALID_ARGUMENT – Mã thông báo đăng ký được cung cấp không hợp lệ đối với Mã người gửi.
  • INTERNAL – Máy chủ phụ trợ không thành công vì lý do không xác định. Thử gửi lại yêu cầu.
  • TOO_MANY_TOPICS – Số lượng chủ đề quá nhiều cho mỗi thực thể ứng dụng.
  • RESOURCE_EXHAUSTED – Có quá nhiều yêu cầu đăng ký hoặc huỷ đăng ký trong một khoảng thời gian ngắn. Thử lại với thời gian đợi luỹ thừa.

Ví dụ về yêu cầu POST

https://iid.googleapis.com/iid/v1:batchAdd
Content-Type:application/json
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth: true
{
   "to": "/topics/movies",
   "registration_tokens": ["nKctODamlM4:CKrh_PC8kIb7O...", "1uoasi24:9jsjwuw...", "798aywu:cba420..."],
}

Ví dụ về kết quả

HTTP 200 OK
{
  "results":[
    {},
    {"error":"NOT_FOUND"},
    {},
  ]
}

Tạo mã thông báo đăng ký cho mã thông báo APNs

Bằng cách sử dụng phương thức batchImport của dịch vụ Mã thực thể, bạn có thể nhập hàng loạt mã thông báo APNs hiện có của iOS vào Giải pháp gửi thông báo qua đám mây của Firebase, liên kết các mã thông báo đó với mã thông báo đăng ký hợp lệ. Gọi dịch vụ Mã thực thể tại điểm cuối này, cung cấp danh sách mã thông báo APNs trong nội dung JSON:

 https://iid.googleapis.com/iid/v1:batchImport

Nội dung phản hồi chứa một mảng mã thông báo đăng ký Mã thực thể đã sẵn sàng để dùng gửi thông báo FCM đến mã thông báo thiết bị APNs tương ứng.

Thông số

  • Authorization: Bearer <access_token>. Đặt tham số này trong tiêu đề. Thêm mã thông báo OAuth2 có thời gian tồn tại ngắn làm giá trị của tiêu đề Authorization. Để biết thêm thông tin về cách lấy mã thông báo này, hãy xem phần Cung cấp thông tin đăng nhập theo cách thủ công.
  • access_token_auth: true. Đặt tham số này trong tiêu đề.
  • application : Mã gói của ứng dụng.
  • sandbox : Boolean để cho biết môi trường hộp cát (TRUE) hoặc môi trường sản xuất (FALSE)
  • apns_tokens : Mảng mã thông báo APNs cho các thực thể ứng dụng mà bạn muốn thêm hoặc xoá. Tối đa 100 mã thông báo cho mỗi yêu cầu.

Kết quả

Khi thành công, lệnh gọi sẽ trả về trạng thái HTTP 200 và một nội dung kết quả JSON. Đối với mỗi mã thông báo APNs được cung cấp trong yêu cầu, danh sách kết quả sẽ bao gồm:

  • Mã thông báo APNs.
  • Trạng thái. OK hoặc thông báo lỗi mô tả lỗi.
  • Đối với kết quả thành công, mã thông báo đăng ký mà FCM liên kết với mã thông báo APNs.

Ví dụ về yêu cầu POST

https://iid.googleapis.com/iid/v1:batchImport
Authorization: Bearer ya29.ElqKBGN2Ri_Uz...HnS_uNreA
access_token_auth:true
{
  "application": "com.google.FCMTestApp",
  "sandbox":false,
  "apns_tokens":[
      "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
      "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86"
   ]
}

Ví dụ về kết quả

HTTP 200 OK
{
 "results":[
       {
        "apns_token": "368dde283db539abc4a6419b1795b6131194703b816e4f624ffa12",
         "status": "OK",
         "registration_token":"nKctODamlM4:CKrh_PC8kIb7O...clJONHoA"
       },
       {
         "apns_token": "76b39c2b2ceaadee8400b8868c2f45325ab9831c1998ed70859d86",
         "status":"Internal Server Error"
        },
     ]
  }

Phản hồi báo lỗi

Các lệnh gọi đến API máy chủ Mã thực thể sẽ trả về các mã lỗi HTTP sau:

  • HTTP status 400 (Bad request) – thiếu hoặc không hợp lệ các tham số yêu cầu. Hãy kiểm tra thông báo lỗi để biết thông tin chi tiết.
  • HTTP status 401 (Unauthorized) – tiêu đề uỷ quyền không hợp lệ.
  • HTTP status 403 (Forbidden) – tiêu đề uỷ quyền không khớp với authorizedEntity.
  • HTTP status 404 (Not found) – Không tìm thấy đường dẫn HTTP không hợp lệ hoặc mã thông báo IID. Hãy kiểm tra thông báo lỗi để biết thông tin chi tiết.
  • HTTP status 503 (Service unavailable) – dịch vụ không hoạt động. Thử gửi lại yêu cầu với thời gian đợi luỹ thừa.