এই ডকুমেন্টে বর্ণনা করা হয়েছে কীভাবে গুগল প্লে বিলিং লাইব্রেরি (পিবিএল) ৬ বা ৭ থেকে পিবিএল ৮-এ মাইগ্রেট করতে হয় এবং কীভাবে নতুন ঐচ্ছিক সাবস্ক্রিপশন সুবিধাগুলোর সাথে এটিকে ইন্টিগ্রেট করতে হয়।
সংস্করণ ৮.০.০-এর পরিবর্তনসমূহের পূর্ণাঙ্গ তালিকার জন্য রিলিজ নোট দেখুন।
সংক্ষিপ্ত বিবরণ
PBL 8-এ বিদ্যমান API-গুলোর উন্নতির পাশাপাশি পূর্বে বাতিল ঘোষিত API-গুলো অপসারণ করা হয়েছে। লাইব্রেরির এই সংস্করণে এককালীন প্রোডাক্টের জন্য নতুন API-ও অন্তর্ভুক্ত করা হয়েছে।
PBL আপগ্রেডের জন্য পশ্চাৎ সামঞ্জস্যতা
PBL 8-এ মাইগ্রেট করার জন্য, আপনাকে আপনার অ্যাপ থেকে বিদ্যমান কিছু API রেফারেন্স আপডেট বা অপসারণ করতে হবে, যেমনটি রিলিজ নোটে এবং পরবর্তীতে এই মাইগ্রেশন গাইডে বর্ণনা করা হয়েছে।
PBL 6 বা 7 থেকে PBL 8-এ আপগ্রেড করুন
PBL 6 বা 7 থেকে PBL 8-এ আপগ্রেড করতে, নিম্নলিখিত ধাপগুলো অনুসরণ করুন:
আপনার অ্যাপের
build.gradleফাইলে প্লে বিলিং লাইব্রেরি ডিপেন্ডেন্সির ভার্সন আপডেট করুন।dependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }(শুধুমাত্র পিবিএল ৬ থেকে পিবিএল ৮-এ আপগ্রেডের জন্য প্রযোজ্য)। আপনার অ্যাপে সাবস্ক্রিপশন সম্পর্কিত এপিআই পরিবর্তনগুলো পরিচালনা করুন।
নিম্নলিখিত সারণিতে PBL 8 থেকে বাদ দেওয়া সাবস্ক্রিপশন-সম্পর্কিত API-গুলো এবং আপনার অ্যাপে অবশ্যই ব্যবহার করতে হবে এমন সংশ্লিষ্ট বিকল্প API-এর তালিকা দেওয়া হলো।
পূর্বে বাতিলকৃত এপিআইটি পিবিএল ৮ থেকে সরিয়ে ফেলা হয়েছে। ব্যবহারের জন্য বিকল্প এপিআই setOldSkuPurchaseToken পুরানো ক্রয় টোকেন সেট করুন setReplaceProrationMode সাবস্ক্রিপশন প্রতিস্থাপন মোড সেট করুন setReplaceSkusProrationMode সাবস্ক্রিপশন প্রতিস্থাপন মোড সেট করুন queryProductDetailsAsyncমেথডটির ইমপ্লিমেন্টেশন আপডেট করুন।ProductDetailsResponseListener.onProductDetailsResponseমেথডটির সিগনেচারে একটি পরিবর্তন এসেছে, যার জন্য আপনার অ্যাপেরqueryProductDetailsAsyncইমপ্লিমেন্টেশনে পরিবর্তন আনা প্রয়োজন। আরও তথ্যের জন্য, কেনার জন্য উপলব্ধ পণ্যগুলো দেখুন।অপসারিত এপিআইগুলো পরিচালনা করুন।
আপগ্রেড করুন
PBL 8 নিম্নলিখিত সারণিতে তালিকাভুক্ত API-গুলো আর সমর্থন করে না। যদি আপনার ইমপ্লিমেন্টেশনে এই অপসারিত API-গুলোর কোনোটি ব্যবহৃত হয়, তবে সেগুলোর সংশ্লিষ্ট বিকল্প API-গুলোর জন্য সারণিটি দেখুন।
পূর্বে বাতিলকৃত এপিআইটি পিবিএল ৮ থেকে সরিয়ে ফেলা হয়েছে। ব্যবহারের জন্য বিকল্প এপিআই queryPurchaseHistoryAsync API ক্রয়ের ইতিহাস অনুসন্ধান করুন querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (প্যারামিটার ছাড়া এপিআই) enablePendingPurchases(PendingPurchaseParams params)
উল্লেখ্য যে, অপ্রচলিত enablePendingPurchases() ফাংশনটিenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())সাথে কার্যকারিতার দিক থেকে সমতুল্য।queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling অল্টারনেটিভ বিলিং লিসেনার ব্যবহারকারীর পছন্দ বিলিং লিসেনার বিকল্প পছন্দের বিবরণ ব্যবহারকারীর পছন্দের বিবরণ আপগ্রেড করুন
নিচের সারণিতে PBL 8 থেকে বাদ দেওয়া API-গুলো এবং সেগুলোর বিকল্প API-গুলোর তালিকা দেওয়া হলো, যা আপনাকে আপনার অ্যাপে অবশ্যই ব্যবহার করতে হবে।
পূর্বে বাতিলকৃত এপিআইটি পিবিএল ৮ থেকে সরিয়ে ফেলা হয়েছে। ব্যবহারের জন্য বিকল্প এপিআই queryPurchaseHistoryAsync API ক্রয়ের ইতিহাস অনুসন্ধান করুন querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (প্যারামিটার ছাড়া এপিআই) enablePendingPurchases(PendingPurchaseParams params)
উল্লেখ্য যে, অপ্রচলিত enablePendingPurchases() ফাংশনটিenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())সাথে কার্যকারিতার দিক থেকে সমতুল্য।queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (সুপারিশকৃত) স্বয়ংক্রিয় পরিষেবা পুনঃসংযোগ সক্ষম করুন।
পরিষেবা সংযোগ বিচ্ছিন্ন থাকা অবস্থায় কোনো এপিআই কল করা হলে, প্লে বিলিং লাইব্রেরি স্বয়ংক্রিয়ভাবে পরিষেবা সংযোগ পুনঃস্থাপন করার চেষ্টা করতে পারে। আরও তথ্যের জন্য, ‘স্বয়ংক্রিয় পরিষেবা পুনঃসংযোগ সক্ষম করুন ’ দেখুন।
ঐচ্ছিক পরিবর্তন।
প্রিপেইড প্ল্যানের জন্য অপেক্ষমান কেনাকাটা সমর্থন করুন। আরও তথ্যের জন্য, ‘সাবস্ক্রিপশন এবং অপেক্ষমান লেনদেন পরিচালনা’ দেখুন।
ভার্চুয়াল কিস্তি সাবস্ক্রিপশন। আরও তথ্যের জন্য, কিস্তি সাবস্ক্রিপশন ইন্টিগ্রেশন দেখুন।