الدليل المرجعي لإشعارات المطوِّرين في الوقت الفعلي

يسرد هذا الموضوع ويصف أنواع إشعارات في الوقت الفعلي خاصة بالمطوّرين التي يمكنك الحصول عليها من 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 للاشتراك على القيم التالية:
  • (1) SUBSCRIPTION_RECOVERED - تم استرداد اشتراك من فترة تعليق الاشتراك.
  • (2) SUBSCRIPTION_RENEWED - تم تجديد اشتراك نشط.
  • (3) SUBSCRIPTION_CANCELED - تم إلغاء الاشتراك بشكل طوعي أو إلغاؤها طوعًا بالنسبة إلى الإلغاء الطوعي، يتم إرساله عند يلغي المستخدم الاشتراك.
  • (4) SUBSCRIPTION_PURCHASED - تم شراء اشتراك جديد.
  • (5) SUBSCRIPTION_ON_HOLD - دخل الاشتراك في الحساب اضغط مع الاستمرار (في حال تفعيله).
  • (6) SUBSCRIPTION_IN_GRACE_PERIOD - تم دخول اشتراك فترة السماح (في حال تفعيلها).
  • (7) SUBSCRIPTION_RESTARTED - استعاد المستخدم من Play > الحساب > الاشتراكات: تشير رسالة الأشكال البيانية تم إلغاء الاشتراك ولكن لم تنتهِ صلاحيته بعد عندما استخدم المستخدم لاستعادة البيانات. لمزيد من المعلومات، يُرجى مراجعة الاستعادة:
  • (8) SUBSCRIPTION_PRICE_CHANGE_CONFIRMED - سعر الاشتراك تم تأكيد التغيير بنجاح من قِبل المستخدم.
  • (9) SUBSCRIPTION_DEFERRED - لقد بلغ وقت تكرار الاشتراك المشروع.
  • (10) SUBSCRIPTION_PAUSE - تم إيقاف اشتراك مؤقتًا.
  • (11) SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED - إيقاف الاشتراك مؤقتًا تم تغيير الجدول الزمني.
  • (12) SUBSCRIPTION_REVOKED - تم إلغاء اشتراك من المستخدم قبل وقت انتهاء الصلاحية.
  • (13) SUBSCRIPTION_EXPIRED - انتهت صلاحية اشتراك.
  • (20) SUBSCRIPTION_PENDING_PURCHASE_CANCELED - معاملة معلّقة تم إلغاء اشتراك واحد.
رمز 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. هذا النمط يختلف عن حقول الإصدار الأخرى.
نوع الإشعار تدخُّل دفاعي نوع الإشعار. يمكن أن يكون له القيم التالية:
  • (1) ONE_TIME_PRODUCT_PURCHASED - تم شراء منتج لمرة واحدة تم شراؤها بنجاح من قِبل مستخدم.
  • (2) ONE_TIME_PRODUCT_CANCELED - منتج يتم تحصيل سعره مرة واحدة في انتظار المراجعة تم إلغاء عملية الشراء من قِبل المستخدم.
رمز 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 على الحقول التالية:

اسم الموقع

القيمة

الوصف

purchaseToken

string

الرمز المميّز المرتبط بعملية الشراء التي تمّ إلغاؤها هذا النمط يتم تقديم معلومات للمطوّر عند إجراء عملية شراء جديدة تحدث المقابلة.

orderId

string

مُعرّف الطلب الفريد المرتبط بالمعاملة التي لها ملغاة. بالنسبة إلى عمليات الشراء لمرة واحدة، يمثّل هذا الحقل مُعرّف الطلب الوحيد. التي تم إنشاؤها لعملية الشراء. بالنسبة إلى الاشتراكات التي يتم تجديدها تلقائيًا، يتم إنشاء مُعرّف طلب لكل معاملة تجديد.

productType

int

productType لعملية شراء مُلغاة يمكن أن يحتوي على القيم التالية:

  • (1) PRODUCT_TYPE_SUBSCRIPTION - اشتراك تم إلغاء عملية الشراء.
  • (2) PRODUCT_TYPE_ONE_TIME - عملية شراء لمرة واحدة تم إلغاؤه.

refundType

int

refundType لعملية شراء مُلغاة يمكن أن يحتوي على القيم التالية:

  • (1) REFUND_TYPE_FULL_REFUND - تم إلغاء عملية الشراء بالكامل.
  • (2) REFUND_TYPE_QUANTITY_BASED_PARTIAL_REFUND - عملية الشراء قد تم إلغاؤها جزئيًا من خلال ردّ جزء من الأموال على أساس الكمية ولا يسري إلا على عمليات الشراء بكميات متعددة. يمكن أن تكون عملية الشراء تم إلغاؤها جزئيًا عدة مرات.

لاحِظ عندما تكون الكمية الإجمالية المتبقية من عملية شراء متعددة الكميات تم رد الأموال، سيتم رد refundType REFUND_TYPE_FULL_REFUND

مثال

في ما يلي مثال على إشعار بشأن عملية شراء جديدة تم إلغاؤها:

{
  "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"
  }
}