يسرد هذا الموضوع ويوضّح أنواع إشعارات المطوّرين في الوقت الفعلي التي يمكنك تلقّيها من 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 وignoreedPurchaseNotification وtestNotification. |
إشعار oneTimeProduct | إشعار المنتج OneTime | إذا كان هذا الحقل متوفّرًا، يعني ذلك أنّ هذا الإشعار مرتبط بعملية شراء لمرة واحدة، وسيتضمّن هذا الحقل معلومات إضافية متعلّقة بعملية الشراء. تجدر الإشارة إلى أنّ هذا الحقل حصريّ لكل منهما، ومزوّدة إشعار بـ subscriptionint و للمشتركين الداعمين و"testNotification". |
إشعار بتم إبطال عملية الشراء | إشعار مُلغى عند الشراء | إذا كان هذا الحقل متوفرًا، يعني ذلك أنّ هذا الإشعار مرتبط بعملية شراء ملغية، ويحتوي هذا الحقل على معلومات إضافية متعلّقة بعملية الشراء المُلغاة. تجدر الإشارة إلى أنّ هذا الحقل حصريّ لكل منهما، مع oneTimeProductNotification وsubscription Notification وtestNotification. |
إشعار تجريبي | إشعار الاختبار | إذا كان هذا الحقل متاحًا، يعني ذلك أنّ هذا الإشعار مرتبط بعملية نشر تجريبية. ولا يتم إرسالها إلا من خلال Google Play Console. تجدر الإشارة إلى أنّ هذا الحقل حصريّ لكل منهما في الحالات التالية: oneTimeProductNotification وsubscription Notification و آلية purchaseNotification. |
إشعار الاشتراك
يحتوي SubscriptionNotification
على الحقول التالية:
{
"version": string,
"notificationType": int,
"purchaseToken": string,
"subscriptionId": string
}
اسم الموقع | القيمة | الوصف |
إصدار | سلسلة | إصدار هذا الإشعار. في البداية، يكون الرقم "1.0". ويختلف هذا الإصدار عن حقول الإصدار الأخرى. |
نوع الإشعار | تدخُّل دفاعي | يمكن أن يشتمل نوع notificationsType على الاشتراك على القيم التالية:
|
رمز الشراء المميّز | سلسلة | الرمز المميّز الذي تم تقديمه إلى جهاز المستخدم عند شراء الاشتراك |
رقم تعريف الاشتراك | سلسلة | معرّف المنتج للاشتراك الذي تم شراؤه (على سبيل المثال، "الشهر001"). |
مثال
في ما يلي مثال على إشعار بشأن عملية شراء اشتراك جديد:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503349566168",
"subscriptionNotification":
{
"version":"1.0",
"notificationType":4,
"purchaseToken":"PURCHASE_TOKEN",
"subscriptionId":"monthly001"
}
}
إشعار المنتج OneTime
يحتوي 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
}
}
استخدام إشعار مُلغى عمليات الشراء
عندما يتلقّى عميل RTDN : VoidedPurchaseNotification
، يُرجى ملاحظة المعلومات التالية:
packageName
: يحدد التطبيق.eventTimeMillis
: تُعلِم هذه السمة المطوّر بوقت حدوث التغيير في الحالة.purchaseToken
: الرمز المميّز الذي تم تقديمه إلى جهاز المستخدم عند شراء المنتجorderId
: يحدّد الطلب المرتبط بالمعاملة التي تم إبطالها.productType
: يُعلمك هذا الحقل بما إذا كانت عملية الشراء المُلغاة قد كانت عملية شراء داخل التطبيق أو اشتراكًا.refundType
: يوضّح هذا الحقل نوع ردّ الأموال التي أدّت إلى إلغاء عملية الشراء.
إذا كان كل ما عليك فعله لتعديلات الاستحقاق هو تحديد موقع عملية الشراء والطلب المناسبين، ستكون لديك جميع المعلومات التي تحتاجها في هذه المرحلة. للتعرف على كيفية الحصول على معلومات إضافية حول عملية الشراء المُلغاة، يرجى مراجعة واجهة برمجة التطبيقات لعمليات الشراء الملغاة في Google Play، وهي عبارة عن نموذج سحب يوفر بيانات إضافية لعمليات الشراء الملغاة بين طابع زمني محدد.
بالنسبة إلى عمليات الشراء المتعدّدة الكميات التي تم إبطالها جزئيًا، يحتوي الحقل refundableQuantity
المتوفّر من خلال purchases.products
على العدد المتبقي
من المنتجات المشتراة التي لم يتم إلغاؤها.
إشعار الاختبار
يحتوي TestNotification
على الحقول التالية:
{
"version": string
}
اسم الموقع | القيمة | الوصف |
إصدار | سلسلة | إصدار هذا الإشعار. في البداية، يكون الرقم "1.0". ويختلف هذا الإصدار عن حقول الإصدار الأخرى. |
مثال
في ما يلي مثال على إشعار تجريبي:
{
"version":"1.0",
"packageName":"com.some.thing",
"eventTimeMillis":"1503350156918",
"testNotification":
{
"version":"1.0"
}
}