ในการเข้าถึงฟังก์ชันการทำงานของบริการเกมของ Google Play เกมของคุณต้องมี บัญชีของผู้เล่นที่ลงชื่อเข้าใช้ เอกสารประกอบนี้จะอธิบายวิธี ติดตั้งใช้งานประสบการณ์การลงชื่อเข้าใช้ที่ราบรื่นในเกม
SDK บริการเกมของ Play เวอร์ชัน 2 มีการปรับปรุงหลายอย่างที่จะช่วย จำนวนผู้ใช้ที่ลงชื่อเข้าใช้เกม และทำให้การพัฒนาง่ายขึ้น
- การปรับปรุงสำหรับผู้ใช้:
- หลังจากเลือกบัญชีเริ่มต้นแล้ว ผู้ใช้จะเข้าสู่ระบบโดยไม่ต้อง โต้ตอบกับพรอมต์
- ผู้ใช้ไม่จำเป็นต้องดาวน์โหลดแอป Play Games เพื่อลงชื่อเข้าใช้อีกต่อไป บริการเกมของ Play หรือสร้างบัญชีใหม่
- ตอนนี้ผู้ใช้จัดการบัญชีบริการเกมของ Play ให้กับเกมหลายเกมได้แล้ว จากหน้าเดียวได้
- การปรับปรุงสำหรับนักพัฒนาซอฟต์แวร์
- รหัสไคลเอ็นต์ไม่ต้องจัดการขั้นตอนการลงชื่อเข้าใช้หรือออกจากระบบอีกต่อไป จะทริกเกอร์โดยอัตโนมัติเมื่อเกมเริ่ม และการจัดการบัญชี ในการตั้งค่าระบบปฏิบัติการ
การผสานรวมลูกค้าใหม่ด้วยการลงชื่อเข้าใช้บริการเกมของ Play เวอร์ชัน 2
ส่วนนี้จะแสดงวิธีผสานรวมลูกค้าใหม่ด้วยการลงชื่อเข้าใช้บริการเกมของ Play เวอร์ชัน 2
เพิ่มการพึ่งพา SDK บริการเกมของ Play
เพิ่มทรัพยากร Dependency ของ SDK บริการเกมของ Play ลงในระดับรากของแอป
build.gradle
ไฟล์ หากใช้ Gradle คุณจะเพิ่มหรืออัปเดต Depency ได้
ดังนี้
dependencies {
implementation "com.google.android.gms:play-services-games-v2:+"
}
กำหนดรหัสโปรเจ็กต์บริการเกมของ Play
หากต้องการเพิ่มรหัสโปรเจ็กต์ SDK บริการเกมของ Play ลงในแอป ให้ทําตามขั้นตอนต่อไปนี้ ขั้นตอนต่อไปนี้
เพิ่ม
<meta-data>
ต่อไปนี้ในไฟล์AndroidManifest.xml
ของแอป องค์ประกอบและแอตทริบิวต์ไปยังองค์ประกอบ<application>
:<manifest> <application> <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="@string/game_services_project_id"/> </application> </manifest>
กำหนดการอ้างอิงทรัพยากรสตริง
@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
เริ่มต้น Play Games SDK ใน Callback 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 {
// Disable your integration with Play Games Services or show a
// login button to ask players to sign-in. Clicking it should
// call GamesSignInClient.signIn().
}
});
หากผู้ใช้เลือกที่จะไม่ลงชื่อเข้าใช้เมื่อเกมเปิดตัว คุณสามารถเลือก
เลือกที่จะแสดงปุ่มที่มีไอคอน Play เกมต่อไป และพยายาม
ลงชื่อเข้าใช้งานผู้ใช้อีกครั้งโดยเรียก GamesSignInClient.signIn()
หากผู้ใช้
กดปุ่ม
หลังจากยืนยันว่าผู้ใช้ลงชื่อเข้าใช้แล้ว คุณสามารถเรียกดูรหัสผู้เล่นเพื่อ ระบุผู้ใช้ เช่น
PlayGames.getPlayersClient(activity).getCurrentPlayer().addOnCompleteListener(mTask -> {
// Get PlayerID with mTask.getResult().getPlayerId()
}
);