এই ডকুমেন্টে Google Play থেকে আপনি যে ধরণের রিয়েল-টাইম ডেভেলপার বিজ্ঞপ্তি পেতে পারেন তার তালিকা এবং বর্ণনা রয়েছে।
এনকোডিং
ক্লাউড পাব/সাব টপিকে করা প্রতিটি পোস্টে একটি একক base64-এনকোডেড ডেটা ফিল্ড থাকে।
{
"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 এর সাথে পারস্পরিকভাবে একচেটিয়া। |
| oneTimeProductNotification সম্পর্কে | OneTimeProductNotification সম্পর্কে | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি এককালীন ক্রয়ের সাথে সম্পর্কিত, এবং এই ক্ষেত্রটিতে ক্রয়ের সাথে সম্পর্কিত অতিরিক্ত তথ্য রয়েছে। মনে রাখবেন যে এই ক্ষেত্রটি subscriptionNotification, voidedPurchaseNotification এবং testNotification এর সাথে পারস্পরিকভাবে একচেটিয়া। |
| voidedPurchaseNotification সম্পর্কে | অকার্যকর ক্রয়বিজ্ঞপ্তি | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি একটি বাতিল ক্রয়ের সাথে সম্পর্কিত, এবং এই ক্ষেত্রটিতে বাতিল ক্রয়ের সাথে সম্পর্কিত অতিরিক্ত তথ্য রয়েছে। মনে রাখবেন যে এই ক্ষেত্রটি oneTimeProductNotification, subscriptionNotification এবং testNotification এর সাথে পারস্পরিকভাবে একচেটিয়া। |
| পরীক্ষাবিজ্ঞপ্তি | পরীক্ষা বিজ্ঞপ্তি | যদি এই ক্ষেত্রটি উপস্থিত থাকে, তাহলে এই বিজ্ঞপ্তিটি একটি পরীক্ষামূলক প্রকাশনার সাথে সম্পর্কিত। এগুলি শুধুমাত্র Google Play Developer Console এর মাধ্যমে পাঠানো হয়। মনে রাখবেন যে এই ক্ষেত্রটি oneTimeProductNotification, subscriptionNotification এবং voidedPurchaseNotification এর সাথে পারস্পরিকভাবে একচেটিয়া। |
সাবস্ক্রিপশনবিজ্ঞপ্তি
একটি SubscriptionNotification নিম্নলিখিত ক্ষেত্রগুলি থাকে:
{
"version": string,
"notificationType": int,
"purchaseToken": string
}
| সম্পত্তির নাম | মূল্য | বিবরণ |
| সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তির সংস্করণ। প্রাথমিকভাবে, এটি "1.0"। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
| বিজ্ঞপ্তির ধরণ | int-এর বিবরণ | সাবস্ক্রিপশনের জন্য notificationType-এর নিম্নলিখিত মান থাকতে পারে:
|
| ক্রয় টোকেন | স্ট্রিং | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর ডিভাইসে প্রদত্ত টোকেন। |
উদাহরণ
নতুন সাবস্ক্রিপশন কেনার জন্য বিজ্ঞপ্তির একটি উদাহরণ এখানে দেওয়া হল:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN"
}
}
OneTimeProductNotification সম্পর্কে
একটি OneTimeProductNotification নিম্নলিখিত ক্ষেত্রগুলি থাকে:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
| সম্পত্তির নাম | মূল্য | বিবরণ |
| সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তির সংস্করণ। প্রাথমিকভাবে, এটি "1.0" হবে। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
| বিজ্ঞপ্তির ধরণ | int-এর বিবরণ | বিজ্ঞপ্তির ধরণ। এর নিম্নলিখিত মান থাকতে পারে:
|
| ক্রয় টোকেন | স্ট্রিং | ক্রয় করার সময় ব্যবহারকারীর ডিভাইসে প্রদত্ত টোকেন। |
| স্কু | স্ট্রিং | কেনা এককালীন পণ্য আইডি (উদাহরণস্বরূপ, "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
}
}
ভয়েডপারচেজনোটিফিকেশন গ্রহণ
যখন আপনার RTDN ক্লায়েন্ট একটি VoidedPurchaseNotification পায়, তখন নিম্নলিখিত তথ্যগুলি নোট করুন:
-
packageName: অ্যাপটি সনাক্ত করে। -
eventTimeMillis: স্ট্যাটাস পরিবর্তনের সময় সম্পর্কে আপনাকে অবহিত করে। -
purchaseToken: পণ্য কেনার সময় ব্যবহারকারীর ডিভাইসে প্রদত্ত টোকেন। -
orderId: বাতিল লেনদেনের সাথে সম্পর্কিত অর্ডারটি সনাক্ত করে। -
productType: বাতিল করা ক্রয়টি অ্যাপ-মধ্যস্থ ক্রয় নাকি সাবস্ক্রিপশন ছিল তা নির্দেশ করে। -
refundType: ক্রয় বাতিল করে এমন রিফান্ডের ধরণ নির্দিষ্ট করে।
পরীক্ষা বিজ্ঞপ্তি
একটি TestNotification নিম্নলিখিত ক্ষেত্রগুলি থাকে:
{
"version": string
}
| সম্পত্তির নাম | মূল্য | বিবরণ |
| সংস্করণ | স্ট্রিং | এই বিজ্ঞপ্তির সংস্করণ। প্রাথমিকভাবে, এটি "1.0"। এই সংস্করণটি অন্যান্য সংস্করণ ক্ষেত্র থেকে আলাদা। |
উদাহরণ
এখানে একটি পরীক্ষামূলক বিজ্ঞপ্তির একটি উদাহরণ দেওয়া হল:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}