বিকাশকারী পেলোড

ডেভেলপার পেলোড ঐতিহাসিকভাবে বিভিন্ন উদ্দেশ্যে ব্যবহার করা হয়েছে, যার মধ্যে রয়েছে জালিয়াতি প্রতিরোধ এবং সঠিক ব্যবহারকারীর কাছে ক্রয়কে দায়ী করা। Google Play বিলিং লাইব্রেরির 2.2 এবং উচ্চতর সংস্করণের সাথে, পূর্বে বিকাশকারী পেলোডের উপর নির্ভর করে এমন উদ্দেশ্যমূলক ব্যবহারের ক্ষেত্রে এখন লাইব্রেরির অন্যান্য অংশে সম্পূর্ণরূপে সমর্থিত।

এই সমর্থনের জায়গায়, আমরা Google Play বিলিং লাইব্রেরির সংস্করণ 2.2 থেকে শুরু করে ডেভেলপার পেলোডকে অবমূল্যায়ন করেছি। বিকাশকারী পেলোডের সাথে যুক্ত পদ্ধতিগুলি সংস্করণ 2.2-এ অবচয় করা হয়েছে এবং সংস্করণ 3.0-এ সরানো হয়েছে৷ মনে রাখবেন যে আপনার অ্যাপটি লাইব্রেরির আগের সংস্করণ বা AIDL ব্যবহার করে কেনাকাটার জন্য ডেভেলপার পেলোড পুনরুদ্ধার করা চালিয়ে যেতে পারে।

পরিবর্তনের বিস্তারিত তালিকার জন্য, Google Play বিলিং লাইব্রেরি 2.2 রিলিজ নোট দেখুন। এবং Google Play বিলিং লাইব্রেরি 3.0 রিলিজ নোট

ক্রয় যাচাইকরণ

কেনাকাটাগুলি খাঁটি এবং জাল বা রিপ্লে করা নয় তা নিশ্চিত করার জন্য, Google কেনাকাটা সত্য কিনা যাচাই করার জন্য Google Play ডেভেলপার API-এর সাথে কেনাকাটার টোকেন ( Purchase বস্তুতে getPurchaseToken() পদ্ধতি থেকে প্রাপ্ত) ব্যবহার করার পরামর্শ দেয়। আরও তথ্যের জন্য, জালিয়াতি এবং অপব্যবহারের বিরুদ্ধে লড়াই দেখুন।

ক্রয় অ্যাট্রিবিউশন

অনেক অ্যাপ্লিকেশান, বিশেষ করে গেমগুলিকে নিশ্চিত করতে হবে যে একটি ক্রয় সঠিকভাবে ইন-গেম চরিত্র/অবতার বা ইন-অ্যাপ ব্যবহারকারী প্রোফাইলে দায়ী করা হয়েছে যেটি কেনাকাটা শুরু করেছে। Google Play বিলিং লাইব্রেরি 2.2 দিয়ে শুরু করে, আপনার অ্যাপ ক্রয় ডায়ালগ চালু করার সময় অস্পষ্ট অ্যাকাউন্ট এবং প্রোফাইল শনাক্তকারী Google-এ পাঠাতে পারে এবং কেনাকাটা পুনরুদ্ধার করার সময় সেগুলি ফেরত দিতে পারে।

BillingFlowParamssetObfuscatedAccountId() এবং setObfuscatedProfileId() প্যারামিটারগুলি ব্যবহার করুন এবং Purchase বস্তুতে getAccountIdentifiers() পদ্ধতি ব্যবহার করে সেগুলি পুনরুদ্ধার করুন৷

একটি ক্রয়ের সাথে মেটাডেটা সংযুক্ত করুন

Google আপনার রক্ষণাবেক্ষণ করা নিরাপদ ব্যাকএন্ড সার্ভারে কেনাকাটার বিষয়ে মেটাডেটা সংরক্ষণ করার পরামর্শ দেয়। এই ক্রয় মেটাডেটাটি Purchase বস্তুতে getPurchaseToken পদ্ধতি ব্যবহার করে প্রাপ্ত ক্রয় টোকেনের সাথে যুক্ত হওয়া উচিত। একটি সফল ক্রয়ের পরে যখন আপনার PurchasesUpdatedListener কে কল করা হয় তখন আপনার ব্যাকএন্ডে ক্রয়ের টোকেন এবং মেটাডেটা পাস করে এই ডেটাটি বজায় রাখা যেতে পারে।

ক্রয় প্রবাহ বাধার ক্ষেত্রে মেটাডেটা যুক্ত আছে তা নিশ্চিত করার জন্য, Google ক্রয় ডায়ালগ চালু করার আগে আপনার ব্যাকএন্ড সার্ভারে মেটাডেটা সংরক্ষণ করার এবং এটিকে আপনার ব্যবহারকারীর অ্যাকাউন্ট আইডি, SKU কেনা হচ্ছে এবং বর্তমান টাইমস্ট্যাম্পের সাথে যুক্ত করার পরামর্শ দেয়৷

আপনার PurchasesUpdatedListener কল করার আগে যদি ক্রয় প্রবাহ বাধাগ্রস্ত হয়, আপনার অ্যাপটি আবার চালু হলে এবং BillingClient.queryPurchasesAsync() কে কল করলে আপনার অ্যাপ ক্রয়টি আবিষ্কার করবে। তারপরে আপনি মেটাডেটা দেখতে, ক্রয় টোকেনের সাথে মেটাডেটা সংযুক্ত করতে এবং ক্রয় প্রক্রিয়া চালিয়ে যেতে আপনার ব্যাকএন্ড সার্ভারে Purchase বস্তুর getPurchaseTime() , getSku() , এবং getPurchaseToken() পদ্ধতিগুলি থেকে পুনরুদ্ধার করা মানগুলি পাঠাতে পারেন৷ মনে রাখবেন যে আপনি প্রাথমিকভাবে যে টাইমস্ট্যাম্পটি সংরক্ষণ করেছেন তা Purchase বস্তুর getPurchaseTime() এর মানের সাথে ঠিক মেলে না, তাই আপনাকে তাদের একটি আনুমানিক উপায়ে তুলনা করতে হবে। উদাহরণস্বরূপ, মানগুলি একে অপরের একটি নির্দিষ্ট সময়ের মধ্যে আছে কিনা তা আপনি পরীক্ষা করতে পারেন।