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

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

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

پس‌زمینه

پس‌از اینکه کاربر مجوزی را اضافه کرد، ممکن است بخواهید پیامی مرتبط با آن مجوز برای او ارسال کنید و مطمئن شوید که از آن مطلع شده است. بااستفاده از درخواست 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» تنظیم کرد، همان‌طور که در مراحل ادغام توضیح داده شده است.

به‌روزرسانی فیلد و اطلاع‌رسانی

پس‌زمینه

پس‌از اینکه کاربر مجوزی را اضافه کرد، ممکن است بخواهید وقتی فیلدهای خاصی را به‌روز می‌کنید، اعلان لحظه‌ای را راه‌اندازی کنید. اعلان در صفحه قفل کاربر نشان داده می‌شود و به او اطلاع می‌دهد که به‌روزرسانی‌ای برای مجوز او وجود دارد. این اعلان فقط برای زیرمجموعه خاصی از فیلدهای تعریف‌شده در زیر بااستفاده از روش‌های UPDATE و PATCH API راه‌اندازی می‌شود. وقتی فراخوانی میانای برنامه‌سازی کاربردی برای به‌روزرسانی مجوز انجام می‌شود، موارد زیر رخ می‌دهد:

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

برخی ملاحظات هنگام ارسال اعلان‌های به‌روزرسانی فیلد

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

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

برای راه‌اندازی این اعلان‌ها، باید از فراخوانی‌های UPDATE یا PATCH موجود استفاده کنید و notifyPreference را مشخص کنید. هنگام به‌روزرسانی فیلدی در کلاس یا شیء، می‌توانید فیلد جدیدی، notifyPreference، به درخواست کلاس یا شیء اضافه کنید تا اعلان را راه‌اندازی کنید.

نمونه درخواست JSON برای به‌روزرسانی و اطلاع‌رسانی در کلاس

    …
    "dateTime":
        {
            "kind": "walletobjects#eventDateTime",
            "doorsOpen": "2024-09-23T19:20:50.00"
        },
    "multipleDevicesAndHoldersAllowedStatus": "multipleHolders",
    "notifyPreference": "notifyOnUpdate",
    …
  

تنظیم notifyPreference روی notifyOnUpdate باعث فعال شدن اعلان می‌شود، مشروط بر اینکه فیلد به‌روزشده درحال‌حاضر پشتیبانی شود.

فیلدهای پشتیبانی‌شده

FlightObject
  • boardingAndSeatingInfo.seatNumber
  • boardingAndSeatingInfo.seatAssignment

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

این ویژگی به کاربرانی که اعلان‌ها را فعال کرده‌اند و دسترسی به مکان دقیق و همیشه روشن را به برنامه «کیف پول 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» باز می‌شود. کاربران می‌توانند با اشاره تند کشیدن، اعلان را ببندند. وقتی کاربر مکان را ترک کند، اعلان ناپدید خواهد شد.

اعلان‌های خودکار راه‌اندازی‌شده توسط «کیف پول Google»

اعلان بعدی

‫Google Wallet سه ساعت قبل‌از پرواز اعلانی به کاربر ارسال می‌کند. زمان پرواز را class.localScheduledDepartureDateTime تعیین می‌کند.

برای دریافت این اعلان، کاربر باید اعلان‌ها را فعال کرده باشد. برای بررسی این موضوع، می‌توانند به تنظیمات > اعلان‌ها بروند و ببینند به‌روزرسانی‌های مربوط به مجوزهای شما روشن است یا نه.

اعلان در بخش اعلان‌ها و در صفحه قفل نشان داده می‌شود، اگر کاربر اعلان‌ها را برای صفحه قفل فعال کرده باشد.

اعلان دارای قالب غیرقابل‌تغییر زیر است:

  Boarding pass for your flight to class.destination.airportIataCode
  

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

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

اعلان سنجاق شده است و پس‌از اینکه کاربر آن را باز کرد به‌طور خودکار بسته نمی‌شود. بستن خودکار ۶۰ دقیقه پس‌از class.localScheduledDepartureDateTime انجام می‌شود.

اعلان به‌روزرسانی پرواز

وقتی فیلدهای خاصی از پرواز تغییر می‌کند، کاربرانی که یک یا چند کارت پرواز اضافه کرده‌اند اعلان لحظه‌ای در دستگاهشان دریافت می‌کنند. این اتفاق فقط درصورت وجود شرایط خاصی رخ می‌دهد.

پایانه و گیت مبدأ

اگر class.origin.terminal یا class.origin.gate را تغییر دهید، و شرط زیر برآورده شود، اعلانی ارسال می‌شود که فیلد تغییر کرده است.

  • کمتر از سه ساعت تا class.localScheduledDepartureDateTime باقی مانده است.

اعلان در قالب زیر است: «Sample Airlines دروازه شما را به A1 به‌روزرسانی کرده است.» قالب قابل تغییر نیست.

زمان سوار شدن و زمان حرکت

اگر class.localBoardingDateTime یا class.localEstimatedOrActualDepartureDateTime را تغییر دهید و شرایط زیر برآورده شود، اعلانی ارسال می‌شود که نشان می‌دهد فیلد تغییر کرده است.

  • کمتر از ۳ ساعت تا class.localScheduledDepartureDateTime باقی مانده است.
  • زمان مربوطه حداقل ۱۰ دقیقه یا بیشتر تغییر کند.

اعلان در قالب زیر است: «_Sample Airlines زمان سوار شدن شما را به ساعت ۶:۰۰ عصر به‌روزرسانی کرده است._» قالب یا زبان را نمی‌توان سفارشی‌سازی کرد.