تشغيل الإشعارات الفورية

أنواع الإشعارات

إضافة رسالة وإشعار

الخلفية

بعد أن يضيف المستخدم بطاقة، قد تحتاج إلى إرسال رسالة إليه تتعلّق بال البطاقة والتأكّد من إرسال إشعار إليه بشأنها. عند استخدام طلب Add Message API مع message_type يساوي TEXT_AND_NOTIFY، يحدث ما يلي:

  1. تتم إضافة عنصر "رسالة" إلى "الجانب الخلفي من البطاقة" (المعروف أيضًا باسم نموذج التفاصيل) ويتم إرسال إشعار فوري إلى المستخدمين الذين حفظوا البطاقة.
  2. بعد أن ينقر المستخدم على الإشعار، سيتم فتح "محفظة Google" لعرض البطاقة (المعروفة أيضًا باسم "عرض البطاقة")، وسيظهر للمستخدم مربّع معلومات في أعلى الشاشة يتضمّن زر "عرض الرسالة".
  3. سينقل النقر على العنصر المميّز المستخدمين إلى الجزء الخلفي من البطاقة، حيث يتم تمييز الرسائل الجديدة غير المقروءة.

بعض النقاط التي يجب مراعاتها عند إرسال رسائل تتضمّن إشعارات إلى المستخدمين

  • يجب أن تكون الإشعارات مفعّلة في البطاقات لدى المستخدمين لتلقّي الإشعارات الفورية المرتبطة بالرسائل.
  • قد تحتوي الرسائل على عناوين URL تؤدي إلى موقعك الإلكتروني أو تطبيقك. ويجب أن تكون الروابط التشعبية متعلّقة بموقع إلكتروني أو تطبيق مرتبطَين بالبطاقة. يشكّل إرسال المستخدمين إلى روابط غير مرتبطة بالبطاقة انتهاكًا ل سياسة الاستخدام المقبول.
  • يمكنك إرسال 3 رسائل كحد أقصى تؤدي إلى ظهور إشعار فوري في مهلة تبلغ 24 ساعة. قد تحدّ Google من حصة إرسال الإشعارات الفورية إذا رأت أنّك ترسل إشعارات غير مرغوب فيها إلى المستخدمين.
  • يتحكّم تطبيق Google Wallet في الإشعارات الفورية التي تظهر للمستخدمين على شاشة القفل.
  • يمكنك استخدام الطريقتَين UPDATE أو PATCH لتعديل بيانات الرسائل أو إزالتها باستخدام نقطة نهاية الإجراء العادي للصف أو العنصر.

خطوات الدمج

عندما تريد إشعار المستخدمين برسالة جديدة للمُصدِر تمت إضافتها باستخدام واجهة برمجة التطبيقات AddMessage API، عليك تعديل AddMessageRequest لكي تحتوي Message التي تحتوي على النص الجديد على MessageType TEXT_AND_NOTIFY بدلاً من TEXT.

مثال على طلب JSON لإضافة رسالة وإشعار في فئة "التصاريح"

  …
  "id": ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Class message header",
        "body": "My Class message body with a <a href="https://wallet.google">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

مثال على طلب JSON لإضافة رسالة وإشعار في عنصر "التصاريح"

  …
  "id": OBJECT_ID",
  "classId": "ISSUER_ID.CLASS_ID",
  "message":
    {
        "header":"My Object message header",
        "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
        "id": "message_id",
        "message_type": "TEXT_AND_NOTIFY"
    },
  …

مثال على الرد لإضافة رسالة وإرسال إشعار بشأن فئة Pass

  // The updated resource
  …
    {
      "kind": "walletobjects#walletObjectMessage",
      "header": "My Object message header",
      "body": "My Object message body with a <a href="http://play.google.com/store/apps/details?id=com.google.android.apps.maps">Hyperlink<\a>",
      "id": "message_id",
      "messageType": "textAndNotify"
    },
  …

التعامل مع الاستثناءات

ستؤدي أي محاولات لإرسال الإشعار أكثر من 3 مرات إلى تلقي استجابة QuotaExceededException . يمكن ضبط أي تعديلات أخرى على البطاقة باستخدام "TEXT" بدلاً من "TEXT_AND_NOTIFY" كما هو موضّح في خطواتتكامل.