يسرد هذا الموضوع ويصف أنواع إشعارات في الوقت الفعلي خاصة بالمطوّرين التي يمكنك الحصول عليها من 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 وراسِل شراء باطل و testNotification. |
oneTimeProductNotification | OneTimeProductNotification | إذا كان هذا الحقل متوفّرًا، يكون هذا الإشعار مرتبطًا عملية شراء لمرة واحدة، ويحتوي هذا الحقل على معلومات إضافية المتعلقة بعملية الشراء. يُرجى العِلم أنّ هذا الحقل يستبعد النطاقَين بشكل تبادلي. التي تتضمّن تذكيرًا بالاشتراك، وحدثًا باطلاً للشراء، وtestNotification. |
إشعار شراء مُلغى | إشعار Voidedشراء | إذا كان هذا الحقل متوفّرًا، يكون هذا الإشعار مرتبطًا عملية شراء ملغاة، ويحتوي هذا الحقل على معلومات إضافية ذات صلة إلى عملية الشراء المُلغاة. يُرجى العِلم أنّ هذا الحقل يستبعد النطاقَين بشكل تبادلي. باستخدام oneTimeProductNotification وsubscriptionNotification و testNotification. |
إشعار تجريبي | إشعار تجريبي | إذا كان هذا الحقل متوفّرًا، يكون هذا الإشعار مرتبطًا نشر تجريبي. لا يتم إرسال هذه المعلومات إلا من خلال مطوّر برامج Google Play. وحدة التحكم. لاحظ أن هذا الحقل يستثني بشكل تبادلي oneTimeProductNotification وsubscriptionNotification و مَعلمة canceledPurchaseNotification. |
إشعار الاشتراك
تحتوي SubscriptionNotification
على الحقول التالية:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
اسم الموقع | القيمة | الوصف |
إصدار | سلسلة | تمثّل هذه السمة إصدار هذا الإشعار. في البداية، تكون هذه القيمة هي "1.0". هذا النمط يختلف عن حقول الإصدار الأخرى. |
نوع الإشعار | تدخُّل دفاعي | يمكن أن يحتوي عنصر notificationsType للاشتراك على القيم التالية:
|
رمز purchaseToken | سلسلة | الرمز المميّز الذي تم تقديمه لجهاز المستخدم عندما كان الاشتراك تم شراؤها. |
رقم تعريف الاشتراك | سلسلة | معرّف المنتج للاشتراك الذي تم شراؤه (على سبيل المثال، "month001"). |
مثال
في ما يلي مثال على إشعار بشأن شراء اشتراك جديد:
{
"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. هذا النمط يختلف عن حقول الإصدار الأخرى. |
نوع الإشعار | تدخُّل دفاعي | نوع الإشعار. يمكن أن يكون له القيم التالية:
|
رمز purchaseToken | سلسلة | الرمز المميّز الذي تم تقديمه لجهاز المستخدم عند إجراء عملية الشراء |
رمز التخزين التعريفي | سلسلة | معرّف المنتج الذي تم شراؤه لمرة واحدة (على سبيل المثال، "sword_001") |
مثال
في ما يلي مثال على إشعار لعملية شراء جديدة لمرة واحدة:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"oneTimeProductNotification":
{
"version":"1.0",
"notificationType":1,
"purchaseToken":"PURCHASE_TOKEN",
"sku":"my.sku"
}
}
إشعار Voidedشراء
تحتوي 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 وهو نموذج سحب يوفر بيانات إضافية لعمليات الشراء المُلغاة بين طابع زمني معين.
بالنسبة إلى عمليات الشراء متعددة الكميات التي تم إلغاؤها جزئيًا، يجب ملء الحقل refundableQuantity
التي تقدمها purchases.products
تحتوي على ما تبقى
عدد المنتجات التي تم شراؤها ولم يتم إلغاؤها
إشعار تجريبي
تحتوي TestNotification
على الحقول التالية:
{
"version": string
}
اسم الموقع | القيمة | الوصف |
إصدار | سلسلة | تمثّل هذه السمة إصدار هذا الإشعار. في البداية، تكون هذه القيمة هي "1.0". هذا النمط يختلف عن حقول الإصدار الأخرى. |
مثال
في ما يلي مثال على إشعار تجريبي:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}