สถิติผู้เล่นในเกม Android

หลังจากเลิกใช้งาน API ของ Google Sign-In แล้ว เราจะนำ SDK v1 ของเกมออกในปี 2026 หลังจากเดือนกุมภาพันธ์ 2025 คุณจะเผยแพร่ เกมที่เพิ่งผสานรวมกับ SDK v1 ของ Games ใน Google Play ไม่ได้ เราขอแนะนำให้ใช้ SDK v2 ของ Games แทน
แม้ว่าเกมที่มีอยู่ซึ่งผสานรวมกับ v1 ก่อนหน้านี้จะยังทำงานได้อีก 2-3 ปี แต่เราขอแนะนำให้คุณย้ายข้อมูลไปยัง v2 ตั้งแต่เดือนมิถุนายน 2025 เป็นต้นไป
คู่มือนี้มีไว้สำหรับการใช้ SDK บริการเกมของ Play v1 ดูข้อมูล เกี่ยวกับ SDK เวอร์ชันล่าสุดได้ที่ เอกสารประกอบ v2

Player Stats API ช่วยให้คุณปรับแต่งประสบการณ์การเล่นเกมให้เหมาะกับกลุ่มผู้เล่นที่เฉพาะเจาะจงและวงจรของผู้เล่นในระยะต่างๆ ได้ คุณสามารถสร้างประสบการณ์ที่ปรับแต่งแล้ว สำหรับกลุ่มผู้เล่นแต่ละกลุ่มตามความคืบหน้า การใช้จ่าย และการมีส่วนร่วมของผู้เล่น เช่น คุณสามารถใช้ API นี้ดำเนินการเชิงรุกเพื่อ กระตุ้นให้ผู้เล่นที่ใช้งานน้อยกลับมามีส่วนร่วมกับเกมอีกครั้ง เช่น โดย แสดงและโปรโมตไอเทมใหม่ในเกมเมื่อผู้เล่นลงชื่อเข้าใช้

คู่มือนี้จะแสดงวิธีใช้ Player Stats API ในเกมโดยใช้บริการเกมของ Google Play คุณจะพบ API ได้ในแพ็กเกจ com.google.android.gms.games.stats และ com.google.android.gms.games

ก่อนเริ่มต้น

ก่อนเริ่มใช้ Player Stats API ให้ทำดังนี้

ดาวน์โหลดไคลเอ็นต์สถิติของผู้เล่น

หากต้องการเริ่มใช้ Player Stats API เกมของคุณต้องได้รับออบเจ็กต์ PlayerStatsClient ก่อน คุณทำได้โดยการเรียกใช้เมธอด Games.getPlayerStatsClient() และส่งกิจกรรมและ GoogleSignInAccount สำหรับผู้เล่นปัจจุบัน ดูวิธีดึงข้อมูลบัญชีผู้เล่นได้ที่การลงชื่อเข้าใช้ในเกม Android

ข้อมูลเบื้องต้นเกี่ยวกับสถิติผู้เล่น

คุณสามารถใช้ Player Stats API เพื่อดึงข้อมูลเกี่ยวกับกิจกรรมในเกมของผู้เล่น ประเภทข้อมูลผู้เล่นที่คุณดึงข้อมูลได้มีดังนี้

  • ระยะเวลาเซสชันเฉลี่ย: ระยะเวลาเซสชันเฉลี่ยของผู้เล่นในหน่วยนาที ระยะเวลาของเซสชันจะขึ้นอยู่กับเวลาที่ผู้เล่นลงชื่อเข้าใช้บริการเกมของ Google Play

  • จำนวนวันนับตั้งแต่เล่นครั้งล่าสุด: จำนวนวันโดยประมาณนับตั้งแต่ผู้เล่น เล่นครั้งล่าสุด

  • จำนวนการซื้อ: จำนวนการซื้อในแอปโดยประมาณสำหรับ ผู้เล่น

  • จำนวนเซสชัน: จำนวนเซสชันของผู้เล่นโดยประมาณ เซสชันจะพิจารณาจากจำนวนครั้งที่ผู้เล่นลงชื่อเข้าใช้บริการเกมของ Google Play

  • เปอร์เซ็นไทล์ของเซสชัน: ค่าประมาณของเปอร์เซ็นไทล์ของเซสชันสำหรับ ผู้เล่น ซึ่งระบุเป็นค่าทศนิยมระหว่าง 0 ถึง 1 ค่านี้จะระบุจำนวนเซสชันที่ผู้เล่นปัจจุบันเล่นเมื่อเทียบกับฐานผู้เล่นที่เหลือของเกมนี้ ตัวเลขที่สูงขึ้นแสดงว่าผู้เล่นรายนี้เล่นเซสชันมากกว่า

  • เปอร์เซ็นไทล์การใช้จ่าย: เปอร์เซ็นไทล์การใช้จ่ายโดยประมาณของผู้เล่น ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 0 ถึง 1 ค่านี้จะระบุว่าผู้เล่นปัจจุบันใช้จ่ายไปเท่าใดเมื่อเทียบกับฐานผู้เล่นที่เหลือของเกมนี้ ตัวเลขที่สูงขึ้นแสดงว่าผู้เล่นรายนี้ใช้จ่ายมากขึ้น

ระบบได้เลิกใช้งานข้อมูลผู้เล่นประเภทต่อไปนี้แล้ว และจะแสดงค่าคงที่ที่ไม่ได้ตั้งค่าเสมอ

  • ความน่าจะเป็นในการเลิกใช้งาน: การคาดการณ์ว่าผู้เล่นจะเลิกใช้งานหรือไม่ ในวันถัดไป ซึ่งระบุเป็นค่าทศนิยมระหว่าง 0 (ความน่าจะเป็นในการเลิกใช้งานต่ำ) ถึง 1 (ความน่าจะเป็นในการเลิกใช้งานสูง) การเลิกใช้งานหมายถึงการไม่มีการใช้งานเป็นเวลา 7 วัน
  • ความน่าจะเป็นในการใช้จ่าย: ความน่าจะเป็นโดยประมาณที่ผู้เล่นจะเลือกใช้จ่ายในเกมนี้ ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 0 (ความน่าจะเป็นในการใช้จ่ายต่ำ) ถึง 1 (ความน่าจะเป็นในการใช้จ่ายสูง)
  • การใช้จ่ายทั้งหมดในอีก 28 วันข้างหน้า: การใช้จ่ายทั้งหมดโดยประมาณที่คาดว่าผู้เล่นจะใช้จ่ายในเกมนี้ในช่วง 28 วันข้างหน้า
  • โอกาสในการใช้จ่ายสูง: โอกาสโดยประมาณที่ผู้เล่นจะใช้จ่ายในอีก 28 วันข้างหน้าเป็นจำนวนที่อยู่ในเปอร์เซ็นไทล์ที่ 95 หรือสูงกว่าฐานผู้เล่นของเกมนี้ ค่านี้แสดงเป็นค่าทศนิยม ระหว่าง 0 (โอกาสต่ำที่จะกลายเป็นผู้ใช้จ่ายสูง) ถึง 1 (โอกาสสูง ที่จะกลายเป็นผู้ใช้จ่ายสูง)

ดึงข้อมูลสถิติผู้เล่น

หากต้องการดึงข้อมูลสถิติของผู้เล่นสำหรับผู้เล่นที่ลงชื่อเข้าใช้อยู่ ให้ทำตามขั้นตอนต่อไปนี้

  1. เรียกใช้เมธอด PlayerStatsClient.loadPlayerStats()
  2. หากการเรียกใช้สำเร็จ บริการเกมของ Google Play จะแสดงออบเจ็กต์ Task ซึ่งจะโหลดออบเจ็กต์ PlayerStats แบบอะซิงโครนัส ใช้วิธีการของออบเจ็กต์นี้เพื่อดึงข้อมูลเกี่ยวกับ กิจกรรมของผู้เล่นที่ลงชื่อเข้าใช้ในแอป

ตัวอย่างเช่น

public void checkPlayerStats() {
  Games.getPlayerStatsClient(this, GoogleSignIn.getLastSignedInAccount(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());
          }
        }
      });
}

เคล็ดลับในการใช้ข้อมูลสถิติผู้เล่น

Play Stats API ช่วยให้คุณระบุผู้เล่นประเภทต่างๆ ได้อย่างง่ายดาย โดยอิงตามพฤติกรรมการมีส่วนร่วมและการใช้จ่ายของผู้เล่น และใช้กลยุทธ์ที่เหมาะสมเพื่อปรับปรุงประสบการณ์การเล่นเกมของผู้เล่น

ตารางต่อไปนี้แสดงตัวอย่างกลุ่มผู้เล่นและกลยุทธ์การมีส่วนร่วมที่แนะนำ

กลุ่มผู้เล่น กลยุทธ์การมีส่วนร่วม
ผู้เล่นที่เล่นบ่อยซึ่งมีจำนวนเซสชันสูงและเปอร์เซ็นไทล์การใช้จ่ายที่ดี แต่ไม่ได้เล่นในสัปดาห์ที่ผ่านมาหรือนานกว่านั้น
  • ส่งการแจ้งเตือนเกี่ยวกับส่วนลดหรือโบนัสพิเศษ ที่พร้อมให้รับเมื่อผู้เล่นกลับมาเล่น
  • แสดงข้อความต้อนรับกลับที่รับทราบถึงความสำเร็จอันน่าประทับใจ และมอบป้ายที่ออกแบบมาเพื่อกระตุ้นให้กลับมาเล่นอีก ครั้ง
ผู้เล่นที่มีส่วนร่วมสูงในเปอร์เซ็นไทล์การใช้จ่ายต่ำ
  • ปรับแต่งโบนัสเพื่อกระตุ้นให้ผู้เล่นเชิญเพื่อน มาติดตั้งและเข้าร่วมเกมของคุณ แนวทางนี้สร้างขึ้นจากความสนุกที่ผู้เล่นแสดงให้เห็นในเกมเพื่อดึงดูดผู้เล่นใหม่
ผู้เล่นที่ใช้จ่ายสูงซึ่งแสดงสัญญาณว่ามีประสิทธิภาพสูงสุดและเริ่ม เล่นน้อยลง
  • ปรับแต่งโบนัสเพื่อกระตุ้นความสนใจ เช่น โดย เสนอเครื่องมือ อาวุธ หรือ ส่วนลดที่มีมูลค่าสูงและมีระยะเวลาสั้นๆ
  • ครั้งถัดไปที่ผู้เล่นลงชื่อเข้าใช้ ให้แสดงวิดีโอที่นำผู้เล่น ไปยังฟีเจอร์ชุมชน เช่น การโจมตีของแคลน ซึ่งจะ กระตุ้นให้เกิดการมีส่วนร่วมที่บ่อยขึ้นและนานขึ้น
ผู้เล่นที่มีโอกาสใช้จ่ายสูงมากหรือต่ำมาก
  • ไม่มีแนวโน้มจะใช้จ่าย: ให้ตัวเลือกในการดูวิดีโอโฆษณา แสดงรายการที่มีราคาต่ำกว่าสำหรับการซื้อ
  • มีแนวโน้มที่จะใช้จ่าย: นำผู้เล่นไปยังร้านค้าในเกมตั้งแต่เนิ่นๆ และมอบโปรโมชันพิเศษเพื่อกระตุ้นให้ผู้เล่นซื้อ