راه‌اندازی اعلان‌های لحظه‌ای

اعلان‌های راه‌اندازی‌شده توسط شریک

افزودن پیام و اطلاع‌رسانی

پس‌زمینه

پس‌از اینکه کاربر مجوزی را اضافه کرد، ممکن است بخواهید پیامی مرتبط با آن مجوز برای او ارسال کنید و مطمئن شوید که از آن مطلع شده است. بااستفاده از درخواست Add Message API با message_type برابر با TEXT_AND_NOTIFY موارد زیر رخ می‌دهد:

  1. مورد «پیام» به «پشت مجوز» (یا الگوی جزئیات) اضافه می‌شود و اعلان لحظه‌ای برای کاربرانی که مجوز را ذخیره کرده‌اند ارسال می‌شود.
  2. وقتی کاربر روی اعلان تک‌ضرب می‌زند، «کیف پول Google» در جلوی مجوز (یا نمای «کارت») باز می‌شود و کاربر یک آوانما در بالای صفحه با دکمه «مشاهده پیام» خواهد دید.
  3. با کلیک کردن روی این آوانما، کاربران به پشت کارت منتقل می‌شوند، جایی که پیام‌های خوانده‌نشده جدید برجسته شده‌اند.

برخی ملاحظات هنگام ارسال پیام با اعلان به کاربران

  • کاربران باید اعلان‌ها را برای مجوزهایشان فعال کرده باشند تا بتوانند اعلان‌های لحظه‌ای مربوط به پیام‌ها را دریافت کنند.
  • پیام‌ها ممکن است حاوی URI به وب‌سایت یا برنامه شما باشند. اَبَرپیوندها باید وب‌سایت یا برنامه مرتبط با کارت باشد. ارسال کاربران به پیوندهایی که به مجوز مربوط نیستند، نقض خط‌مشی استفاده قابل‌قبول است.
  • در یک دوره ۲۴ ساعته، می‌توانید حداکثر ۳ پیام ارسال کنید که اعلان لحظه‌ای را فعال کند. اگر Google تشخیص دهد که برای کاربران هرزنامه ارسال می‌کنید، ممکن است سهمیه ارسال اعلان لحظه‌ای شما را محدود کند.
  • اعلان لحظه‌ای که کاربران در صفحه قفل خود می‌بینند توسط «کیف پول Google» کنترل می‌شود.
  • می‌توانید از روش‌های UPDATE یا PATCH برای ویرایش یا حذف داده‌های پیام بااستفاده از کلاس معمولی یا نقطه پایانی شیء استفاده کنید.

مراحل یکپارچه‌سازی

وقتی می‌خواهید به کاربران درباره پیام صادرکننده جدیدی که بااستفاده از AddMessage API اضافه شده است اطلاع دهید، باید AddMessageRequest را به‌روز کنید تا Message که حاوی نوشتار جدید شما است، به‌جای TEXT، MessageType TEXT_AND_NOTIFY داشته باشد.

نمونه درخواست 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"
    },
  …

رسیدگی به استثنا

هرگونه تلاش برای ارسال اعلان بیش‌از ۳ بار، پاسخ QuotaExceededException را به‌همراه خواهد داشت. هرگونه به‌روزرسانی بیشتر در مجوز را می‌توان بااستفاده از «TEXT» به‌جای «TEXT_AND_NOTIFY» تنظیم کرد، همان‌طور که در مراحل ادغام توضیح داده شده است.

اعلان‌های اطراف

این ویژگی به کاربرانی که اعلان‌ها را فعال کرده‌اند و دسترسی به مکان دقیق و همیشه روشن را به برنامه «کیف پول Google» اعطا کرده‌اند، اعلان لحظه‌ای نشان می‌دهد و به آن‌ها یادآوری می‌کند که مجوزی مرتبط با مکان فعلی‌شان ذخیره کرده‌اند.

مراحل یکپارچه‌سازی

طریقه استفاده

برای استفاده از این ویژگی، باید مکان‌هایی را به کلاس‌ها و اشیای خود اضافه کنید. می‌توانید حداکثر ۱۰ مکان برای هر کلاس و ۱۰ مکان برای هر شیء اضافه کنید. از MerchantLocations در تعریف کلاس یا شیء خود استفاده کنید. وقتی از روش‌های insert، patch، یا update استفاده می‌کنید، می‌توانید این مکان‌ها را اضافه کنید.

پس‌از اینکه مکان‌ها را به کلاس یا شیء اضافه کردید، Google وقتی کاربران در نزدیکی آن مکان‌ها باشند، برایشان اعلان ارسال می‌کند. Google تصمیم می‌گیرد که کاربر چقدر باید نزدیک باشد و چه مدت باید در منطقه بماند تا اعلان ارسال شود. Google همچنین نوشتار اعلان را کنترل می‌کند.

نمونه‌ای از LoyaltyClass با MerchantLocations تنظیم‌شده:
{
  "kind": "walletobjects#loyaltyClass",
  "programLogo": {
  "kind": "walletobjects#image",
  "sourceUri": {
    "uri":
    ...
  }
  },
  "localizedProgramName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Program Name",
    }
  },
  "id": Id1234,
  "version": "1",
  "allowMultipleUsersPerObject": true,
  "reviewStatus": "underReview",
  "enableSmartTap": false,
  "localizedIssuerName": {
    "kind": "walletobjects#localizedString",
    "defaultValue": {
      "kind": "walletobjects#translatedString",
      "language": "en",
      "value": "Issuer Name"
    }
  },
  "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
  "merchantLocations": [
    {
      "latitude": 37.79020867928078,
      "longitude": -122.39004
    },
    {
      "latitude": 37.42587,
      "longitude": -122.08620
    },
  ]
}

رفتار موردانتظار

کاربران باید وقتی در یکی از MerchantLocations مشخص‌شده هستند، اعلان چسبانی درباره مجوزهایشان دریافت کنند. اگر روی اعلان کلیک کند، مجوز او در «کیف پول Google» باز می‌شود. کاربران می‌توانند با اشاره تند کشیدن، اعلان را ببندند. وقتی کاربر مکان را ترک کند، اعلان ناپدید خواهد شد.