API Chia sẻ gói dữ liệu di động của Google

Động lực

API Chia sẻ gói dữ liệu di động của Google cho phép nhà điều hành gửi thông tin về gói dữ liệu của người dùng (được xác định bằng khóa người dùng) đến GTAF. Trên trang này, chúng tôi trình bày cơ chế mà qua đó các bản cập nhật này có thể được đẩy tới GTAF và các ứng dụng của Google. API hiện cho phép DPA gửi trạng thái gói dữ liệu tới GTAF mà ứng dụng Google sử dụng.

Xác thực

Tất cả yêu cầu API Chia sẻ gói dữ liệu tới GTAF phải được xác thực bằng máy chủ Google Cloud OAuth2. Các yêu cầu phải được xác thực dưới dạng tài khoản dịch vụ đã được đưa vào danh sách cho phép trong Cổng thông tin ISP cho ASN mà DPA đại diện. Hãy xem Google Cloud OAuth 2.0 dành cho Tài khoản dịch vụ để biết tài liệu về cách sử dụng OAuth với các tài khoản dịch vụ Google Cloud.

Thông tin cập nhật về gói dữ liệu

Hiện tại, API chia sẻ gói dữ liệu di động của Google cho phép nhà cung cấp dịch vụ chia sẻ thông tin cập nhật về gói dữ liệu của người dùng:

  • Trạng thái gói dữ liệu: Ghi lại trạng thái hiện tại của gói dữ liệu của người dùng. Ví dụ: nếu người dùng sắp hết dữ liệu, thì toán tử có thể đẩy cập nhật trạng thái gói dữ liệu lên GTAF. Sau đó, GTAF có thể sử dụng thông báo này về trạng thái gói.

Nội dung mô tả về API

Hình 3. GTAF-DPA sẽ tương tác khi DPA chia sẻ trạng thái gói dữ liệu với GTAF.

Các ứng dụng có thể nhận được thông tin trạng thái gói dữ liệu được chia sẻ với GTAF theo một trong hai cách sau:

  1. UE gọi GTAF để biết thông tin về trạng thái gói dữ liệu:
    1. DPA của nhà cung cấp dịch vụ sử dụng API Chia sẻ gói dữ liệu để đẩy trạng thái gói dữ liệu của người dùng sang GTAF. GTAF lưu trữ trạng thái gói và khóa người dùng liên kết của gói cho đến thời điểm hết hạn mà nhà điều hành chỉ định.
    2. Ứng dụng Google chạy trên UE yêu cầu thông tin trạng thái gói dữ liệu bằng API nội bộ Google. Ứng dụng bao gồm khoá người dùng trong yêu cầu.
    3. Nếu ứng dụng có thể sử dụng trạng thái gói dữ liệu được lưu vào bộ nhớ đệm, thì GTAF sử dụng khóa người dùng để tìm kiếm trạng thái gói dữ liệu của người dùng. Sau đó, GTAF sẽ trả về trạng thái này cho ứng dụng.
  2. GTAF đẩy thông tin trạng thái gói dữ liệu tới UE:
    1. Khi có liên quan, trạng thái gói dữ liệu nhận được từ toán tử sẽ được gửi trực tiếp đến UE. Cụ thể, trạng thái gói đẩy được dùng để cập nhật bộ nhớ đệm trên thiết bị của mô-đun Gói dữ liệu di động trong Dịch vụ Google Play.

Trạng thái chia sẻ gói dữ liệu

DPA sử dụng yêu cầu POST qua HTTPS để tạo và cập nhật mục nhập trạng thái kế hoạch hiện có cho người dùng để khách hàng sử dụng. Hiện tại, GTAF hỗ trợ mobiledataplanyoutube là các giá trị nhận dạng ứng dụng hợp lệ. Dưới đây là yêu cầu mẫu cho một toán tử có asn 12345 và thông tin về gói chia sẻ user key abcdef với GTAF cho ứng dụng youtube:

ĐĂNG https://mobiledataplansharing.googleapis.com/v1/operators/12345/clients/youtube/users/abcdef/planStatus

Phần nội dung yêu cầu là một bản sao của PlanStatus.

{
  "plans": [{
    "planName": "ACME1",
    "planId": "1",
    "planCategory": "PREPAID",
    "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
    "planModules": [{
      "moduleName": "Giga Plan", // req.
      "trafficCategories": ["GENERIC"],
      "expirationTime": "2017-01-29T01:00:03.14159Z", // req.
      "overUsagePolicy": "BLOCKED",
      "maxRateKbps": "1500",
      "description": "1GB for a month", // req.
      "coarseBalanceLevel": "HIGH_QUOTA"
    }]
  }],
  "planInfoPerClient": {
    "youtube": {
      "rateLimitedStreaming": {
        "maxMediaRateKbps": 569
      }
    }
  },
  "languageCode": "en-US", // req.
  "expireTime": "2018-06-14T08:41:27-07:00", // req.
  "updateTime": "2018-06-07T07:41:22-07:00", // req.
  "title": "Prepaid Plan"
}

Nếu yêu cầu thành công, GTAF sẽ trả về mã phản hồi HTTP 200 và mục nhập planStatus được đẩy với mục thông báo nếu có bất kỳ thông báo nào được gửi đến người dùng. Nếu xác định được vấn đề với yêu cầu, GTAF sẽ trả về mã trạng thái HTTP trong phạm vi 400-499. Nếu GTAF không thể hoàn tất yêu cầu do lỗi GTAF, thì GTAF sẽ trả về mã HTTP trong phạm vi 500-599. Các yêu cầu nhận được phản hồi trong phạm vi 500-599 được coi là có thể thử lại và các yêu cầu nhận được phản hồi trong phạm vi 400-499 thường không thể thử lại. Trường hợp lỗi giải thích chi tiết về các phản hồi lỗi từ GTAF.

Đẩy trạng thái kế hoạch cho ứng dụng mặc định

GTAF hỗ trợ lệnh gọi sau đây khi toán tử đẩy trạng thái gói mà không cần chỉ định ứng dụng mà bạn có thể sử dụng. Trong trường hợp này, chúng tôi giả định rằng trạng thái gói là dành cho máy khách của mobiledataplan và nhà cung cấp dịch vụ có xu hướng gửi thông báo cho người dùng. Nội dung yêu cầu là một bản sao của PlanStatus

ĐĂNG https://mobiledataplansharing.googleapis.com/v1/operators/12345/planStatuses?userKey=abcdef

Quốc tế hóa

Để hỗ trợ việc quốc tế hoá, DPA phải biết ngôn ngữ ưu tiên của người dùng ngay cả khi không có yêu cầu trực tiếp từ GTAF. Để giải quyết vấn đề này, yêu cầu đối với điểm cuối CPID CÓ THỂ bao gồm tiêu đề Chấp nhận ngôn ngữ tùy thuộc vào việc ứng dụng truy cập vào các lựa chọn ưu tiên về ngôn ngữ của người dùng. Nếu bao gồm tiêu đề, các chuỗi mà người dùng có thể đọc được trong các bản cập nhật mà DPA gửi bằng API MDP phải sử dụng chế độ cài đặt được cung cấp trong yêu cầu CPID.

DPA khả năng cập nhật các lựa chọn ưu tiên về ngôn ngữ của người dùng khi nhận được yêu cầu từ GTAF với tiêu đề Chấp nhận bằng ngôn ngữ và sử dụng các lựa chọn ưu tiên của người dùng đã cập nhật để xác định mã ngôn ngữ trong các yêu cầu trong tương lai đối với GTAF.

DPA PHẢI chỉ định ngôn ngữ dùng cho các chuỗi hiển thị cho người dùng bằng cách sử dụng languageCode. GTAF sử dụng thông tin này để tạo tiêu đề và nội dung của thông báo hiển thị cho người dùng.