คู่มือสําหรับนักพัฒนาแอปนี้จะแสดงวิธีคอมไพล์และเรียกใช้เกม C++ บน Android ที่ใช้ Google Play Games Services API ก่อนเริ่มต้น ให้ดาวน์โหลดและกำหนดค่าข้อกำหนดต่อไปนี้
- Android NDK เวอร์ชัน 14 ขึ้นไป
- Android SDK v10 ขึ้นไปและ Eclipse ADT เวอร์ชันล่าสุด
- อุปกรณ์ต้องใช้ Android 4.0 (API ระดับ 14) ขึ้นไป
- SDK บริการ Google Play เวอร์ชันล่าสุด
คู่มือนักพัฒนาแอปนี้ใช้ Android Native Development Kit (NDK) หากคุณไม่คุ้นเคยกับ NDK ให้อ่านเอกสารประกอบและตัวอย่าง NDK ก่อนดำเนินการต่อ
ขั้นตอนที่ 1: ตั้งค่าสภาพแวดล้อม
- ดาวน์โหลด Android SDK และ Android NDK แล้วแตกไฟล์ลงในเครื่อง ในสภาพแวดล้อม ให้ตั้งค่า
SDK_ROOT
เป็นตำแหน่งของโฟลเดอร์ Android SDK และNDK_ROOT
เป็นตำแหน่งของโฟลเดอร์ Android NDK - ดาวน์โหลดเกมตัวอย่าง C++ คู่มือนักพัฒนาซอฟต์แวร์นี้เรียกตำแหน่งของตัวอย่างในเครื่องว่า
SAMPLES_DIR
- ดาวน์โหลด SDK สำหรับ C++ ของบริการเกมของ Google Play แตกไฟล์ SDK ลงในเครื่องสำหรับพัฒนาซอฟต์แวร์ ในสภาพแวดล้อม ให้ตั้งค่าตัวแปร
NDK_MODULE_PATH
ให้ชี้ไปยังไดเรกทอรีด้านบนไดเรกทอรีgpg-cpp-sdk
คุณควรมีโครงสร้างไดเรกทอรีดังต่อไปนี้NDK_MODULE_PATH/ gpg-cpp-sdk/
- เปิด Eclipse หากยังไม่ได้ดำเนินการ ให้บอก Eclipse ว่าคุณติดตั้ง NDK ไว้ที่ใดโดยคลิกค่ากําหนด > Android > NDK
นําเข้าโปรเจ็กต์คลังบริการ Google Play ไปยังเวิร์กสเปซ Eclipse
- ใน Eclipse ให้คลิก File > Import > Android > Existing Android Code into Workspace
- เลือก
SDK_ROOT/extras/google/google_play_services/libproject/google-play-services_lib
โดยที่SDK_ROOT
คือตำแหน่งของ Android SDK - คลิกเสร็จสิ้น
นําเข้าโปรเจ็กต์ตัวอย่างแบบมินิมอลมายังเวิร์กสเปซ Eclipse
- ใน Eclipse ให้คลิก File > Import > Android > Existing Android Code into Workspace
- เลือก
SAMPLES_DIR/samples-android/minimalist
- คลิกเสร็จสิ้น
คลิกขวาที่โปรเจ็กต์ MinimalistActivity แล้วคลิกพร็อพเพอร์ตี้ ในส่วน Android ให้เลื่อนลงไปที่ส่วนคลัง และตรวจสอบว่ามีการอ้างอิงโปรเจ็กต์ google-play-services_lib อย่างถูกต้อง หากไม่ ให้นำข้อมูลอ้างอิงออกแล้วเพิ่มอีกครั้งจากพื้นที่ทำงาน
Eclipse จะคอมไพล์ซอร์สโค้ด Java และ Android ของโปรเจ็กต์โดยอัตโนมัติ แต่จะต้องคอมไพล์โค้ดเนทีฟในโฟลเดอร์ jni
แยกต่างหาก หากต้องการดำเนินการนี้ด้วยตนเอง ให้ไปที่โฟลเดอร์ jni
แล้วเรียกใช้ ndk-build
อย่าลืมดำเนินการนี้หลังจากทําการเปลี่ยนแปลงในโฟลเดอร์ jni
ตอนนี้โปรเจ็กต์ควรคอมไพล์แล้ว แต่ยังไม่ทำงาน คุณต้องกำหนดค่าเกมใน Google Play Console ก่อน
ขั้นตอนที่ 2: ตั้งค่าเกมใน Google Play Console
สร้างรายการสำหรับเกมใน Google Play Console ซึ่งจะเป็นการเปิดใช้บริการเกมสําหรับแอปพลิเคชันของคุณ และสร้างรหัสไคลเอ็นต์ OAuth 2.0 หากคุณยังไม่มี
- สร้างรายการสำหรับเกมโดยทำตามขั้นตอนที่อธิบายไว้ในการตั้งค่าบริการเกมของ Google Play
- ใน
AndroidManifest.xml
ให้เปลี่ยนแอตทริบิวต์package
ของแท็ก<manifest>
เป็นชื่อแพ็กเกจที่คุณเลือกไว้เมื่อตั้งค่า Google Play Console คุณอาจต้องแก้ไขการอ้างอิงบางอย่างทั่วทั้งโปรเจ็กต์หลังจากทําการเปลี่ยนแปลงนี้ (โดยเฉพาะคลาสR
ที่สร้างขึ้น) - เปิด
res/values/ids.xml
แล้ววางรหัสแอปของคุณไว้ที่นั่น โปรดทราบว่ารหัสแอปไม่เหมือนกับรหัสไคลเอ็นต์ แต่เป็นตัวเลขข้างชื่อเกมในหน้ารายละเอียดเกมของ Google Play Console
ขั้นตอนที่ 3: เรียกใช้ตัวอย่าง
หากต้องการเรียกใช้ตัวอย่าง คุณจะต้องมีอุปกรณ์ Android หรือโปรแกรมจำลองที่ติดตั้งบริการ Google Play ไว้
- เรียกใช้
ndk-build
เพื่อคอมไพล์โค้ดเนทีฟ - ใน Eclipse ให้คลิกเรียกใช้ > เรียกใช้เป็น > แอปพลิเคชัน Android แล้วเรียกใช้ตัวอย่างในอุปกรณ์
- เมื่อตัวอย่างเพลงเปิดขึ้น ให้แตะที่ใดก็ได้บนหน้าจอ คุณควรเห็นโลโก้ Google Play Games ปรากฏขึ้น หากกําหนดค่าแอปอย่างถูกต้องแล้ว ระบบจะแจ้งให้คุณลงชื่อเข้าใช้
ไม่บังคับ: บิลด์โดยอัตโนมัติด้วย Eclipse
ขั้นตอนต่อไปนี้แสดงวิธีกำหนดค่า Eclipse ให้เรียกใช้ ndk-build
โดยอัตโนมัติเมื่อคุณทำการเปลี่ยนแปลงไฟล์ในโฟลเดอร์ jni
- คลิกขวาที่โปรเจ็กต์ MinimalistActivity แล้วคลิกพร็อพเพอร์ตี้ ในหน้าต่างพร็อพเพอร์ตี้ ให้เลือกแผงเครื่องมือสร้าง
- คลิกใหม่เพื่อเพิ่มโปรแกรมสร้างใหม่ แล้วเลือกโปรแกรม จากนั้นคลิกตกลง
- ป้อน "NDK Builder" ในช่องชื่อ
- ในส่วนตำแหน่ง ให้คลิกเรียกดูระบบไฟล์ แล้วไปที่ไดเรกทอรี
NDK_ROOT
แล้วเลือกคำสั่งndk-build
- ในส่วนไดเรกทอรีทํางาน ให้คลิกเรียกดูพื้นที่ทํางาน แล้วเลือกโฟลเดอร์ MinimalistActivity project
- คลิกแท็บรีเฟรช ตรวจสอบว่าได้เลือกช่องรีเฟรชทรัพยากรเมื่อเสร็จสิ้น
- เลือกปุ่มตัวเลือกทรัพยากรที่เฉพาะเจาะจง แล้วคลิกระบุทรัพยากร ในกล่องโต้ตอบที่ปรากฏขึ้น ให้เลือกโฟลเดอร์
jni
ในส่วน MinimalActivity - คลิกใช้ แล้วคลิกตกลงเพื่อสร้าง Builder ให้เสร็จสิ้น
ตอนนี้ทุกครั้งที่คุณแก้ไขไฟล์ภายในโฟลเดอร์ jni
นั้น Eclipse จะเรียกใช้ ndk-build
และพิมพ์เอาต์พุตไปยังคอนโซล Eclipse