หากต้องการเข้าถึงฟังก์ชันการทำงานของบริการเกม Google Play เกมของคุณต้องระบุบัญชีของผู้เล่นที่ผ่านการตรวจสอบสิทธิ์ เอกสารประกอบนี้อธิบายวิธี มอบประสบการณ์การตรวจสอบสิทธิ์ที่ราบรื่นในเกม
SDK บริการเกมของ Play v2 มีการปรับปรุงหลายอย่างที่ช่วยเพิ่ม จำนวนผู้ใช้ที่ได้รับการตรวจสอบสิทธิ์ในเกมของคุณ และช่วยให้การพัฒนาเกมง่ายขึ้น ดังนี้
- การปรับปรุงสำหรับผู้ใช้มีดังนี้
- หลังจากเลือกบัญชีเริ่มต้นแล้ว ระบบจะตรวจสอบสิทธิ์ผู้ใช้โดยไม่ต้อง โต้ตอบกับข้อความแจ้ง
- ผู้ใช้ไม่จำเป็นต้องดาวน์โหลดแอป Play เกมเพื่อตรวจสอบสิทธิ์ด้วย บริการเกมของ Play หรือสร้างบัญชีใหม่แล้ว
- ตอนนี้ผู้ใช้สามารถจัดการบัญชีบริการเกมของ Play สำหรับหลายเกม ได้จากหน้าเดียว
- การปรับปรุงสำหรับนักพัฒนาแอป
- โค้ดฝั่งไคลเอ็นต์ไม่จำเป็นต้องจัดการการตรวจสอบสิทธิ์หรือขั้นตอนการออกจากระบบอีกต่อไป เนื่องจากระบบจะทริกเกอร์การเข้าสู่ระบบโดยอัตโนมัติเมื่อเกมเริ่มต้น และการจัดการบัญชี จะได้รับการจัดการในการตั้งค่าระบบปฏิบัติการ
การผสานรวมไคลเอ็นต์ใหม่
ส่วนนี้แสดงวิธีผสานรวมไคลเอ็นต์ใหม่กับบริการเกมของ Play การลงชื่อเข้าใช้ v2
เพิ่มการอ้างอิง
เพิ่มทรัพยากร Dependency ของ SDK บริการเกมของ Play ลงในไฟล์ build.gradle
ระดับรูทของแอป หากใช้ Gradle คุณสามารถเพิ่มหรืออัปเดต
การอ้างอิงได้ดังนี้
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
กำหนดรหัสโปรเจ็กต์
หากต้องการเพิ่มรหัสโปรเจ็กต์ SDK บริการเกมของ Google Play ลงในแอป ให้ทำตาม ขั้นตอนต่อไปนี้
ในไฟล์
AndroidManifest.xml
ของแอป ให้เพิ่มองค์ประกอบและแอตทริบิวต์<meta-data>
ต่อไปนี้ ลงในองค์ประกอบ<application>
<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
กำหนดการอ้างอิงทรัพยากร String
@string/game_services_project_id
โดยใช้รหัสโปรเจ็กต์บริการเกมของเกมเป็นค่า คุณดูรหัสโปรเจ็กต์บริการเกมได้ใต้ชื่อเกมในหน้าการกำหนดค่าใน Google Play Consoleในไฟล์
res/values/strings.xml
ให้เพิ่มการอ้างอิงทรัพยากรสตริง และตั้งค่ารหัสโปรเจ็กต์เป็นค่า ใน Google Play Console คุณจะดูรหัสโปรเจ็กต์ได้ใต้ชื่อเกมในหน้าการกำหนดค่า เช่น<!-- res/values/strings.xml --> <resources> <!-- Replace 0000000000 with your game’s project id. Example value shown above. --> <string translatable="false" name="game_services_project_id"> 0000000000 </string> </resources>
เริ่มต้น SDK
เริ่มต้น SDK ของ Play Games ในonCreate(..)
การเรียกกลับของคลาส Application
import com.google.android.gms.games.PlayGamesSdk;
...
@Override
public void onCreate(){
super.onCreate();
PlayGamesSdk.initialize(this);
}
รับผลการตรวจสอบสิทธิ์
เมื่อเกมเปิดตัว เกมจะพยายามตรวจสอบสิทธิ์ผู้ใช้เสมอ หากต้องการ ตรวจสอบสิทธิ์ผู้ใช้ คุณต้องยืนยันว่าผู้ใช้ตรวจสอบสิทธิ์สำเร็จ แล้วจึงรับรหัสผู้เล่น
หากต้องการยืนยันความพยายามในการตรวจสอบสิทธิ์ ให้โทรหา GamesSignInClient.isAuthenticated()
และ
ใช้ addOnCompleteListener
เพื่อดึงข้อมูลผลลัพธ์ เช่น
GamesSignInClient gamesSignInClient = PlayGames.getGamesSignInClient(getActivity());
gamesSignInClient.isAuthenticated().addOnCompleteListener(isAuthenticatedTask -> {
boolean isAuthenticated =
(isAuthenticatedTask.isSuccessful() &&
isAuthenticatedTask.getResult().isAuthenticated());
if (isAuthenticated) {
// Continue with Play Games Services
} else {
// Show a sign-in button to ask players to authenticate. Clicking it should
// call GamesSignInClient.signIn().
}
});
หากผู้ใช้เลือกที่จะไม่รับการตรวจสอบสิทธิ์เมื่อเปิดตัวเกม เราขอแนะนำให้คุณแสดงปุ่มที่มีไอคอน Play Games ต่อไป หรือแสดงหน้าจอลงชื่อเข้าใช้แก่ผู้ใช้ซึ่งมีปุ่มที่มีไอคอน Play Games เป็นหนึ่งในตัวเลือกการตรวจสอบสิทธิ์ และพยายามตรวจสอบสิทธิ์ผู้ใช้อีกครั้งโดยเรียกใช้ GamesSignInClient.signIn()
หากผู้ใช้กดปุ่ม
หลังจากยืนยันว่าผู้ใช้ได้รับการตรวจสอบสิทธิ์แล้ว คุณจะดึงข้อมูลรหัสผู้เล่น
เพื่อระบุตัวตนของผู้ใช้ได้ เช่น
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);