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

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

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

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

ก่อนเริ่มใช้ API สถิติผู้เล่น ให้ทำดังนี้

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

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

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

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

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

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

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

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

  • เปอร์เซ็นต์ไทล์ของเซสชัน: ค่าประมาณของเปอร์เซ็นต์ไทล์ของเซสชันสำหรับผู้เล่น ซึ่งแสดงเป็นค่าทศนิยมระหว่าง 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() {
  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 ช่วยให้คุณระบุผู้เล่นประเภทต่างๆ ได้อย่างง่ายดายตามพฤติกรรมการมีส่วนร่วมและการใช้จ่ายของผู้เล่น รวมถึงใช้กลยุทธ์ที่เหมาะสมเพื่อปรับปรุงประสบการณ์การเล่นเกมของผู้เล่น

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

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