این سند انواع اعلانهای توسعهدهندهی بلادرنگ (Real-time) را که میتوانید از گوگل پلی دریافت کنید، فهرست و شرح میدهد.
رمزگذاری
هر انتشاری که در یک موضوع Cloud Pub/Sub انجام میشود، شامل یک فیلد داده کدگذاری شده با 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 ناسازگار است. |
| اعلان یکباره محصول | اعلان محصول یکبار مصرف | اگر این فیلد وجود داشته باشد، این اعلان مربوط به یک خرید یکباره است و این فیلد حاوی اطلاعات اضافی مربوط به خرید است. توجه داشته باشید که این فیلد با subscriptionNotification، voidedPurchaseNotification و testNotification ناسازگار است. |
| اعلان خرید باطلشده | اعلان خرید باطلشده | اگر این فیلد وجود داشته باشد، این اعلان مربوط به یک خرید باطل شده است و این فیلد حاوی اطلاعات اضافی مربوط به خرید باطل شده است. توجه داشته باشید که این فیلد با oneTimeProductNotification، subscriptionNotification و testNotification ناسازگار است. |
| اعلان تست | اعلان تست | اگر این فیلد وجود داشته باشد، این اعلان مربوط به انتشار آزمایشی است. این اعلانها فقط از طریق کنسول توسعهدهندگان گوگل پلی ارسال میشوند. توجه داشته باشید که این فیلد با oneTimeProductNotification، subscriptionNotification و voidedPurchaseNotification ناسازگار است. |
اعلان اشتراک
یک SubscriptionNotification شامل فیلدهای زیر است:
{
"version": string,
"notificationType": int,
"purchaseToken": string
}
| نام ملک | ارزش | توضیحات |
| نسخه | رشته | نسخه این اعلان. در ابتدا، این "1.0" است. این نسخه با سایر فیلدهای نسخه متفاوت است. |
| نوع اعلان | عدد صحیح | نوع اعلان (notificationType) برای یک اشتراک میتواند مقادیر زیر را داشته باشد:
|
| خرید توکن | رشته | توکنی که هنگام خرید اشتراک به دستگاه کاربر ارائه شده است. |
مثال
در اینجا مثالی از اعلان برای خرید اشتراک جدید آورده شده است:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN"
}
}
اعلان محصول یکبار مصرف
یک OneTimeProductNotification شامل فیلدهای زیر است:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
| نام ملک | ارزش | توضیحات |
| نسخه | رشته | نسخه این اعلان. در ابتدا، این "1.0" خواهد بود. این نسخه با سایر فیلدهای نسخه متفاوت است. |
| نوع اعلان | عدد صحیح | نوع اعلان. میتواند مقادیر زیر را داشته باشد:
|
| خرید توکن | رشته | توکنی که هنگام خرید به دستگاه کاربر ارائه شده است. |
| اسکو | رشته | شناسه محصول یکبار مصرف خریداری شده (برای مثال، "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: نوع بازپرداختی را که خرید را باطل کرده است، مشخص میکند.
اعلان تست
یک TestNotification شامل فیلدهای زیر است:
{
"version": string
}
| نام ملک | ارزش | توضیحات |
| نسخه | رشته | نسخه این اعلان. در ابتدا، این "1.0" است. این نسخه با سایر فیلدهای نسخه متفاوت است. |
مثال
در اینجا نمونهای از یک اعلان آزمایشی را مشاهده میکنید:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}