สถิติผู้เล่นสำหรับเกม Android

คู่มือนี้จะแสดงวิธีใช้ Player Stats API สำหรับบริการ Google Play Games คุณสามารถใช้ Player Stats API เพื่อดึงข้อมูลเกี่ยวกับกิจกรรมในเกมของผู้เล่น

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

API จะอยู่ในแพ็กเกจ com.google.android.gms.games.stats และ com.google.android.gms.games

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

ก่อนที่จะเริ่มใช้ Player Stats API

รับไคลเอ็นต์สถิติของผู้เล่น

หากต้องการเริ่มใช้ Player Stats API เกมของคุณจะต้องได้รับออบเจ็กต์ PlayerStatsClient ก่อน ซึ่งทำได้โดยการเรียกใช้เมธอด PlayerStatsClient.getPlayersClient() และส่งกิจกรรม

คลาส PlayerStatsClient ใช้คลาสบริการ Google Play Task เพื่อแสดงผลลัพธ์แบบไม่พร้อมกัน ดูข้อมูลเพิ่มเติมเกี่ยวกับการใช้งานเพื่อจัดการงานแบบแยกชุดได้ที่คู่มือนักพัฒนาซอฟต์แวร์ Tasks API

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

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

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

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

  • จํานวนการซื้อ: จํานวนการซื้อในแอปโดยประมาณของผู้เล่น

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

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

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

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

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

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

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

  1. เรียกใช้เมธอด PlayerStatsClient.loadPlayerStats()

  2. หากการเรียกใช้สำเร็จ บริการ Google Play Games จะแสดงผล 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());
          }
        }
      });
}

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

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

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

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