أنواع الإشعارات
إضافة رسالة وإشعار
الخلفية
بعد أن يضيف المستخدم بطاقة، يمكنك إرسال رسالة إليه حول
البطاقة والتأكّد من أنّه تم إشعاره بها. عند استخدام طلب Add Message API
مع message_type
يساوي
TEXT_AND_NOTIFY
، يحدث ما يلي:
- تتم إضافة عنصر "رسالة" إلى "الجانب الخلفي من البطاقة" (المعروف أيضًا باسم نموذج التفاصيل) ويتم إرسال إشعار فوري إلى المستخدمين الذين حفظوا البطاقة.
- عندما ينقر المستخدم على الإشعار، يتم فتح "محفظة Google" في مقدّمة البطاقة (أي "عرض البطاقة") وسيرى المستخدم وسيلة شرح في أعلى الشاشة مع الزر "عرض الرسالة".
- سينقل النقر على العنصر المميّز المستخدمين إلى الجزء الخلفي من البطاقة، حيث يتم تمييز الرسائل الجديدة غير المقروءة.
بعض النقاط التي يجب مراعاتها عند إرسال رسائل تتضمّن إشعارات إلى المستخدمين
- يجب أن تكون الإشعارات مفعّلة في البطاقات لدى المستخدمين لتلقّي الإشعارات الفورية المرتبطة بالرسائل.
- قد تحتوي الرسائل على معرّفات موارد منتظمة (URI) لموقعك الإلكتروني أو تطبيقك. يجب أن تكون الروابط التشعّبية موقعًا إلكترونيًا أو تطبيقًا مرتبطًا بالبطاقة. إنّ إرسال المستخدمين إلى روابط غير مرتبطة بالبطاقة يشكّل انتهاكًا لسياسة الاستخدام المقبول.
- يمكنك إرسال 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" }, …
مثال على الرد لإضافة رسالة وإرسال إشعار بشأن فئة "النجاح"
// 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" كما هو موضَّح في خطوات الدمج.