Enterprises: pullNotificationSet

تُستخدَم هذه الوظيفة لسحب مجموعة إشعارات وإعادتها للمؤسسات المرتبطة بحساب الخدمة الذي تمّت مصادقة الطلب من أجله. قد تكون مجموعة الإشعارات فارغة إذا لم تكن هناك إشعارات في انتظار المراجعة.
يجب الردّ على مجموعة الإشعارات التي تم إرجاعها في غضون 20 ثانية من خلال الاتصال بـ Enterprises.AcknowledgeNotificationSet، ما لم تكن مجموعة الإشعارات فارغة.
سيتم في النهاية تضمين الإشعارات التي لم يتم تأكيدها خلال 20 ثانية مجددًا في الردّ على طلب آخر من نوع PullNotificationSet ، وسيتم حذف الإشعارات التي لم يتم تأكيدها مطلقًا في نهاية المطاف وفقًا لسياسة نظام Pub/Sub في Google Cloud Platform.
قد يتم تنفيذ طلبات متعدّدة بشكل متزامن لاسترداد الإشعارات، وفي هذه الحالة سيتم хувين الإشعارات في انتظار المراجعة (إن وجدت) بين كل متصل، إن وجد.
في حال عدم توفّر أي إشعارات، يتم عرض قائمة إشعارات فارغة. قد تؤدي الطلبات اللاحقة إلى عرض المزيد من الإشعارات فور توفّرها.

الطلب

طلب HTTP

POST https://www.googleapis.com/androidenterprise/v1/enterprises/pullNotificationSet

المعلمات

اسم المعلَمة القيمة الوصف
مَعلمات طلب البحث الاختيارية
requestMode string وضع الطلب لعرض الإشعارات
سيؤدي تحديد waitForNotifications إلى حظر الطلب والانتظار إلى أن يظهر إشعار واحد أو أكثر، أو عرض قائمة إشعارات فارغة إذا لم تظهر أي إشعارات بعد مرور بعض الوقت.
سيؤدي تحديد returnImmediately إلى أن يعرض الطلب على الفور الإشعارات في انتظار المراجعة، أو قائمة فارغة في حال عدم توفّر إشعارات.
في حال حذف هذه السمة، يتم ضبط الإعداد التلقائي على waitForNotifications.

القِيَم المقبولة هي:
  • "returnImmediately"
  • "waitForNotifications"

التفويض

يتطلب هذا الطلب تفويضًا بالنطاق التالي:

النطاق
https://www.googleapis.com/auth/androidenterprise

لمزيد من المعلومات، يُرجى الاطّلاع على صفحة المصادقة والتفويض.

نص الطلب

لا تقدِّم محتوى طلب باستخدام هذه الطريقة.

الردّ

إذا كانت الاستجابة ناجحة، تعرض هذه الطريقة نص استجابة بالبنية التالية:

{
  "kind": "androidenterprise#notificationSet",
  "notificationSetId": string,
  "notification": [
    {
      "enterpriseId": string,
      "timestampMillis": long,
      "notificationType": string,
      "productApprovalEvent": {
        "productId": string,
        "approved": string
      },
      "installFailureEvent": {
        "productId": string,
        "deviceId": string,
        "userId": string,
        "failureReason": string,
        "failureDetails": string
      },
      "appUpdateEvent": {
        "productId": string
      },
      "newPermissionsEvent": {
        "productId": string,
        "requestedPermissions": [
          string
        ],
        "approvedPermissions": [
          string
        ]
      },
      "appRestrictionsSchemaChangeEvent": {
        "productId": string
      },
      "productAvailabilityChangeEvent": {
        "productId": string,
        "availabilityStatus": string
      },
      "newDeviceEvent": {
        "userId": string,
        "deviceId": string,
        "managementType": string,
        "dpcPackageName": string
      },
      "deviceReportUpdateEvent": {
        "userId": string,
        "deviceId": string,
        "report": {
          "lastUpdatedTimestampMillis": long,
          "appState": [
            {
              "packageName": string,
              "keyedAppState": [
                {
                  "key": string,
                  "stateTimestampMillis": long,
                  "severity": string,
                  "message": string,
                  "data": string
                }
              ]
            }
          ]
        }
      },
      "enterpriseUpgradeEvent": {
        "upgradeState": string
      }
    }
  ]
}
اسم السمة القيمة الوصف ملاحظات
notificationSetId string رقم تعريف مجموعة الإشعارات، وهو مطلوب لتمييز الإشعار على أنّه تم استلامه باستخدام واجهة برمجة التطبيقات Enterprises.AcknowledgeNotification API. سيتم حذف هذا الحقل في حال عدم توفّر أي إشعارات.
notification[] list الإشعارات التي تم استلامها، أو فارغة إذا لم تكن هناك إشعارات
notification[].enterpriseId string رقم تعريف المؤسسة التي يتم إرسال الإشعار إليها. سيظل هذا الخيار متاحًا دائمًا.
notification[].timestampMillis long الوقت الذي تم فيه نشر الإشعار بالمللي ثانية منذ ‎1970-01-01T00:00:00Z. سيظل هذا الخيار متاحًا دائمًا.
notification[].productApprovalEvent nested object إشعارات بشأن التغييرات في حالة الموافقة على منتج معيّن
notification[].productApprovalEvent.productId string معرّف المنتج (مثل "app:com.google.android.gm") الذي تغيّرت حالة الموافقة عليه. سيظهر هذا الحقل دائمًا.
notification[].productApprovalEvent.approved string ما إذا تمت الموافقة على المنتج أو رفضه سيظهر هذا الحقل دائمًا.

القِيَم المقبولة هي:
  • "approved"
  • "unapproved"
  • "unknown"
notification[].installFailureEvent nested object إشعارات بشأن تعذُّر تثبيت أحد التطبيقات
notification[].installFailureEvent.productId string رقم تعريف المنتج (مثل "app:com.google.android.gm") الذي حدث فيه حدث تعذُّر التثبيت. سيظهر هذا الحقل دائمًا.
notification[].installFailureEvent.deviceId string رقم تعريف Android للجهاز سيظهر هذا الحقل دائمًا.
notification[].installFailureEvent.userId string رقم تعريف المستخدم. سيظهر هذا الحقل دائمًا.
notification[].installFailureEvent.failureReason string سبب تعذُّر التثبيت سيظهر هذا الحقل دائمًا.

القِيَم المقبولة هي:
  • "timeout"
  • "unknown"
notification[].installFailureEvent.failureDetails string تفاصيل إضافية عن الخطأ، إن أمكن
notification[].appUpdateEvent nested object إشعارات بشأن تحديثات التطبيقات
notification[].appUpdateEvent.productId string معرّف المنتج (مثل "app:com.google.android.gm") الذي تم تعديله. سيظهر هذا الحقل دائمًا.
notification[].newPermissionsEvent nested object إشعارات بشأن أذونات التطبيقات الجديدة
notification[].newPermissionsEvent.productId string معرّف المنتج (مثل "app:com.google.android.gm") الذي تمت إضافة أذونات جديدة إليه. سيظهر هذا الحقل دائمًا.
notification[].newPermissionsEvent.requestedPermissions[] list مجموعة الأذونات التي يطلبها التطبيق حاليًا استخدِم Permissions.Get في واجهة برمجة التطبيقات EMM API لاسترداد تفاصيل عن هذه الأذونات.
notification[].newPermissionsEvent.approvedPermissions[] list مجموعة الأذونات التي سبق أن وافق عليها مشرف المؤسسة لهذا التطبيق. استخدِم Permissions.Get في واجهة برمجة التطبيقات EMM API لاسترداد تفاصيل عن هذه الأذونات.
notification[].appRestrictionsSchemaChangeEvent nested object إشعارات بشأن التغييرات في مخطّط القيود الجديدة المفروضة على التطبيقات
notification[].appRestrictionsSchemaChangeEvent.productId string معرّف المنتج (مثل "app:com.google.android.gm") الذي تغيّر مخطّط قيود التطبيق له. سيظهر هذا الحقل دائمًا.
notification[].productAvailabilityChangeEvent nested object إشعارات بشأن تغييرات في مدى توفّر المنتجات
notification[].productAvailabilityChangeEvent.productId string معرّف المنتج (مثل "app:com.google.android.gm") الذي تغيّر مدى توفّره سيظهر هذا الحقل دائمًا.
notification[].productAvailabilityChangeEvent.availabilityStatus string الحالة الجديدة للمنتج. سيظهر هذا الحقل دائمًا.

القِيَم المقبولة هي:
  • "available"
  • "removed"
  • "unknown"
  • "unpublished"
notification[].newDeviceEvent nested object إشعارات بشأن الأجهزة الجديدة
notification[].newDeviceEvent.userId string رقم تعريف المستخدم. سيظهر هذا الحقل دائمًا.
notification[].newDeviceEvent.deviceId string رقم تعريف Android للجهاز سيظهر هذا الحقل دائمًا.
notification[].newDeviceEvent.managementType string لتحديد مدى التحكّم في الجهاز من خلال خدمة إدارة الخدمات الجوّالة للمؤسسات (EMM) في Android في إعدادات النشر المختلفة.

تشمل القيم المحتملة ما يلي:
  • "managedDevice"، وهو جهاز تم ضبط وحدة التحكّم بسياسة الجهاز (DPC) فيه على أنّه مالك الجهاز
  • "managedProfile"، وهو جهاز تم ضبط "خدمة إدارة نقطة الاتصال" عليه كصاحب الملف الشخصي.


القيم المقبولة هي:
  • "managedDevice"
  • "managedProfile"
notification[].notificationType string نوع الإشعار

القِيَم المقبولة هي:
  • "appRestricionsSchemaChange"
  • "appUpdate"
  • "deviceReportUpdate"
  • "enterpriseUpgrade"
  • "installFailure"
  • "newDevice"
  • "newPermissions"
  • "productApproval"
  • "productAvailabilityChange"
  • "testNotification"
  • "unknown"
notification[].newDeviceEvent.dpcPackageName string تطبيق السياسة على الجهاز
notification[].deviceReportUpdateEvent nested object إشعارات بشأن تعديلات على تقارير الأجهزة
notification[].deviceReportUpdateEvent.userId string رقم تعريف المستخدم. سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.deviceId string رقم تعريف Android للجهاز سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report nested object تم تعديل تقرير الجهاز لإضافة أحدث حالات التطبيقات. سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.lastUpdatedTimestampMillis long الطابع الزمني لآخر تعديل على التقرير بالمللي ثانية منذ تاريخ بدء حساب الفترة سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[] list قائمة بحالات التطبيقات التي تم ضبطها بواسطة التطبيقات المُدارة على الجهاز يحدِّد مطوّرو التطبيقات حالات التطبيق. سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[].packageName string اسم حزمة التطبيق. سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[] list قائمة بحالات التطبيق التي تمّ ربطها بمفتاح سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].key string مفتاح يشير إلى ما يقدّم التطبيق حالة له يحدِّد مطوِّر التطبيق محتوى المفتاح. لمنع هجمات XSS، ننصحك بإزالة أي علامات HTML من المفتاح قبل عرضه. سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].stateTimestampMillis long الطابع الزمني الذي ضبط فيه التطبيق الحالة بالمللي ثانية منذ بدء حساب الفترة سيظهر هذا الحقل دائمًا.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].severity string خطورة حالة التطبيق سيظهر هذا الحقل دائمًا.

القِيَم المقبولة هي:
  • "severityError"
  • "severityInfo"
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].message string رسالة بتنسيق حر يمكن لشخص عادي قراءتها وتصف حالة التطبيق على سبيل المثال، رسالة خطأ. لمنع هجمات XSS، ننصحك بإزالة أي علامات HTML من الرسالة قبل عرضها.
notification[].deviceReportUpdateEvent.report.appState[].keyedAppState[].data string حقل إضافي مخصّص للبيانات القابلة للقراءة آليًا على سبيل المثال، رقم أو عنصر JSON. لمنع هجمات XSS، ننصحك بإزالة أي علامات HTML من البيانات قبل عرضها.
kind string
notification[].enterpriseUpgradeEvent nested object إشعارات حول ترقية حسابات المؤسسات
notification[].enterpriseUpgradeEvent.upgradeState string حالة الترقية

القِيَم المقبولة هي:
  • "upgradeStateSucceeded"
  • "upgradeStateUnspecified"