چندمحصول برای محصولات یک‌باره

این سند نحوه ادغام کردن برنامه با ویژگی چندمحصولی «کتابخانه خدمات صورت‌حساب Play» ‏ (PBL) را شرح می‌دهد.

ویژگی چندمحصول برای محصول یک‌باره (OTP) به شما امکان می‌دهد چند محصول یک‌باره را در یک واحد ترکیب کنید. این محصولات دسته‌ای را می‌توان به‌صورت جمعی خریداری، صورت‌حساب، و مدیریت کرد. همچنین می‌توانید برای این رمزهای یک‌بارمصرف دسته‌بندی‌شده پیشنهادهای تخفیف ایجاد کنید تا خرید محصول را تشویق کنید.

ملاحظات

هنگام ایجاد دسته‌های محصول یک‌باره، ملاحظات زیر را درنظر داشته باشید:

  • نمی‌توانید در بسته محصول یک‌باره اشتراک داشته باشید.
  • نمی‌توانید ترکیبی از محتوای دیجیتال و سرویس را در یک دسته محصول یک‌باره داشته باشید.
  • محصولات یک‌باره دسته‌ای باید برای بارگیری فوری دردسترس باشند. برای مثال، بسته محصول یک‌باره نمی‌تواند خرید پیش‌سفارش داشته باشد زیرا برای بارگیری فوری دردسترس نیست.
  • محصول چندگانه برای محصولات یک‌باره از گزینه خرید اجاره‌ای پشتیبانی نمی‌کند.

ادغام با «کتابخانه خدمات صورت‌حساب Play»

این بخش فرض می‌کند که شما با مراحل اولیه یکپارچه‌سازی PBL آشنا هستید، مانند، افزودن وابستگی PBL به برنامه خود، مقداردهی اولیه BillingClient، و اتصال به Google Play. این بخش بر جنبه‌های یکپارچه‌سازی PBL که مختص خریدهای چندمحصولی با رمز یک‌بارمصرف است تمرکز دارد.

راه‌اندازی جریان خرید

برای راه‌اندازی جریان خرید برای محصولات یک‌باره چندمحصولی، مراحل زیر را انجام دهید:

  1. بااستفاده از روش QueryProductDetailsParams.Builder.setProductList، فهرست محصولی ایجاد کنید که همه محصولات یک‌باره را داشته باشد.

  2. بااستفاده از روش BillingClient.queryProductDetailsAsync، همه محصولات یک‌باره‌تان را واکشی کنید.

    نمونه زیر نحوه واکشی کردن همه محصولات یک‌باره شما را نشان می‌دهد:

    جاوا

    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()) {
                 // …
          }
        }
      }
    });
  3. شیء ProductDetails را برای هر محصول یک‌باره تنظیم کنید.

  4. جزئیات محصول یک‌باره را در روش BillingFlowParams.Builder.setProductDetailsParamsList مشخص کنید. کلاس BillingFlowParams جزئیات جریان خرید را مشخص می‌کند.

    نمونه زیر نحوه راه‌اندازی جریان صورت‌حساب برای خرید OTP چندمحصولی را نشان می‌دهد:

    جاوا

    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» در برنامه توضیح داده شده است. تنها تفاوت این است که برای خریدهای OTP چندمحصولی باید برای همه محصولات حق مالکیت اعطا کنید، نه فقط یک محصول، تا کاربر بتواند با یک خرید، چندین حق مالکیت دریافت کند. خرید OTP چندمحصولی چندین مورد را برمی‌گرداند که می‌توان بااستفاده از Purchase.getProducts() در «کتابخانه خدمات صورت‌حساب Google Play» و سپس فهرست lineItems در purchases.products.get از Google Play Developer API بازیابی کرد.

اعلان‌های بی‌درنگ برنامه‌نویس

فیلد sku در RTDN برای خریدهای چندمحصولی با رمز یک‌بارمصرف ارائه نشده است. خرید با رمز یک‌بارمصرف چندمحصولی نشان‌دهنده بیش‌از یک محصول است. بنابراین، می‌توانید از Play Developer APIs برای دریافت داده‌های خرید استفاده کنید و همه محصولات موجود در آن را ببینید.

بازپرداخت

در خرید OTP چندمحصولی، کاربران نمی‌توانند برای محصولات جداگانه درخواست استرداد مبلغ کنند و شما نیز نمی‌توانید برای محصولات جداگانه استرداد مبلغ صادر کنید. بااین‌حال، درخواست و صدور استرداد مبلغ برای کل خرید چندمحصولی OTP مجاز است. اگر خرید چندمحصولی با رمز یک‌بارمصرف را برای کاربری لغو می‌کنید، همه دارایی‌های منسوب به خرید لغو می‌شود.

گزارش مالی و تطبیق

از گزارش درآمد خالص برای تطبیق دادن خریدهای فعال چندمحصولی با یک‌بار رمز با پرداخت‌های Google و تراکنش‌های Play استفاده کنید. هر خط تراکنش مورد شناسه سفارش دارد. برای خرید چندمحصولی با رمز یک‌بارمصرف، گزارش‌های «درآمد خالص و فروش تخمینی» شامل ردیف‌های جداگانه (با شناسه سفارش یکسان) برای هر تراکنش مثل کسر هزینه، کارمزد، مالیات، و استرداد مبلغ برای هر محصول درگیر خواهد بود.

برای داشبوردهای «کنسول Play»:

  • آمار درآمد ارائه‌شده در بخش گزارش مالی کنسول براساس محصولات جداگانه تفکیک می‌شود.

  • مدیریت سفارش خریدهای چندمحصولی با رمز یک‌بارمصرف را منعکس می‌کند و فهرست‌های جزءبه‌جزء از آنچه خریداری شده است را نشان می‌دهد. از مدیریت سفارش می‌توانید خرید کاربر را لغو، باطل، یا مبلغ آن را به‌طور کامل مسترد کنید.