এই বিষয়টি Google Play থেকে আপনি যে ধরনের রিয়েল-টাইম ডেভেলপার বিজ্ঞপ্তিগুলি পেতে পারেন তার তালিকা এবং বর্ণনা করে৷
এনকোডিং
একটি ক্লাউড পাব/সাব বিষয়ে করা প্রতিটি প্রকাশে একটি একক বেস64-এনকোডেড ডেটা ক্ষেত্র থাকে।
{
"message": {
"attributes": {
"key": "value"
},
"data": "eyAidmVyc2lvbiI6IHN0cmluZywgInBhY2thZ2VOYW1lIjogc3RyaW5nLCAiZXZlbnRUaW1lTWlsbGlzIjogbG9uZywgIm9uZVRpbWVQcm9kdWN0Tm90aWZpY2F0aW9uIjogT25lVGltZVByb2R1Y3ROb3RpZmljYXRpb24sICJzdWJzY3JpcHRpb25Ob3RpZmljYXRpb24iOiBTdWJzY3JpcHRpb25Ob3RpZmljYXRpb24sICJ0ZXN0Tm90aWZpY2F0aW9uIjogVGVzdE5vdGlmaWNhdGlvbiB9",
"messageId": "136969346945"
},
"subscription": "projects/myproject/subscriptions/mysubscription"
}
আপনি base64-এনকোডেড ডেটা ক্ষেত্রটি ডিকোড করার পরে, DeveloperNotification
নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:
{
"version": string,
"packageName": string,
"eventTimeMillis": long,
"oneTimeProductNotification": OneTimeProductNotification,
"subscriptionNotification": SubscriptionNotification,
"voidedPurchaseNotification": VoidedPurchaseNotification,
"testNotification": TestNotification
}
এই ক্ষেত্রগুলি নিম্নলিখিত টেবিলে বর্ণনা করা হয়েছে।
সম্পত্তির নাম | মান | বর্ণনা |
সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তি সংস্করণ. প্রাথমিকভাবে, এটি "1.0"। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
প্যাকেজের নাম | স্ট্রিং | এই বিজ্ঞপ্তির সাথে সম্পর্কিত অ্যাপ্লিকেশনটির প্যাকেজের নাম (উদাহরণস্বরূপ, `com.some.thing`)। |
ইভেন্টটাইমমিলিস | দীর্ঘ | টাইমস্ট্যাম্প যখন ঘটনাটি ঘটেছে, যুগের পর থেকে মিলিসেকেন্ডে। |
সাবস্ক্রিপশন বিজ্ঞপ্তি | সদস্যতা বিজ্ঞপ্তি | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি একটি সাবস্ক্রিপশনের সাথে সম্পর্কিত, এবং এই ক্ষেত্রটিতে সদস্যতা সম্পর্কিত অতিরিক্ত তথ্য রয়েছে৷ মনে রাখবেন যে এই ক্ষেত্রটি oneTimeProductNotification, voidedPurchaseNotification, এবং testNotification-এর সাথে পারস্পরিকভাবে একচেটিয়া। |
oneTimeProduct Notification | OneTimeProduct Notification | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি এককালীন কেনাকাটার সাথে সম্পর্কিত, এবং এই ক্ষেত্রটিতে ক্রয়ের সাথে সম্পর্কিত অতিরিক্ত তথ্য রয়েছে৷ মনে রাখবেন যে এই ক্ষেত্রটি সাবস্ক্রিপশন নোটিফিকেশন, voidedPurchaseNotification, এবং testNotification সহ পারস্পরিকভাবে একচেটিয়া। |
voidedPurchase Notification | বাতিলকৃত ক্রয় বিজ্ঞপ্তি | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি একটি অকার্যকর ক্রয়ের সাথে সম্পর্কিত, এবং এই ক্ষেত্রটিতে অকার্যকর ক্রয়ের সাথে সম্পর্কিত অতিরিক্ত তথ্য রয়েছে৷ নোট করুন যে এই ক্ষেত্রটি oneTimeProductNotification, subscription Notification, এবং testNotification-এর সাথে পারস্পরিকভাবে একচেটিয়া। |
পরীক্ষার বিজ্ঞপ্তি | পরীক্ষার বিজ্ঞপ্তি | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি একটি পরীক্ষার প্রকাশের সাথে সম্পর্কিত। এগুলি শুধুমাত্র Google Play বিকাশকারী কনসোলের মাধ্যমে পাঠানো হয়৷ মনে রাখবেন যে এই ক্ষেত্রটি oneTimeProductNotification, subscription Notification, এবং voidedPurchaseNotification এর সাথে পারস্পরিকভাবে একচেটিয়া। |
সদস্যতা বিজ্ঞপ্তি
একটি SubscriptionNotification
নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
সম্পত্তির নাম | মান | বর্ণনা |
সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তি সংস্করণ. প্রাথমিকভাবে, এটি "1.0"। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
বিজ্ঞপ্তি প্রকার | int | একটি সাবস্ক্রিপশনের জন্য বিজ্ঞপ্তি প্রকারের নিম্নলিখিত মান থাকতে পারে:
|
টোকেন ক্রয় করুন | স্ট্রিং | সদস্যতা কেনার সময় ব্যবহারকারীর ডিভাইসে দেওয়া টোকেন। |
সদস্যতা আইডি | স্ট্রিং | কেনা সাবস্ক্রিপশনের পণ্য আইডি (উদাহরণস্বরূপ, "মাসিক001")। |
উদাহরণ
এখানে একটি নতুন সদস্যতা কেনার জন্য একটি বিজ্ঞপ্তির একটি উদাহরণ রয়েছে:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
OneTimeProduct Notification
একটি OneTimeProductNotification
নিম্নলিখিত ক্ষেত্রগুলি ধারণ করে:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
সম্পত্তির নাম | মান | বর্ণনা |
সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তি সংস্করণ. প্রাথমিকভাবে, এটি "1.0" হবে। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
বিজ্ঞপ্তি প্রকার | int | বিজ্ঞপ্তির ধরন। এটির নিম্নলিখিত মান থাকতে পারে:
|
টোকেন ক্রয় করুন | স্ট্রিং | কেনার সময় ব্যবহারকারীর ডিভাইসে দেওয়া টোকেন। |
sku | স্ট্রিং | কেনা এক-বারের পণ্য আইডি (উদাহরণস্বরূপ, "sword_001") |
উদাহরণ
এখানে একটি নতুন এককালীন কেনাকাটার জন্য বিজ্ঞপ্তির একটি উদাহরণ রয়েছে:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
বাতিলকৃত ক্রয় বিজ্ঞপ্তি
একটি VoidedPurchaseNotification
নিম্নলিখিত ক্ষেত্রগুলি ধারণ করে:
সম্পত্তির নাম | মান | বর্ণনা |
| | ক্রয়ের সাথে যুক্ত টোকেন যা বাতিল করা হয়েছে। যখন একটি নতুন ক্রয় ঘটে তখন এই তথ্য বিকাশকারীকে প্রদান করা হয়। |
| | লেনদেনের সাথে যুক্ত অনন্য অর্ডার আইডি যা বাতিল করা হয়েছে। একবার কেনাকাটার জন্য, এটি ক্রয়ের জন্য তৈরি হওয়া একমাত্র অর্ডার আইডি প্রতিনিধিত্ব করে। স্বয়ংক্রিয়ভাবে পুনর্নবীকরণ সাবস্ক্রিপশনের জন্য, প্রতিটি পুনর্নবীকরণ লেনদেনের জন্য একটি নতুন অর্ডার আইডি তৈরি করা হয়। |
| | একটি অকার্যকর ক্রয়ের জন্য
|
| | অকার্যকর কেনাকাটার জন্য
নোট করুন যখন একটি বহু-পরিমাণ কেনার অবশিষ্ট মোট পরিমাণ ফেরত দেওয়া হয়, তখন |
উদাহরণ
এখানে একটি নতুন অকার্যকর কেনাকাটার জন্য একটি বিজ্ঞপ্তির উদাহরণ রয়েছে:
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
VoidedPurchaseNotification গ্রাস করছে
যখন আপনার RTDN ক্লায়েন্ট একটি VoidedPurchaseNotification
পায়, নিম্নলিখিত তথ্যটি নোট করুন:
-
packageName
: এটি অ্যাপটিকে চিহ্নিত করে। -
eventTimeMillis
: এটি ডেভেলপারকে স্থিতির পরিবর্তনের সময় সম্পর্কে জানায়। -
purchaseToken
: পণ্য কেনার সময় ব্যবহারকারীর ডিভাইসে দেওয়া টোকেন। -
orderId
: এটি অকার্যকর লেনদেনের সাথে যুক্ত অর্ডার সনাক্ত করে। -
productType
: এটি আপনাকে বলে যে অকার্যকর কেনাকাটাটি অ্যাপ-মধ্যস্থ কেনাকাটা বা সদস্যতা ছিল কিনা। -
refundType
: এটি আপনাকে বলে যে রিফান্ডের ধরন যা ক্রয় বাতিল করেছে।
এনটাইটেলমেন্ট সামঞ্জস্যের জন্য আপনাকে যা করতে হবে তা হল সঠিক ক্রয় এবং অর্ডার সনাক্ত করা, তাহলে এই সময়ে আপনার প্রয়োজনীয় সমস্ত তথ্য আপনার কাছে রয়েছে। অকার্যকর কেনাকাটা সম্পর্কে অতিরিক্ত তথ্য কীভাবে পেতে হয় তা জানতে, Google Play Voided Purchases API দেখুন, যা একটি পুল মডেল যা একটি নির্দিষ্ট টাইমস্ট্যাম্পের মধ্যে অকার্যকর কেনাকাটার জন্য অতিরিক্ত ডেটা সরবরাহ করে।
আংশিকভাবে বাতিল হওয়া বহু-পরিমাণ কেনাকাটার জন্য, purchases.products
দ্বারা প্রদত্ত refundableQuantity
ক্ষেত্রের মধ্যে অবশিষ্ট সংখ্যক ক্রয়কৃত পণ্য রয়েছে যা বাতিল করা হয়নি।
পরীক্ষার বিজ্ঞপ্তি
একটি TestNotification
নিম্নলিখিত ক্ষেত্রগুলি রয়েছে:
{
"version": string
}
সম্পত্তির নাম | মান | বর্ণনা |
সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তি সংস্করণ. প্রাথমিকভাবে, এটি "1.0"। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
উদাহরণ
এখানে একটি পরীক্ষার বিজ্ঞপ্তির একটি উদাহরণ:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}