เอกสารนี้อธิบายวิธีผสานรวมแอปกับฟีเจอร์หลายผลิตภัณฑ์ของ Play Billing Library (PBL)
ฟีเจอร์ผลิตภัณฑ์หลายรายการสำหรับผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียว (OTP) ช่วยให้คุณรวมผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวหลายรายการเป็นหน่วยเดียวได้ จากนั้นคุณจะซื้อ เรียกเก็บเงิน และจัดการผลิตภัณฑ์ที่รวมแพ็กเกจเหล่านี้ได้พร้อมกัน นอกจากนี้ คุณยังสร้างข้อเสนอส่วนลดสำหรับ OTP ที่แพ็กเกจเหล่านี้เพื่อกระตุ้นการซื้อผลิตภัณฑ์ได้ด้วย
ข้อควรพิจารณา
เมื่อสร้างแพ็กเกจผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียว โปรดคำนึงถึงข้อควรพิจารณาต่อไปนี้
- คุณไม่สามารถรวมการสมัครใช้บริการไว้ในแพ็กเกจไอเทมแบบเรียกเก็บเงินครั้งเดียว
- คุณไม่สามารถรวมเนื้อหาดิจิทัลและบริการไว้ในแพ็กเกจผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวเดียวกันได้
- ไอเทมแบบเรียกเก็บเงินครั้งเดียวที่รวมแพ็กเกจต้องพร้อมให้ดาวน์โหลดทันที เช่น แพ็กเกจผลิตภัณฑ์แบบครั้งเดียวจะไม่มีการซื้อแบบสั่งจองล่วงหน้าเนื่องจาก ไม่พร้อมให้ดาวน์โหลดทันที
- การซื้อหลายรายการสำหรับไอเทมแบบเรียกเก็บเงินครั้งเดียวยังไม่รองรับตัวเลือกการซื้อแบบเช่า
ผสานรวมกับ Play Billing Library
ส่วนนี้ถือว่าคุณคุ้นเคยกับขั้นตอนการผสานรวม PBL เริ่มต้น เช่น การเพิ่มการอ้างอิง PBL ลงในแอป การเริ่มต้น BillingClient และการเชื่อมต่อกับ Google Play ส่วนนี้จะมุ่งเน้นที่แง่มุมของการผสานรวม PBL ที่เกี่ยวข้องกับการซื้อ OTP แบบหลายผลิตภัณฑ์โดยเฉพาะ
เปิดตัวขั้นตอนการซื้อ
หากต้องการเปิดตัวขั้นตอนการซื้อสำหรับผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวที่มีหลายผลิตภัณฑ์ ให้ทำตามขั้นตอนต่อไปนี้
สร้างรายการผลิตภัณฑ์ที่มีผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวทั้งหมดโดยใช้วิธี QueryProductDetailsParams.Builder.setProductList
ดึงข้อมูลผลิตภัณฑ์แบบเรียกเก็บเงินครั้งเดียวทั้งหมดโดยใช้วิธี
BillingClient.queryProductDetailsAsync
ตัวอย่างต่อไปนี้แสดงวิธีดึงข้อมูลผลิตภัณฑ์แบบครั้งเดียวทั้งหมด
Java
billingClient.queryProductDetailsAsync( queryProductDetailsParams, new ProductDetailsResponseListener() { public void onProductDetailsResponse( BillingResult billingResult, QueryProductDetailsResult productDetailsResult) { // check billingResult // … // process productDetailsList returned by QueryProductDetailsResult ImmutableList
productDetailsList = productDetailsResult.getProductDetailsList(); for (ProductDetails productDetails : productDetailsList) { for (OneTimePurchaseOfferDetails oneTimePurchaseOfferDetails : productDetails.getOneTimePurchaseOfferDetailsList()) { // … } } } }); ตั้งค่าออบเจ็กต์
ProductDetails
สำหรับผลิตภัณฑ์แบบครั้งเดียวแต่ละรายการระบุรายละเอียดไอเทมแบบเรียกเก็บเงินครั้งเดียวในเมธอด
BillingFlowParams.Builder.setProductDetailsParamsList
คลาสBillingFlowParams
จะระบุรายละเอียดของขั้นตอนการซื้อตัวอย่างต่อไปนี้แสดงวิธีเปิดตัวขั้นตอนการเรียกเก็บเงินสำหรับการซื้อ OTP แบบหลายผลิตภัณฑ์
Java
BillingClient billingClient = BillingClient.newBuilder() // set other options .build(); // ProductDetails obtained from queryProductDetailsAsync(). ProductDetails productDetails1 = ...; ProductDetails productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
ประมวลผลการซื้อ
การประมวลผลการซื้อ OTP แบบหลายผลิตภัณฑ์จะเหมือนกับการซื้อแบบไอเทมเดียวที่มีอยู่ตามที่อธิบายไว้ในผสานรวม Google Play Billing Library เข้ากับแอป
ความแตกต่างเพียงอย่างเดียวคือคุณต้องให้สิทธิ์สำหรับผลิตภัณฑ์ทั้งหมด
แทนที่จะให้สิทธิ์เพียงรายการเดียวสำหรับการซื้อ OTP แบบหลายผลิตภัณฑ์ เพื่อให้
ผู้ใช้รับสิทธิ์หลายรายการได้ด้วยการซื้อครั้งเดียว
การซื้อ OTP แบบหลายผลิตภัณฑ์จะแสดงผลหลายรายการซึ่งสามารถเรียกข้อมูลได้
โดยใช้ Purchase.getProducts()
ใน Google
Play Billing Library จากนั้นใช้รายการ lineItems
ใน
purchases.products.get
ของ Google Play Developer API
การแจ้งเตือนแบบเรียลไทม์สำหรับนักพัฒนาซอฟต์แวร์
ไม่มีsku
ใน RTDN สำหรับการซื้อ OTP แบบหลายผลิตภัณฑ์
การซื้อ OTP แบบหลายผลิตภัณฑ์แสดงถึงผลิตภัณฑ์มากกว่า 1 รายการ ดังนั้น คุณ
จึงใช้ Play Developer API เพื่อรับข้อมูลการซื้อ
และดูรายการทั้งหมดในข้อมูลการซื้อได้
การคืนเงิน
ในการซื้อ OTP แบบหลายผลิตภัณฑ์ ผู้ใช้จะขอเงินคืนสำหรับแต่ละรายการไม่ได้ และคุณก็ไม่สามารถออกเงินคืนสำหรับแต่ละรายการได้เช่นกัน อย่างไรก็ตาม คุณขอและออกเงินคืนสำหรับการซื้อ OTP แบบหลายผลิตภัณฑ์ทั้งหมด ได้ หากคุณยกเลิกการซื้อ OTP แบบหลายผลิตภัณฑ์สำหรับผู้ใช้ ระบบจะยกเลิกสิทธิ์ทั้งหมดที่เชื่อมโยงกับการซื้อนั้น
การรายงานทางการเงินและการปรับยอด
ใช้รายงานรายได้เพื่อกระทบยอดการซื้อ OTP แบบหลายผลิตภัณฑ์ที่ใช้งานอยู่กับค่าตอบแทนและธุรกรรมของ Google ใน Play รายการบรรทัดธุรกรรม แต่ละรายการจะมีรหัสคำสั่งซื้อ สำหรับการซื้อ OTP ที่มีหลายผลิตภัณฑ์ รายงานรายได้และการขายโดยประมาณจะมีแถวแยกกัน (มีรหัสคำสั่งซื้อเดียวกัน) สำหรับธุรกรรมแต่ละรายการ เช่น การเรียกเก็บเงิน ค่าธรรมเนียม ภาษี และการคืนเงิน สำหรับแต่ละรายการที่เกี่ยวข้อง
สำหรับแดชบอร์ดใน Play Console
สถิติรายได้ที่แสดงในส่วนการรายงานทางการเงินของ คอนโซลจะแบ่งตามผลิตภัณฑ์แต่ละรายการ
การจัดการคำสั่งซื้อจะแสดงการซื้อ OTP แบบหลายผลิตภัณฑ์ และแสดง รายการแบบละเอียดของสิ่งที่ซื้อ จากการจัดการคำสั่งซื้อ คุณอาจ เพิกถอน ยกเลิก หรือคืนเงินเต็มจำนวนสำหรับการซื้อของผู้ใช้