คู่มือนี้จะแสดงวิธีใช้ Player Stats API สำหรับบริการเกมของ Google Play คุณสามารถ ใช้ Player Stats API เพื่อดึงข้อมูลเกี่ยวกับกิจกรรมในเกมของผู้เล่น
Player Stats API ช่วยให้คุณปรับแต่งประสบการณ์การเล่นเกมให้เหมาะกับกลุ่มผู้เล่นที่เฉพาะเจาะจงและวงจรของผู้เล่นในระยะต่างๆ ได้ คุณสามารถสร้างประสบการณ์ที่ปรับแต่งแล้ว สำหรับกลุ่มผู้เล่นแต่ละกลุ่มตามความคืบหน้า การใช้จ่าย และการมีส่วนร่วมของผู้เล่น เช่น คุณสามารถใช้ API นี้ดำเนินการเชิงรุกเพื่อ กระตุ้นให้ผู้เล่นที่ใช้งานน้อยกลับมามีส่วนร่วมกับเกมอีกครั้ง เช่น โดย แสดงและโปรโมตไอเทมใหม่ในเกมเมื่อผู้เล่นตรวจสอบสิทธิ์
คุณจะพบ API ได้ในแพ็กเกจ
com.google.android.gms.games.stats
และ com.google.android.gms.games
ก่อนเริ่มต้น
ก่อนเริ่มใช้ Player Stats API ให้ทำดังนี้
- ดาวน์โหลดและตรวจสอบ ตัวอย่างโค้ด
- ทำความคุ้นเคยกับคำแนะนำที่อธิบายไว้ใน รายการตรวจสอบคุณภาพ
รับไคลเอ็นต์ Player Stats
หากต้องการเริ่มใช้ Player Stats API เกมของคุณต้องได้รับออบเจ็กต์ PlayerStatsClient ก่อน คุณทำได้โดยการเรียกใช้เมธอด
PlayerStatsClient.getPlayersClient()
และส่งกิจกรรม
คลาส PlayerStatsClient ใช้คลาส Task ของบริการ Google Play เพื่อแสดงผลแบบอะซิงโครนัส ดูข้อมูลเพิ่มเติมเกี่ยวกับ
การใช้ Tasks เพื่อจัดการงานแบบเธรดได้ที่
คู่มือสำหรับนักพัฒนาซอฟต์แวร์ Tasks API
ข้อมูลเบื้องต้นเกี่ยวกับ Player Stats
คุณสามารถใช้ Player Stats API เพื่อดึงข้อมูลเกี่ยวกับกิจกรรมในเกมของผู้เล่น ประเภทข้อมูลผู้เล่นที่คุณดึงข้อมูลได้มีดังนี้
ระยะเวลาเซสชันโดยเฉลี่ย: ระยะเวลาเซสชันโดยเฉลี่ยของผู้เล่นเป็น นาที ระยะเวลาเซสชันจะพิจารณาจากเวลาที่ผู้เล่นได้รับการตรวจสอบสิทธิ์โดยบริการเกมของ Google Play
จำนวนวันนับตั้งแต่เล่นครั้งล่าสุด: จำนวนวันโดยประมาณนับตั้งแต่ผู้เล่น เล่นครั้งล่าสุด
จำนวนการซื้อ: จำนวนการซื้อในแอปโดยประมาณสำหรับ ผู้เล่น
จำนวนเซสชัน: จำนวนเซสชันโดยประมาณของผู้เล่น เซสชันจะพิจารณาจากจำนวนครั้งที่ผู้เล่นได้รับการตรวจสอบสิทธิ์โดยบริการเกมของ Google Play
เปอร์เซ็นไทล์ของเซสชัน: ค่าประมาณของเปอร์เซ็นไทล์ของเซสชันสำหรับ ผู้เล่น ซึ่งระบุเป็นค่าทศนิยมระหว่าง 0 ถึง 1 ค่านี้จะระบุจำนวนเซสชันที่ผู้เล่นปัจจุบันเล่นเมื่อเทียบกับฐานผู้เล่นที่เหลือของเกมนี้ ตัวเลขที่สูงขึ้นแสดงว่าผู้เล่นรายนี้เล่นเซสชันมากกว่า
เปอร์เซ็นไทล์การใช้จ่าย: เปอร์เซ็นไทล์การใช้จ่ายโดยประมาณของผู้เล่น ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 0 ถึง 1 ค่านี้จะระบุว่าผู้เล่นปัจจุบันใช้จ่ายไปเท่าใดเมื่อเทียบกับฐานผู้เล่นที่เหลือของเกมนี้ ตัวเลขที่สูงขึ้นแสดงว่าผู้เล่นรายนี้ใช้จ่ายมากขึ้น
ข้อมูลผู้เล่นประเภทต่อไปนี้เลิกใช้งานแล้วและจะแสดงค่าคงที่ของค่าที่ไม่ได้ตั้งค่าเสมอ
- ความน่าจะเป็นที่จะเลิกใช้งาน: การคาดการณ์ว่าผู้เล่นจะเลิกใช้งาน ในวันถัดไปหรือไม่ ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 0 (ความน่าจะเป็นที่จะเลิกใช้งานต่ำ) ถึง 1 (ความน่าจะเป็นที่จะเลิกใช้งานสูง) การเลิกใช้งานกำหนดไว้ว่าเป็นการไม่มีการใช้งานเป็นเวลา 7 วัน
- ความน่าจะเป็นที่จะใช้จ่าย: ความน่าจะเป็นโดยประมาณที่ผู้เล่น จะเลือกใช้จ่ายในเกมนี้ ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 0 (ความน่าจะเป็นที่จะใช้จ่ายต่ำ) ถึง 1 (ความน่าจะเป็นที่จะใช้จ่ายสูง)
- การใช้จ่ายทั้งหมดใน 28 วันข้างหน้า: การใช้จ่ายทั้งหมดโดยประมาณที่คาดว่าผู้เล่น จะใช้จ่ายในเกมนี้ในช่วง 28 วันข้างหน้า
- ความน่าจะเป็นที่จะเป็นผู้ใช้จ่ายสูง: ความน่าจะเป็นโดยประมาณที่ผู้เล่นจะใช้จ่ายเป็นจำนวนเงินที่อยู่ในเปอร์เซ็นไทล์ที่ 95 หรือสูงกว่าของฐานผู้เล่นของเกมนี้ในช่วง 28 วันข้างหน้า ซึ่งแสดงเป็นค่าทศนิยม ระหว่าง 0 (ความน่าจะเป็นที่จะเป็นผู้ใช้จ่ายสูงต่ำ) ถึง 1 (ความน่าจะเป็นที่จะเป็นผู้ใช้จ่ายสูงสูง)
ดึงข้อมูล Player Stats
หากต้องการดึงข้อมูล Player Stats ของผู้เล่นที่ผ่านการตรวจสอบสิทธิ์แล้ว ให้ทำตามขั้นตอนต่อไปนี้
เรียกใช้เมธอด
PlayerStatsClient.loadPlayerStats()หากการเรียกใช้สำเร็จ บริการเกมของ Google Play จะแสดงออบเจ็กต์
Taskซึ่งจะโหลดออบเจ็กต์PlayerStatsแบบอะซิงโครนัส ใช้เมธอดของออบเจ็กต์นี้เพื่อดึงข้อมูลเกี่ยวกับกิจกรรมของผู้เล่นที่ผ่านการตรวจสอบสิทธิ์แล้วในแอป
ตัวอย่าง
public void checkPlayerStats() { PlayGames.getPlayerStatsClient(this) .loadPlayerStats(true) .addOnCompleteListener(new OnCompleteListener<AnnotatedData<PlayerStats>>() { @Override public void onComplete(@NonNull Task<AnnotatedData<PlayerStats>> task) { if (task.isSuccessful()) { // Check for cached data. if (task.getResult().isStale()) { Log.d(TAG, "using cached data"); } PlayerStats stats = task.getResult().get(); if (stats != null) { Log.d(TAG, "Player stats loaded"); if (stats.getDaysSinceLastPlayed() > 7) { Log.d(TAG, "It's been longer than a week"); } if (stats.getNumberOfSessions() > 1000) { Log.d(TAG, "Veteran player"); } if (stats.getChurnProbability() == 1) { Log.d(TAG, "Player is at high risk of churn"); } } } else { int status = CommonStatusCodes.DEVELOPER_ERROR; if (task.getException() instanceof ApiException) { status = ((ApiException) task.getException()).getStatusCode(); } Log.d(TAG, "Failed to fetch Stats Data status: " + status + ": " + task.getException()); } } }); }
เคล็ดลับในการใช้ข้อมูล Player Stats
Play Stats API ช่วยให้คุณระบุผู้เล่นประเภทต่างๆ ตามพฤติกรรมการมีส่วนร่วมและการใช้จ่าย และใช้กลยุทธ์ที่เหมาะสมเพื่อปรับปรุงประสบการณ์การเล่นเกมของผู้เล่น
ตารางต่อไปนี้แสดงกลุ่มผู้เล่นตัวอย่างและกลยุทธ์การมีส่วนร่วมที่แนะนำ
| กลุ่มผู้เล่น | กลยุทธ์ความผูกพัน |
|---|---|
| ผู้เล่นที่เล่นบ่อย มีเซสชันจำนวนมาก และมีเปอร์เซ็นไทล์การใช้จ่ายที่ดี แต่ไม่ได้เล่นมาสัปดาห์ที่แล้วหรือนานกว่านั้น |
|
| ผู้เล่นที่มีส่วนร่วมสูงแต่มีเปอร์เซ็นไทล์การใช้จ่ายต่ำ |
|
| ผู้เล่นที่ใช้จ่ายสูงซึ่งแสดงให้เห็นว่าใช้จ่ายสูงสุดแล้วและเริ่ม เล่นบ่อยน้อยลง |
|
| ผู้เล่นที่มีความน่าจะเป็นที่จะใช้จ่ายสูงมากหรือต่ำมาก |
|