এককালীন পণ্যের জন্য বহু-পণ্য

এই ডকুমেন্টে বর্ণনা করা হয়েছে, কীভাবে আপনি প্লে বিলিং লাইব্রেরি (PBL)-এর মাল্টি-প্রোডাক্ট ফিচারের সাথে আপনার অ্যাপকে ইন্টিগ্রেট করতে পারেন।

ওয়ান-টাইম প্রোডাক্ট (OTP)-এর জন্য মাল্টি-প্রোডাক্ট ফিচারটি আপনাকে একাধিক ওয়ান-টাইম প্রোডাক্টকে একটি একক ইউনিটে একত্রিত করার সুযোগ দেয়। এরপর এই বান্ডেল করা প্রোডাক্টগুলো একত্রে কেনা, বিল করা এবং পরিচালনা করা যায়। প্রোডাক্ট ক্রয়ে উৎসাহিত করার জন্য আপনি এই বান্ডেল করা OTP-গুলোর জন্য ডিসকাউন্ট অফারও তৈরি করতে পারেন।

বিবেচ্য বিষয়সমূহ

এককালীন প্রোডাক্ট বান্ডেল তৈরি করার সময় নিম্নলিখিত বিষয়গুলো মনে রাখবেন:

  • এককালীন প্রোডাক্ট বান্ডেলে সাবস্ক্রিপশন রাখা যায় না।
  • একই এককালীন প্রোডাক্ট বান্ডেলে ডিজিটাল কন্টেন্ট এবং পরিষেবা একসাথে রাখা যায় না।
  • বান্ডেল করা এককালীন পণ্যগুলো অবশ্যই তাৎক্ষণিক ডাউনলোডের জন্য উপলব্ধ থাকতে হবে। উদাহরণস্বরূপ, একটি এককালীন পণ্যের বান্ডেল প্রি-অর্ডার করা যাবে না, কারণ এটি তাৎক্ষণিক ডাউনলোডের জন্য উপলব্ধ নয়।
  • এককালীন পণ্যের জন্য মাল্টি-প্রোডাক্ট রেন্ট পারচেজ অপশন সমর্থন করে না।

প্লে বিলিং লাইব্রেরির সাথে একীভূত করুন

এই বিভাগে ধরে নেওয়া হচ্ছে যে আপনি পিবিএল ইন্টিগ্রেশনের প্রাথমিক ধাপগুলির সাথে পরিচিত, যেমন— আপনার অ্যাপে পিবিএল ডিপেন্ডেন্সি যোগ করা , BillingClient ইনিশিয়ালাইজ করা এবং Google Play-এর সাথে সংযোগ স্থাপন করা । এই বিভাগটি পিবিএল ইন্টিগ্রেশনের সেই দিকগুলির উপর আলোকপাত করে যা বিশেষভাবে একাধিক পণ্যের ওটিপি ক্রয়ের ক্ষেত্রে প্রযোজ্য।

একটি ক্রয় প্রবাহ চালু করুন

একাধিক এককালীন পণ্যের জন্য ক্রয় প্রক্রিয়া চালু করতে, নিম্নলিখিত ধাপগুলো অনুসরণ করুন:

  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 ক্রয় প্রক্রিয়া করা হয়। একমাত্র পার্থক্য হলো, একাধিক-পণ্য OTP ক্রয়ের ক্ষেত্রে আপনাকে শুধুমাত্র একটির পরিবর্তে সমস্ত পণ্যের জন্য এনটাইটেলমেন্ট মঞ্জুর করতে হবে, যাতে ব্যবহারকারী একটি একক ক্রয়ের মাধ্যমে একাধিক এনটাইটেলমেন্ট পেতে পারেন। একটি একাধিক-পণ্য OTP ক্রয় একাধিক আইটেম ফেরত দেয়, যা গুগল প্লে বিলিং লাইব্রেরিতে Purchase.getProducts() ব্যবহার করে এবং তারপর গুগল প্লে ডেভেলপার এপিআই- এর purchases.products.get এর lineItems তালিকা থেকে পুনরুদ্ধার করা যেতে পারে।

রিয়েল-টাইম ডেভেলপার বিজ্ঞপ্তি

একাধিক পণ্যের OTP ক্রয়ের ক্ষেত্রে RTDN-sku ফিল্ডটি দেওয়া থাকে না। একাধিক পণ্যের OTP ক্রয় বলতে একাধিক পণ্যকে বোঝায়। তাই, আপনি ক্রয়ের ডেটা পেতে এবং এর অন্তর্ভুক্ত সমস্ত আইটেম দেখতে প্লে ডেভেলপার API ব্যবহার করতে পারেন।

ফেরত

একাধিক পণ্য একসাথে কেনার ক্ষেত্রে, ব্যবহারকারীরা আলাদা আলাদা পণ্যের জন্য রিফান্ডের অনুরোধ করতে পারবেন না এবং আপনিও আলাদা আলাদা পণ্যের জন্য রিফান্ড দিতে পারবেন না। তবে, সম্পূর্ণ একাধিক পণ্য একসাথে কেনার ক্ষেত্রে রিফান্ডের অনুরোধ করা এবং তা দেওয়া অনুমোদিত। আপনি যদি কোনো ব্যবহারকারীর জন্য একাধিক পণ্য একসাথে কেনা বাতিল করেন, তবে সেই কেনাকাটার সাথে সম্পর্কিত সমস্ত সুবিধা বাতিল হয়ে যাবে।

আর্থিক প্রতিবেদন এবং সমন্বয়

আপনার সক্রিয় মাল্টি-প্রোডাক্ট OTP কেনাকাটাগুলোকে Google Payoffs এবং Play-এর লেনদেনের সাথে মিলিয়ে নিতে আর্নিংস রিপোর্ট ব্যবহার করুন। প্রতিটি লেনদেন লাইন আইটেমের একটি অর্ডার আইডি থাকে। একটি মাল্টি-প্রোডাক্ট OTP কেনাকাটার ক্ষেত্রে, আর্নিংস এবং আনুমানিক বিক্রয় রিপোর্টে সংশ্লিষ্ট প্রতিটি আইটেমের জন্য চার্জ, ফি, ​​ট্যাক্স এবং রিফান্ডের মতো প্রতিটি লেনদেনের জন্য আলাদা সারি (একই অর্ডার আইডি সহ) অন্তর্ভুক্ত থাকবে।

প্লে কনসোলের ড্যাশবোর্ডগুলির জন্য:

  • কনসোলের আর্থিক প্রতিবেদন বিভাগে উপস্থাপিত রাজস্ব পরিসংখ্যানগুলো প্রতিটি পণ্য অনুযায়ী আলাদাভাবে বিভক্ত করা হয়।

  • অর্ডার ম্যানেজমেন্ট একাধিক পণ্যের ওটিপি ক্রয় প্রতিফলিত করে এবং কী কী কেনা হয়েছে তার বিস্তারিত তালিকা দেখায়। অর্ডার ম্যানেজমেন্ট থেকে, আপনি কোনো ব্যবহারকারীর ক্রয় প্রত্যাহার, বাতিল বা সম্পূর্ণ অর্থ ফেরত দিতে পারেন।