Tổng quan về quá trình di chuyển

Dịch vụ trò chơi của Google Play, SDK games phiên bản 1 dựa vào tính năng Đăng nhập bằng Google cho Android (đã ngừng hoạt động và sẽ bị xoá khỏi SDK xác thực của Dịch vụ Google Play (com.google.android.gms:play-services-auth) vào năm 2025). Các ứng dụng trò chơi mới có thể sử dụng SDK games phiên bản 1 cho đến năm 2025. Việc xoá tính năng Đăng nhập bằng Google sẽ gây ra các vấn đề về phần phụ thuộc cho các ứng dụng trò chơi hiện có. Việc di chuyển các ứng dụng trò chơi hiện có từ SDK games phiên bản 1 sang SDK games phiên bản 2 sẽ giải quyết các vấn đề về phần phụ thuộc do việc xoá tính năng Đăng nhập bằng Google gây ra.

Việc di chuyển từ Dịch vụ trò chơi của Google Play phiên bản 1 sang phiên bản 2 là một bản cập nhật quan trọng giúp đơn giản hoá quá trình phát triển và hỗ trợ chơi trò chơi trên nhiều nền tảng. Dịch vụ trò chơi của Google Play phiên bản 2 tách biệt danh tính trên nền tảng và danh tính trong trò chơi, hoạt động như một hệ thống nhận dạng ở cấp nền tảng tự động xác thực người chơi khi khởi chạy. Danh tính trên nền tảng hiện tách biệt với hệ thống tài khoản chính trong trò chơi. Bạn phải quản lý hệ thống này một cách độc lập bằng các công cụ như Đăng nhập bằng Google hoặc các phần phụ trợ độc quyền. Quá trình tích hợp SDK Dịch vụ trò chơi của Play phiên bản 2 sử dụng mã nhận dạng người chơi cho các tính năng trên nền tảng như thành tích và bảng xếp hạng mà không làm thay đổi quy trình giới thiệu hoặc đăng nhập hiện có.

Tài liệu này giúp bạn hiểu được các lượt tương tác giữa ứng dụng trò chơi và nhiều SDK. Do thời gian ngừng hoạt động chính thức, bạn phải tuân theo các nguyên tắc về cấu trúc, đường dẫn và chiến lược giao tiếp với người chơi trong hướng dẫn di chuyển này để đảm bảo tính liên tục cho người chơi.

Tương tác SDK

Các sơ đồ minh hoạ lượt tương tác giữa ứng dụng trò chơi trên Android, GMS (Các dịch vụ của Google dành cho thiết bị di động) Core, Dịch vụ trò chơi của Play và máy chủ trò chơi của bên thứ ba (3P). Sơ đồ này làm nổi bật cách ứng dụng sử dụng các dịch vụ của Google để xác thực và các tính năng trò chơi, đồng thời tương tác với một hệ thống riêng biệt của bên thứ ba.

games phiên bản 2 (Hiện tại)

Tương tác giữa Ứng dụng trò chơi trên Android, GMS Core, Dịch vụ trò chơi của Play và máy chủ trò chơi của bên thứ ba (3P).
Tương tác giữa Ứng dụng trò chơi trên Android, GMS Core, Dịch vụ trò chơi của Play, và máy chủ trò chơi của bên thứ ba (3P). (nhấp để phóng to).

games phiên bản 1 (Cũ)

Tương tác giữa Ứng dụng trò chơi trên Android, GMS Core, Dịch vụ trò chơi của Play và máy chủ trò chơi của bên thứ ba (3P).
Tương tác giữa Ứng dụng trò chơi trên Android, GMS Core, Dịch vụ trò chơi của Play, và máy chủ trò chơi của bên thứ ba (3P). (nhấp để phóng to).

Sau đây là phần tổng quan ngắn gọn về các thành phần và SDK:

  • Ứng dụng trò chơi.
    • Đây là ứng dụng trò chơi của người dùng đang chạy trên thiết bị chạy Android.
    • Ứng dụng này chứa 2 thành phần chính:
      • SDK games phiên bản 1 hoặc games phiên bản 2. SDK phía máy khách chịu trách nhiệm tương tác với Dịch vụ trò chơi của Play.
      • SDK xác thực. SDK xác thực của Dịch vụ Google Play chịu trách nhiệm xử lý các quy trình xác thực và cấp quyền cho người dùng trong games phiên bản 1.
    • Cả hai SDK đều giao tiếp bằng AIDL (Ngôn ngữ định nghĩa giao diện Android), cho biết một mẫu giao tiếp giữa các quy trình hoặc dịch vụ khác nhau.
  • GMS Core còn được gọi là Dịch vụ Google Play.
    • Đây là lớp độc quyền của Google trên Android.
    • Ứng dụng trò chơi sử dụng 2 mô-đun GMS Core:
      • Mô-đun trò chơi. cung cấp các tính năng dành riêng cho trò chơi, chẳng hạn như bảng xếp hạng, thành tích và tính năng quản lý trạng thái trò chơi.
      • Mô-đun xác thực. Xử lý các thao tác xác thực và cấp quyền cho người dùng.
    • Các SDK Trò chơi và Xác thực trong ứng dụng trò chơi giao tiếp với các mô-đun tương ứng bằng giao diện AIDL, cho biết giao tiếp giữa các quy trình (IPC).

  • Cổng Dịch vụ trò chơi của Play.
    • Một cổng logic giúp điều phối giao tiếp giữa GMS Core và máy chủ Dịch vụ trò chơi của Play.
    • Xử lý các yêu cầu API, chuyển đổi dữ liệu và xác thực cho giao tiếp máy chủ.
  • Máy chủ Dịch vụ trò chơi của Play.
    • Đại diện cho các dịch vụ phụ trợ của Dịch vụ trò chơi của Play chịu trách nhiệm lưu trữ dữ liệu trò chơi, quản lý tài khoản người dùng và hỗ trợ các tính năng nhiều người chơi.
  • Cổng trò chơi của bên thứ ba.
    • Nếu ứng dụng trò chơi của bạn đủ điều kiện là ứng dụng của bên thứ ba (3P), thì thư viện ứng dụng sẽ giao tiếp với các máy chủ Dịch vụ trò chơi của Play thông qua các máy chủ trò chơi của bên thứ ba.
    • Điều này ngụ ý rằng ứng dụng cũng có thể xác thực với một nhà cung cấp dịch vụ khác.
  • Máy chủ trò chơi của bên thứ ba.
    • Đại diện cho một máy chủ bên ngoài không bắt buộc mà ứng dụng trò chơi có thể tương tác, có thể là cho các tính năng tuỳ chỉnh hoặc quản lý dữ liệu.
    • Giao tiếp với ứng dụng diễn ra thông qua cổng trò chơi của bên thứ ba.

Lý do bạn nên di chuyển tựa trò chơi sang Dịch vụ trò chơi của Play phiên bản 2

Quá trình chuyển đổi từ Dịch vụ trò chơi của Play phiên bản 1 sang phiên bản 2 là một quá trình hiện đại hoá cấu trúc chính giúp đơn giản hoá quá trình phát triển và hỗ trợ chơi trò chơi trên nhiều nền tảng.

Không giống như phiên bản 1 (đóng vai trò là hệ thống nhận dạng chính trong trò chơi), Dịch vụ trò chơi của Play phiên bản 2 tách biệt danh tính trên nền tảng và danh tính trong trò chơi. Hệ thống này hoạt động như một hệ thống nhận dạng ở cấp nền tảng tự động xác thực người chơi khi khởi chạy để quản lý các tính năng như thành tích và bảng xếp hạng.

Giờ đây, bạn phải quản lý hệ thống tài khoản chính trong trò chơi một cách độc lập bằng các công cụ như Đăng nhập bằng Google hoặc các phần phụ trợ độc quyền. SDK Dịch vụ trò chơi của Play phiên bản 2 cho phép trò chơi sử dụng mã nhận dạng người chơi của Dịch vụ trò chơi của Play để truy cập vào các tính năng trên nền tảng mà không làm thay đổi quy trình giới thiệu hoặc đăng nhập hiện có. Tài liệu này hướng dẫn bạn trong quá trình di chuyển, bao gồm các nguyên tắc về cấu trúc, đường dẫn và chiến lược giao tiếp với người chơi. Việc tuân thủ là rất quan trọng để đảm bảo tính liên tục cho người chơi do thời gian ngừng hoạt động chính thức.

So sánh quy trình xác thực trên nền tảng và xác thực trong trò chơi

Trong Dịch vụ trò chơi của Play phiên bản 2, khái niệm "đăng nhập" được tách thành 2 lớp riêng biệt:

  • Danh tính trên nền tảng. SDK xử lý quy trình xác thực trên nền tảng.
  • Danh tính trong trò chơi.

Xác thực trên nền tảng

Dịch vụ trò chơi của Play chỉ hoạt động như một lớp tương tác trên nền tảng. Hệ thống này quản lý mối quan hệ của người chơi với hệ sinh thái Google Play Games (Thành tích, Bảng xếp hạng và Sự kiện) thay vì xác thực vào một tài khoản hoặc kho trò chơi cụ thể.

  • Tự động và không cần thao tác: Quy trình xác thực diễn ra tự động ở chế độ nền khi trò chơi khởi chạy. Không cần nút "Đăng nhập" thủ công cho chính Dịch vụ trò chơi của Play.
  • Mã nhận dạng người chơi: Sau khi xác thực thành công trên nền tảng, Dịch vụ trò chơi của Play sẽ cung cấp một Mã nhận dạng người chơi ổn định. Mã nhận dạng này nhất quán trên các thiết bị cho cùng một trò chơi nhưng chủ yếu được dùng để theo dõi số liệu thống kê trên nền tảng (chẳng hạn như tiến trình Thành tích).
  • Tách biệt: Bạn không được sử dụng Dịch vụ trò chơi của Play phiên bản 2 làm hệ thống nhận dạng chính của trò chơi để quản lý tài khoản trong trò chơi của người chơi cùng với tiến trình hoặc kho trò chơi của họ. Dịch vụ trò chơi của Play phiên bản 2 chỉ hoạt động như một giá trị nhận dạng nền tảng thứ hai và liên tục.

Xác thực trong trò chơi

Nhà phát triển chịu trách nhiệm quản lý "Tài khoản trong trò chơi" (IGA). Đây là hệ thống nhận dạng liên kết tiến trình, kho và đơn vị tiền tệ của người chơi trong trò chơi của bạn.

  • Danh tính chính: Bạn có thể sử dụng phần phụ trợ của riêng mình, Đăng nhập bằng Google (SiWG) hoặc các nhà cung cấp khác làm phương thức đăng nhập chính.
  • Độc lập: Người chơi có thể đăng nhập vào Dịch vụ trò chơi của Play (Danh tính trên nền tảng) để đạt được thành tích trong khi đăng nhập vào bất kỳ Tài khoản trong trò chơi cụ thể nào. Ví dụ: tài khoản khách hoặc tài khoản SiWG cụ thể.
  • Quản lý nhiều Tài khoản trong trò chơi: Dịch vụ trò chơi của Play chỉ chịu trách nhiệm xác thực trên nền tảng. Trò chơi của bạn sẽ quản lý quy trình xác thực chính của người chơi vào tài khoản trong trò chơi (IGA). Điều này có nghĩa là sẽ không có thay đổi nào đối với các quy trình hiện có của trò chơi về cách người chơi chuyển đổi giữa các tài khoản trong trò chơi. Trong khi người chơi thực hiện việc này, họ vẫn sẽ được xác thực vào nền tảng Play Games bằng Dịch vụ trò chơi của Play và bạn sẽ tiếp tục gửi dữ liệu của họ liên quan đến thành tích và các tính năng khác của Dịch vụ trò chơi của Play dựa trên Mã nhận dạng người chơi liên tục.

Yêu cầu di chuyển: Liên kết tài khoản trong trò chơi với Google Open ID thay vì Mã nhận dạng người chơi của Dịch vụ trò chơi của Play

Trong Dịch vụ trò chơi của Play phiên bản 1, nhà phát triển đã sử dụng Dịch vụ trò chơi của Play làm nhà cung cấp dịch vụ danh tính chính. Nút "Google Play" sẽ liên kết trực tiếp Tài khoản trong trò chơi (IGA) của người chơi với Player ID của họ.

Dịch vụ trò chơi của Play phiên bản 2 chuyển đổi điều này bằng cách cung cấp quy trình xác thực trên nền tảng tự động và không cần thao tác khi khởi chạy. Player ID kết quả hiện chỉ được dùng cho các tính năng trên nền tảng như bảng xếp hạng và thành tích, tách biệt với quy trình đăng nhập tài khoản chính.

Giờ đây, trò chơi phải quản lý danh tính chính một cách độc lập thông qua màn hình đăng nhập riêng cung cấp các phương thức như "Đăng nhập bằng Google" (SiWG) hoặc các tài khoản mạng xã hội khác. Điều quan trọng là bạn không được sử dụng Dịch vụ trò chơi của Play phiên bản 2 làm hệ thống nhận dạng chính.

Sự thay đổi về cấu trúc này đòi hỏi phải có sự thay đổi tương ứng về cách nhà phát triển cấu trúc dữ liệu tài khoản của họ. Tài khoản trong trò chơi (IGA) phải được tách biệt khỏi việc liên kết chính với Player ID.

Thay vào đó, IGA hiện phải được liên kết với một giá trị nhận dạng chính ổn định, độc lập với Dịch vụ trò chơi của Play. Giá trị nhận dạng được đề xuất là Open ID do quy trình Đăng nhập bằng Google (SiWG) cung cấp. Open ID này đóng vai trò là khoá duy nhất và liên tục cho tài khoản chính của người chơi trong hệ thống của bạn.

Tuy nhiên, IGA vẫn có thể được liên kết với Player ID dưới dạng liên kết thứ hai. Liên kết thứ hai này có 2 chức năng quan trọng:

  1. Liên kết này cho phép trò chơi tiếp tục theo dõi và cập nhật tiến trình cho các tính năng của Play Games (thành tích, v.v.) được liên kết với người chơi cụ thể đó.
  2. Liên kết này cho phép chức năng "Khôi phục liền mạch", cho phép trò chơi tự động đăng nhập người chơi vào IGA được sử dụng gần đây nhất chỉ trên thiết bị mới hoặc sau khi cài đặt lại.

Việc hiểu rõ mô hình nhận dạng tách biệt này là chìa khoá để mở ra đường dẫn di chuyển kỹ thuật chính xác cho trò chơi của bạn.

So sánh tính năng

Bảng này cung cấp cho bạn thông tin so sánh tính năng giữa SDK games phiên bản 1 và games phiên bản 2:


Tính năng

SDK games phiên bản 1

SDK games phiên bản 2

Xác thực

Yêu cầu tích hợp với play-services-auth.

Đơn giản hoá và tinh giản; không yêu cầu play-services-auth.

Cấp quyền

Mã bổ sung cho trạng thái thành công, không thành công và thử lại.

Do SDK quản lý

Mã truy cập máy chủ

Có thể yêu cầu thêm phạm vi OAuth 2.0 bằng GoogleSigninClient.

Mã bổ sung để xử lý lỗi trong quá trình xác thực.

Có thể yêu cầu 3 phạm vi nhận dạng cơ bản của OAuth 2.0 bằng GamesSignInClient khi yêu cầu quyền truy cập phía máy chủ vào các API web của Dịch vụ trò chơi của Play.

Để biết thêm thông tin, hãy xem bài viết Quyền truy cập phía máy chủ vào Dịch vụ trò chơi của Play Truy xuất mã xác thực máy chủ.


Quy trình đăng nhập

Sử dụng GoogleSigninClient.

Mã bổ sung để xử lý mã nguyên mẫu cho quy trình xác thực tự động và xử lý lỗi.

Sử dụng GamesSignInClient.

SDK xử lý mã nguyên mẫu, quy trình xác thực tự động và xử lý lỗi. Quy trình "đăng nhập" được tách thành 2 lớp riêng biệt:
  • Xác thực trên nền tảng: do SDK Dịch vụ trò chơi của Play phiên bản 2 xử lý.
  • Xác thực trong trò chơi: do trò chơi xử lý.

Cửa sổ bật lên chào mừng

Yêu cầu mã bổ sung.
Nhà phát triển có thể kiểm soát vị trí và thời gian của cửa sổ này.

Không yêu cầu mã bổ sung. Giao diện người dùng nhất quán trên tất cả các trò chơi được định cấu hình bằng SDK games phiên bản 2.

Phần phụ thuộc

Yêu cầu play-services-auth.

Mô-đun Trò chơi sẽ xử lý quy trình cấp quyền và xác thực. Bạn không cần thêm bất kỳ phần phụ thuộc nào khác.
Đăng xuất

Sử dụng GoogleSignInClient.signOut.

Không yêu cầu API đăng xuất vì Dịch vụ trò chơi của Play phiên bản 2 là danh tính nền tảng liên tục.

Nhiều tài khoản Dịch vụ trò chơi của Play và chế độ cài đặt cho từng trò chơi

Bạn có thể quản lý tài khoản trong trò chơi của mình.

Người dùng có thể thay đổi hồ sơ Dịch vụ trò chơi của Play trong phần cài đặt của thiết bị di động. Để biết thêm thông tin, hãy xem bài viết cách chuyển đổi hồ sơ Play Games trên thiết bị di động.