این مبحث انواع اعلانهای توسعهدهنده همزمان را که میتوانید از Google Play دریافت کنید، فهرست کرده و شرح میدهد.
رمزگذاری
هر انتشاری که در یک موضوع 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»). |
eventTimeMillis | طولانی | مهر زمانی که رویداد رخ داده است، در میلی ثانیه از آن دوره. |
اطلاعیه اشتراک | اطلاعیه اشتراک | اگر این فیلد وجود داشته باشد، این اعلان مربوط به یک اشتراک است و این قسمت حاوی اطلاعات اضافی مربوط به اشتراک است. توجه داشته باشید که این فیلد با oneTimeProductNotification، voidedPurchaseNotification و testNotification منحصر به فرد است. |
OneTimeProductNotification | OneTimeProductNotification | در صورت وجود این فیلد، این اعلان مربوط به خرید یکباره است و این قسمت حاوی اطلاعات تکمیلی مربوط به خرید است. توجه داشته باشید که این فیلد با subscriptionNotification، voidedPurchaseNotification و testNotification منحصر به فرد است. |
voidedPurchase Notification | VoidedPurchase Notification | اگر این قسمت وجود داشته باشد، این اعلان مربوط به خرید باطل شده است و این قسمت حاوی اطلاعات اضافی مربوط به خرید باطل است. توجه داشته باشید که این فیلد با oneTimeProductNotification، subscriptionNotification و testNotification منحصر به فرد است. |
test Notification | Test Notification | اگر این فیلد وجود داشته باشد، این اعلان مربوط به انتشار آزمایشی است. اینها فقط از طریق کنسول برنامهنویس Google Play ارسال میشوند. توجه داشته باشید که این فیلد با oneTimeProductNotification، subscriptionNotification و voidedPurchaseNotification منحصر به فرد است. |
اطلاعیه اشتراک
یک SubscriptionNotification
شامل فیلدهای زیر است:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
نام ملک | ارزش | توضیحات |
نسخه | رشته | نسخه این اطلاعیه در ابتدا، این "1.0" است. این نسخه از سایر فیلدهای نسخه متمایز است. |
نوع اطلاع رسانی | بین المللی | NotificationType برای یک اشتراک می تواند مقادیر زیر را داشته باشد:
|
خرید توکن | رشته | رمز ارائه شده به دستگاه کاربر هنگام خرید اشتراک. |
شناسه اشتراک | رشته | شناسه محصول اشتراک خریداری شده (به عنوان مثال، "monthly001"). |
مثال
در اینجا نمونه ای از اعلان برای خرید اشتراک جدید آمده است:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
OneTimeProductNotification
OneTimeProductNotification
حاوی فیلدهای زیر است:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"sku": string
}
نام ملک | ارزش | توضیحات |
نسخه | رشته | نسخه این اطلاعیه در ابتدا، این "1.0" خواهد بود. این نسخه از سایر فیلدهای نسخه متمایز است. |
نوع اطلاع رسانی | بین المللی | نوع اطلاع رسانی می تواند مقادیر زیر را داشته باشد:
|
خرید توکن | رشته | رمز ارائه شده به دستگاه کاربر هنگام خرید. |
sku | رشته | شناسه محصول یک بار خریداری شده (به عنوان مثال، "sword_001") |
مثال
در اینجا نمونه ای از اعلان یک خرید یک بار جدید آمده است:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
VoidedPurchase Notification
یک VoidedPurchaseNotification
حاوی فیلدهای زیر است:
نام ملک | ارزش | توضیحات |
| | رمز مرتبط با خریدی که باطل شده است. این اطلاعات هنگام خرید جدید در اختیار توسعه دهنده قرار می گیرد. |
| | شناسه سفارش منحصر به فرد مرتبط با تراکنش باطل شده است. برای خریدهای یکباره، این تنها شناسه سفارش تولید شده برای خرید را نشان می دهد. برای تمدید خودکار اشتراک ها، یک شناسه سفارش جدید برای هر تراکنش تمدید ایجاد می شود. |
| |
|
| |
توجه داشته باشید زمانی که مقدار کل باقی مانده از خرید چند مقداری بازپرداخت می شود، |
مثال
در اینجا نمونه ای از اعلان یک خرید جدید باطل شده است:
{
"version":"1.0",
"packageName":"com.some.app",
"eventTimeMillis":"1503349566168",
"voidedPurchaseNotification":
{
"purchaseToken":"PURCHASE_TOKEN",
"orderId":"GS.0000-0000-0000",
"productType":1
"refundType":1
}
}
در حال مصرف VoidedPurchase Notification
هنگامی که مشتری RTDN شما یک VoidedPurchaseNotification
دریافت می کند، به اطلاعات زیر توجه کنید:
-
packageName
: این برنامه را شناسایی می کند. -
eventTimeMillis
: برنامهنویس را از زمان وقوع تغییر وضعیت مطلع میکند. -
purchaseToken
: توکنی که هنگام خرید محصول به دستگاه کاربر ارائه می شود. -
orderId
: این دستور مربوط به تراکنش باطل شده را مشخص می کند. -
productType
: این به شما می گوید که آیا خرید باطل خرید درون برنامه ای بوده است یا یک اشتراک. -
refundType
: این نوع بازپرداخت را به شما می گوید که خرید را باطل کرده است.
اگر تنها کاری که برای تعدیل استحقاق باید انجام دهید این است که خرید و سفارش مناسب را پیدا کنید، در این مرحله تمام اطلاعات مورد نیاز خود را دارید. برای یادگیری نحوه دریافت اطلاعات اضافی درباره خرید باطل شده، API خریدهای باطل شده Google Play را بررسی کنید، که یک مدل کششی است که دادههای اضافی را برای خریدهای باطل شده بین یک مُهر زمانی مشخص ارائه میکند.
برای خریدهای چند مقداری که تا حدی باطل شده اند، فیلد refundableQuantity
ارائه شده توسط purchases.products
شامل تعداد باقیمانده محصولات خریداری شده است که باطل نشده اند.
Test Notification
یک TestNotification
شامل فیلدهای زیر است:
{
"version": string
}
نام ملک | ارزش | توضیحات |
نسخه | رشته | نسخه این اطلاعیه در ابتدا، این "1.0" است. این نسخه از سایر فیلدهای نسخه متمایز است. |
مثال
در اینجا نمونه ای از اعلان آزمایشی آورده شده است:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}