Engage SDK Travel: دستورالعمل‌های یکپارچه‌سازی فنی شخص ثالث، Engage SDK Travel: دستورالعمل‌های یکپارچه‌سازی فنی شخص ثالث

Google در حال ساخت یک سطح روی دستگاه است که برنامه های کاربران را بر اساس عمودی سازماندهی می کند و یک تجربه همهجانبه جدید را برای مصرف شخصی و کشف محتوای برنامه امکان پذیر می کند. این تجربه تمام صفحه به شرکای توسعه‌دهنده فرصتی می‌دهد تا بهترین محتوای غنی خود را در یک کانال اختصاصی خارج از برنامه خود به نمایش بگذارند. این راهنما حاوی دستورالعمل‌هایی برای شرکای برنامه‌نویس است تا محتوای سفر و رویدادهای خود را با استفاده از Engage SDK برای پر کردن این سطح جدید یکپارچه کنند.

جزئیات یکپارچه سازی

واژه شناسی

این ادغام شامل سه نوع خوشه زیر است: توصیه ، ویژه و ادامه .

  • دسته‌های توصیه ، پیشنهادهای شخصی‌شده سفر و رویداد را از یک شریک توسعه‌دهنده نشان می‌دهند. این توصیه‌ها را می‌توان برای کاربر شخصی‌سازی کرد یا تعمیم داد (به عنوان مثال، موارد پرطرفدار). از آنها برای نمایش مقالات، رویدادها، اقامتگاه ها یا توصیه های مکان های دیدنی استفاده کنید.

    • یک خوشه Recommendation می تواند از لیست های ArticleEntity ، EventEntity ، LodgingEntity ، PointOfInterestEntity یا StoreEntity ساخته شود، اما ترکیبی از انواع موجودیت های مختلف نباشد.

    توصیه های شما ساختار زیر را دارد:

    • Recommendation Cluster: نمای رابط کاربری که شامل گروهی از توصیه‌های یک شریک توسعه‌دهنده است.

    • Entity: یک شی که یک آیتم را در یک خوشه نشان می دهد. این ادغام برخی از موجودیت هایی را ارائه می دهد که با استفاده از خوشه توصیه ظاهر می شوند:

      • ArticleEntity : ArticleEntity یک توصیه برای محتوای متنی مرتبط با سفر و رویدادها است. می توان از آن برای مقالات، پست های وبلاگ، محتوای بازاریابی، قطعات خبری و غیره استفاده کرد.

        شکل 1: UI که یک ArticleEntity را در کلاستر Recommendations نشان می دهد.
      • EventEntity : EventEntity نشان دهنده رویدادی است که در آینده اتفاق می افتد. زمان شروع رویداد یک بخش مهم از اطلاعات است که باید به کاربران منتقل شود.

        شکل 2: رابط کاربری که یک EventEntity را در کلاستر Recommendations نشان می دهد.
      • LodgingEntity : LodgingEntity نشان دهنده محل اقامتی مانند هتل، آپارتمان، خانه تعطیلات برای اجاره کوتاه مدت و بلند مدت است.

        شکل 3: UI که یک LodgingEntity را در کلاستر Recommendations نشان می دهد.
      • StoreEntity : StoreEntity یک فروشگاه، رستوران، کافه و غیره را نشان می‌دهد. محتوایی را که در آن مکان غذاخوری یا فروشگاه، بخش مهمی از اطلاعات است که باید به کاربران منتقل شود، برجسته می‌کند.

        شکل 4: رابط کاربری که یک StoreEntity را در کلاستر Recommendations نشان می دهد.
      • PointOfInterestEntity : PointOfInterestEntity نشان دهنده مکان مورد علاقه مانند، پمپ بنزین، محل برگزاری رویداد، پارک موضوعی، موزه، جاذبه توریستی، مسیر پیاده روی و غیره است. محتوایی را برجسته می کند که در آن مکان یک قطعه اطلاعات مهم است که باید به کاربران منتقل شود. نباید برای اقامت، فروشگاه یا محل غذاخوری استفاده شود.

        شکل 5: رابط کاربری که یک PointOfInterestEntity را در کلاستر Recommendations نشان می دهد.
  • خوشه Continuation محتوایی را نشان می‌دهد که اخیراً توسط کاربران چند شریک توسعه‌دهنده در یک گروه UI واحد درگیر شده است. هر شریک توسعه دهنده مجاز است حداکثر 10 موجودیت را در خوشه Continuation پخش کند.

    محتوای ادامه شما می تواند ساختار زیر را داشته باشد:

    • ArticleEntity : ArticleEntity یک توصیه برای محتوای مرتبط با سفر و رویدادها است. این موجودیت می تواند برای نشان دادن مقالات خبری ناتمام یا سایر محتوایی که کاربر مایل است از جایی که آن را ترک کرده است به مصرف خود ادامه دهد، استفاده شود. مثال: قطعه خبری، قطعه پست وبلاگ در مورد یک مقصد سفر یا یک رویداد.

      شکل 6. UI که یک ArticleEntity منفرد را در یک Cluster Continuation نشان می دهد.
    • RestaurantReservationEntity : RestaurantReservationEntity نشان دهنده رزرو یک رستوران یا کافه است و به کاربران کمک می کند تا رزروهای رستوران آتی یا در حال انجام را پیگیری کنند.

      شکل 7. UI که یک RestaurantReservationEntity را در یک Cluster Continuation نشان می دهد.
    • EventReservationEntity : EventReservationEntity یک رزرو برای یک رویداد را نشان می دهد و به کاربران کمک می کند رزرو رویدادهای آینده یا در حال انجام را پیگیری کنند. رویدادها می توانند شامل موارد زیر باشند، اما نه محدود به آنها:

      • رویدادهای ورزشی مانند رزرو برای یک مسابقه فوتبال
      • رویدادهای بازی مانند رزرو برای ورزش های الکترونیکی
      • رویدادهای سرگرمی مانند رزرو فیلم در سینما، کنسرت، تئاتر، امضای کتاب
      • رزرو سفر یا نقاط مورد علاقه مانند تورهای راهنما، بلیط موزه
      • اجتماعی / سمینار / کنفرانس ها رزرو
      • آموزش / رزرو جلسات آموزشی
      شکل 8. UI که یک EventReservationEntity را در یک Cluster Continuation نشان می دهد.
    • LodgingReservationEntity : LodgingEntityReservation نشان دهنده رزرو اقامتگاه مسافرتی است و به کاربران کمک می کند رزروهای آتی یا جاری هتل یا تعطیلات را ردیابی کنند.

      شکل 9. UI که یک LodgingReservationEntity را در یک Cluster Continuation نشان می دهد.
    • TransportationReservationEntity : TransportationReservationEntity نشان دهنده رزرو برای حمل و نقل با هر حالتی است و به کاربران کمک می کند تا رزروهای پرواز آینده یا جاری، کشتی، قطار، اتوبوس، سواری-تگرگ، یا سفر دریایی را پیگیری کنند.

      شکل 10. UI که یک TransportationReservationEntity را در یک Cluster Continuation نشان می دهد.
    • VehicleRentalReservationEntity : VehicleRentalReservationEntity نشان دهنده رزرو کرایه وسیله نقلیه است و به کاربران کمک می کند رزروهای اجاره خودروی آینده یا در حال انجام را پیگیری کنند.

      شکل 11. UI که یک VehicleRentalReservationEntity را در یک Cluster Continuation نشان می دهد.
  • خوشه Featured یک نمای رابط کاربری است که قهرمان انتخاب شده GenericFeaturedEntity را از بسیاری از شرکای توسعه دهنده در یک گروه UI به نمایش می گذارد. یک خوشه ویژه وجود دارد که در نزدیکی بالای رابط کاربری ظاهر شده است، با اولویت بالاتر از همه خوشه‌های توصیه. هر شریک توسعه‌دهنده مجاز است یک موجودیت واحد از نوع پشتیبانی‌شده را در «ویژگی‌ها» با تعداد زیادی نهاد (احتمالاً از انواع مختلف) از چندین برنامه‌نویس برنامه در خوشه ویژه پخش کند.

    • GenericFeaturedEntity : GenericFeaturedEntity با آیتم توصیه تفاوت دارد زیرا آیتم Featured باید برای یک محتوای برتر از توسعه دهندگان استفاده شود و باید مهمترین محتوایی را نشان دهد که برای کاربران جالب و مرتبط باشد.

      شکل 12: رابط کاربری که یک FeaturedCluster را با لیستی از GenericFeaturedEntity نشان می دهد.

قبل از کار

حداقل سطح API: 19

کتابخانه com.google.android.engage:engage-core به برنامه خود اضافه کنید:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

خلاصه

طراحی بر اساس اجرای یک سرویس محدود است.

داده‌هایی که مشتری می‌تواند منتشر کند مشمول محدودیت‌های زیر برای انواع مختلف خوشه است:

نوع خوشه محدودیت های خوشه ای حداقل محدودیت موجودیت در یک خوشه حداکثر محدودیت موجودیت در یک خوشه
خوشه(های) توصیه حداکثر 5 حداقل 5 حداکثر 25 ( ArticleEntity ، EventEntity ، LodgingEntity ، StoreEntity ، یا PointOfInterestEntity )
خوشه ادامه حداکثر 1 حداقل 1 حداکثر 10 ( ArticleEntity , RestaurantReservationEntity EventReservationEntity , LodgingReservationEntity , TransportationReservationEntity یا VehicleRentalReservationEntity )
خوشه ویژه حداکثر 1 حداقل 1 حداکثر 10 ( GenericFeaturedEntity )

مرحله 1: داده های موجودیت را ارائه دهید

SDK موجودیت های مختلفی را برای نشان دادن هر نوع مورد تعریف کرده است. ما از نهادهای زیر برای دسته سفر و رویدادها پشتیبانی می کنیم:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. RestaurantReservationEntity
  8. EventReservationEntity
  9. LodgingReservationEntity
  10. TransportationReservationEntity
  11. VehicleRentalReservationEntity

نمودارهای زیر ویژگی ها و الزامات موجود برای هر نوع را مشخص می کند.

GenericFeaturedEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
تصاویر پوستر ضروری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: در صورت ارائه نشان، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
عنوان اختیاری عنوان نهاد.

متن آزاد

اندازه متن پیشنهادی: 50 کاراکتر

شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

درمان ویژه UX در بالای تصویر/فیلم، به عنوان مثال، به عنوان پوشش نشان روی تصویر

  • "به روز رسانی زنده"
  • مدت زمان خواندن مقاله
نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
دسته بندی های محتوا اختیاری دسته بندی محتوا را در موجودیت توضیح دهید.

فهرست Enums

برای راهنمایی به بخش دسته بندی محتوا مراجعه کنید.

ArticleEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

متن آزاد

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

تصاویر پوستر اختیاری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: تصویر به شدت توصیه می شود. اگر نشان ارائه شده است، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
منبع - عنوان اختیاری نام نویسنده، سازمان یا گزارشگر

متن آزاد

اندازه متن پیشنهادی: زیر 25 کاراکتر

منبع - تصویر اختیاری تصویری از منبع مانند نویسنده، سازمان، گزارشگر برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

درمان ویژه UX در بالای تصویر/فیلم، به عنوان مثال، به عنوان همپوشانی نشان روی تصویر

  • "به روز رسانی زنده"
  • مدت زمان خواندن مقاله
نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
زمان انتشار محتوا اختیاری این مهر زمانی در میلی ثانیه در زمانی است که محتوا در برنامه منتشر شد/به‌روزرسانی شد. مهر زمانی دوره در میلی ثانیه
آخرین زمان نامزدی مشروط الزامی است

مهر زمانی دوره در میلی ثانیه زمانی که کاربر آخرین بار با این موجودیت تعامل داشت.

توجه: اگر این موجودیت بخشی از خوشه ادامه باشد، این فیلد ضروری است.

مهر زمانی دوره در میلی ثانیه
درصد پیشرفت مشروط الزامی است

درصد محتوای کامل مصرف شده توسط کاربر تا به امروز.

توجه: اگر این موجودیت بخشی از خوشه ادامه باشد، این فیلد ضروری است.

مقدار int بین 0 تا 100 شامل.
دسته بندی های محتوا اختیاری دسته بندی محتوا را در موجودیت توضیح دهید.

فهرست Enums

برای راهنمایی به بخش دسته بندی محتوا مراجعه کنید.

EventEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

رشته

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

زمان شروع ضروری

مهر زمانی دورانی که انتظار می رود رویداد شروع شود.

توجه: این در میلی ثانیه نمایش داده می شود.

مهر زمانی دوره در میلی ثانیه
حالت رویداد ضروری

فیلدی برای نشان دادن اینکه آیا رویداد مجازی، حضوری یا هر دو خواهد بود.

تعداد: VIRTUAL، IN_PERSON، یا HYBRID
تصاویر پوستر ضروری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: تصویر به شدت توصیه می شود. اگر نشان ارائه شده است، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
مکان - کشور مشروط الزامی است

کشوری که رویداد در آن رخ می دهد.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر مشروط الزامی است

شهری که رویداد در آن اتفاق می افتد.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش مشروط الزامی است

آدرس یا نام محل برگزاری رویداد که باید به کاربر نمایش داده شود.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) مکانی که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - کد پستی اختیاری کد پستی (در صورت وجود) مکانی که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

محل - محله اختیاری محله ای (در صورت وجود) که رویداد در آن برگزار می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

زمان پایان اختیاری

مهر زمانی دوره ای که انتظار می رود رویداد به پایان برسد.

توجه: این در میلی ثانیه نمایش داده می شود.

مهر زمانی دوره در میلی ثانیه
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
قیمت - قیمت فعلی مشروط مورد نیاز است

قیمت فعلی بلیط/گذرنامه برای رویداد.

در صورت ارائه قیمت خطی باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی بلیط/گذرنامه برای رویداد. متن آزاد
فراخوان قیمت اختیاری اعلام قیمت برای نمایش تبلیغات، رویداد، تخفیف عضو، در صورت وجود.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

دسته بندی های محتوا اختیاری دسته بندی محتوا را در موجودیت توضیح دهید.

فهرست فهرست های واجد شرایط

  • TYPE_MOVIES_AND_TV_SHOWS (مثال - سینما)
  • TYPE_DIGITAL_GAMES (مثال - ورزشهای الکترونیکی)
  • TYPE_MUSIC (مثال - کنسرت)
  • TYPE_TRAVEL_AND_LOCAL (مثال - تور، جشنواره)
  • TYPE_HEALTH_AND_FITENESS (مثال - کلاس یوگا)
  • TYPE_EDUCATION (مثال - کلاس)
  • TYPE_SPORTS (مثال - بازی فوتبال)
  • TYPE_DATING (مثال - ملاقات)

برای راهنمایی به بخش دسته بندی محتوا مراجعه کنید.

LodgingEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

رشته

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

تصاویر پوستر ضروری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: در صورت ارائه نشان، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
مکان - کشور ضروری کشوری که اقامت در آن اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر ضروری شهری که در آن اقامتگاه اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش ضروری آدرس اقامتگاهی که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) محل اقامت.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که اقامتگاه در آن واقع شده است.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - کد پستی اختیاری کد پستی (در صورت وجود) اقامتگاه.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

محل - محله اختیاری محله (در صورت وجود) محل اقامت.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

AvailabilityTimeWindow - زمان شروع اختیاری زمانی که انتظار می‌رود اقامتگاه باز/در دسترس باشد، مهر زمانی دوره در میلی‌ثانیه است. مهر زمانی دوره در میلی ثانیه
AvailabilityTimeWindow - زمان پایان اختیاری مهر زمانی دوره در میلی ثانیه که انتظار می‌رود اقامتگاه باز/در دسترس باشد. مهر زمانی دوره در میلی ثانیه
رتبه - حداکثر مقدار اختیاری

حداکثر مقدار مقیاس رتبه بندی.

اگر ارزش فعلی رتبه‌بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه - ارزش فعلی اختیاری

ارزش فعلی مقیاس رتبه بندی.

اگر حداکثر مقدار رتبه بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه بندی - شمارش اختیاری

شمارش رتبه بندی برای اقامتگاه.

توجه: اگر برنامه شما می‌خواهد نحوه نمایش آن را برای کاربران کنترل کند، این قسمت را وارد کنید. رشته مختصری را ارائه دهید که می تواند به کاربر نمایش داده شود. برای مثال، اگر تعداد 1,000,000 باشد، از اختصاراتی مانند 1M استفاده کنید تا در اندازه‌های نمایشگر کوچک‌تر کوتاه نشود.

رشته
رتبه بندی - مقدار شمارش اختیاری

شمارش رتبه بندی برای اقامتگاه.

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

طولانی
قیمت - قیمت فعلی مشروط مورد نیاز است

قیمت فعلی اقامتگاه

در صورت ارائه قیمت خطی باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی اقامتگاه، که در UI مشخص شده است. متن آزاد
فراخوان قیمت اختیاری اعلام قیمت برای نمایش تبلیغات، رویداد، تخفیف عضو، در صورت وجود.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

StoreEntity

شی StoreEntity نشان دهنده یک فروشگاه فردی است که شرکای توسعه دهنده می خواهند منتشر کنند، مانند یک رستوران یا یک فروشگاه مواد غذایی.

صفت مورد نیاز شرح قالب
تصاویر پوستر ضروری حداقل یک تصویر باید ارائه شود. برای راهنمایی به مشخصات تصویر مراجعه کنید.
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان اختیاری نام فروشگاه.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

محل اختیاری موقعیت فروشگاه.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

فراخوانی اختیاری فراخوانی برای ارائه تبلیغات، رویداد یا به‌روزرسانی برای فروشگاه، در صورت وجود.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

چاپ ریز چاپ اختیاری متن چاپ دقیق برای فراخوانی.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

شرح اختیاری توضیحات فروشگاه

متن آزاد

اندازه متن توصیه شده: کمتر از 90 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

رتبه - حداکثر مقدار اختیاری

حداکثر مقدار مقیاس رتبه بندی.

اگر ارزش فعلی رتبه‌بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه - ارزش فعلی اختیاری

ارزش فعلی مقیاس رتبه بندی.

اگر حداکثر مقدار رتبه بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه بندی - شمارش اختیاری

شمارش رتبه بندی برای اقامتگاه.

توجه: اگر برنامه شما می‌خواهد نحوه نمایش آن را برای کاربران کنترل کند، این قسمت را وارد کنید. رشته مختصری را ارائه دهید که می تواند به کاربر نمایش داده شود. برای مثال، اگر تعداد 1,000,000 باشد، از اختصاراتی مانند 1M استفاده کنید تا در اندازه‌های نمایشگر کوچک‌تر کوتاه نشود.

رشته
رتبه بندی - مقدار شمارش اختیاری

شمارش رتبه بندی برای اقامتگاه.

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

طولانی

PointOfInterestEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

رشته

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

تصاویر پوستر ضروری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: تصویر به شدت توصیه می شود. اگر نشان ارائه شده است، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
مکان - کشور ضروری کشوری که نقطه مورد علاقه در آن اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر ضروری شهری که نقطه دیدنی در آن اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش ضروری آدرس نقطه مورد علاقه که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) نقطه مورد علاقه.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که نقطه مورد نظر در آن واقع شده است.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - کد پستی اختیاری کد پستی (در صورت وجود) نقطه مورد علاقه.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

محل - محله اختیاری محله (در صورت وجود) نقطه مورد علاقه.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

AvailabilityTimeWindow - زمان شروع اختیاری زمانی که انتظار می‌رود نقطه مورد نظر باز/در دسترس باشد، مهر زمانی دوره در میلی‌ثانیه است. مهر زمانی دوره در میلی ثانیه
AvailabilityTimeWindow - زمان پایان اختیاری مهر زمانی دوره در میلی ثانیه که انتظار می رود نقطه مورد نظر باز/در دسترس باشد. مهر زمانی دوره در میلی ثانیه
نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

رتبه - حداکثر مقدار اختیاری

حداکثر مقدار مقیاس رتبه بندی.

اگر ارزش فعلی رتبه‌بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه - ارزش فعلی اختیاری

ارزش فعلی مقیاس رتبه بندی.

اگر حداکثر مقدار رتبه بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه بندی - شمارش اختیاری

شمارش رتبه بندی برای نقطه مورد علاقه.

توجه: اگر برنامه شما می‌خواهد نحوه نمایش آن را برای کاربران کنترل کند، این قسمت را وارد کنید. رشته مختصری را ارائه دهید که می تواند به کاربر نمایش داده شود. برای مثال، اگر تعداد 1,000,000 باشد، از اختصاراتی مانند 1M استفاده کنید تا در اندازه‌های نمایشگر کوچک‌تر کوتاه نشود.

رشته
رتبه بندی - مقدار شمارش اختیاری

شمارش رتبه بندی برای نقطه مورد علاقه.

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

طولانی
قیمت - قیمت فعلی مشروط مورد نیاز است

قیمت فعلی بلیت / مجوز ورود برای نقطه مورد علاقه.

در صورت ارائه قیمت خطی باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی بلیط / مجوز ورود برای نقطه مورد علاقه. متن آزاد
فراخوان قیمت اختیاری اعلام قیمت برای نمایش تبلیغات، رویداد، تخفیف عضو، در صورت وجود.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

دسته بندی های محتوا اختیاری دسته بندی محتوا را در موجودیت توضیح دهید.

فهرست فهرست های واجد شرایط

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_MOVIES_AND_TV_SHOWS (مثال - تئاتر)
  • TYPE_MEDICAL (مثال - بیمارستان)
  • TYPE_EDUCATION (مثال - مدرسه)
  • TYPE_SPORTS (مثال - استادیوم)

برای راهنمایی به بخش دسته بندی محتوا مراجعه کنید.

RestaurantReservationEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

رشته

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

زمان شروع رزرو ضروری زمانی که انتظار می‌رود رزرو شروع شود، مهر زمانی دوره در میلی‌ثانیه است. مهر زمانی دوره در میلی ثانیه
مکان - کشور ضروری کشوری که رستوران در آن اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر ضروری شهری که رستوران در آن اتفاق می افتد.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش ضروری آدرس پیش رستورانی که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) رستوران.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که رستوران در آن واقع شده است.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - کد پستی اختیاری کد پستی (در صورت وجود) رستوران.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

محل - محله اختیاری محله (در صورت وجود) رستوران.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

تصاویر پوستر اختیاری هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

اندازه جدول اختیاری تعداد افراد در گروه رزرو عدد صحیح > 0

EventReservationEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

رشته

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

زمان شروع ضروری

مهر زمانی دورانی که انتظار می رود رویداد شروع شود.

توجه: این در میلی ثانیه نمایش داده می شود.

مهر زمانی دوره در میلی ثانیه
حالت رویداد ضروری

فیلدی برای نشان دادن اینکه آیا رویداد مجازی، حضوری یا هر دو خواهد بود.

تعداد: VIRTUAL، IN_PERSON، یا HYBRID
مکان - کشور مشروط مورد نیاز است

کشوری که رویداد در آن رخ می دهد.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر مشروط الزامی است

شهری که رویداد در آن اتفاق می افتد.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش مشروط الزامی است

آدرس یا نام محل برگزاری رویداد که باید به کاربر نمایش داده شود.

توجه: این برای رویدادهایی که IN_PERSON یا HYBRID هستند لازم است

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) مکانی که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - کد پستی اختیاری کد پستی (در صورت وجود) مکانی که رویداد در آن میزبانی می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

محل - محله اختیاری محله ای (در صورت وجود) که رویداد در آن برگزار می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

تصاویر پوستر اختیاری

هنگامی که چندین تصویر ارائه می شود، تنها 1 تصویر را نشان خواهیم داد. نسبت تصویر پیشنهادی 16:9 است

توجه: تصویر به شدت توصیه می شود. اگر نشان ارائه شده است، از فضای ایمن 24 dps در بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
زمان پایان اختیاری

مهر زمانی دوره ای که انتظار می رود رویداد به پایان برسد.

توجه: این در میلی ثانیه نمایش داده می شود.

مهر زمانی دوره در میلی ثانیه
ارائه دهنده خدمات - نام اختیاری

نام ارائه دهنده خدمات.

توجه: متن یا تصویر برای ارائه دهنده خدمات مورد نیاز است.

متن آزاد. به عنوان مثال، نام برگزار کننده رویداد/تور
ارائه دهنده خدمات - تصویر اختیاری

آرم/تصویر ارائه دهنده خدمات.

توجه: متن یا تصویر برای ارائه دهنده خدمات مورد نیاز است.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف متنی برای توصیف موجودیت.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن پیشنهادی: 180 کاراکتر

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس، با هر زیرنویس یک خط متن.

توجه: توضیحات یا لیست زیرنویس برای کاربر نمایش داده می شود، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

نشان ها اختیاری

هر نشان یا متن آزاد (حداکثر 15 کاراکتر) یا تصویر کوچک است.

نشان - متن اختیاری

عنوان برای نشان

توجه: متن یا تصویر برای نشان مورد نیاز است

متن آزاد

اندازه متن پیشنهادی: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX، برای مثال به عنوان روکش نشان روی تصویر کوچک تصویر/ویدیو.

توجه: متن یا تصویر برای نشان مورد نیاز است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شناسه رزرو اختیاری شناسه رزرو برای رزرو رویداد. متن آزاد
قیمت - قیمت فعلی مشروط مورد نیاز است

قیمت فعلی بلیط/گذرنامه برای رویداد.

در صورت ارائه قیمت خطی باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی بلیط/گذرنامه برای رویداد. متن آزاد
فراخوان قیمت اختیاری اعلام قیمت برای نمایش تبلیغات، رویداد، تخفیف عضو، در صورت وجود.

متن آزاد

اندازه متن توصیه شده: کمتر از 45 کاراکتر (متنی که خیلی طولانی است ممکن است بیضی نشان دهد)

رتبه - حداکثر مقدار اختیاری

حداکثر مقدار مقیاس رتبه بندی.

اگر ارزش فعلی رتبه‌بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه - ارزش فعلی اختیاری

ارزش فعلی مقیاس رتبه بندی.

اگر حداکثر مقدار رتبه بندی نیز ارائه شده باشد، باید ارائه شود.

عدد >= 0.0
رتبه بندی - شمارش اختیاری

تعداد امتیازات این رویداد.

توجه: اگر برنامه شما می‌خواهد نحوه نمایش آن را برای کاربران کنترل کند، این قسمت را وارد کنید. رشته مختصری را ارائه دهید که می تواند به کاربر نمایش داده شود. برای مثال، اگر تعداد 1,000,000 باشد، از اختصاراتی مانند 1M استفاده کنید تا در اندازه‌های نمایشگر کوچک‌تر کوتاه نشود.

رشته
رتبه بندی - مقدار شمارش اختیاری

تعداد امتیازات این رویداد.

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

طولانی
دسته بندی های محتوا اختیاری دسته بندی محتوا را در موجودیت توضیح دهید.

فهرست فهرست های واجد شرایط

  • TYPE_MOVIES_AND_TV_SHOWS (مثال - سینما)
  • TYPE_DIGITAL_GAMES (مثال - ورزشهای الکترونیکی)
  • TYPE_MUSIC (مثال - کنسرت)
  • TYPE_TRAVEL_AND_LOCAL (مثال - تور، جشنواره)
  • TYPE_HEALTH_AND_FITENESS (مثال - کلاس یوگا)
  • TYPE_EDUCATION (مثال - کلاس)
  • TYPE_SPORTS (مثال - بازی فوتبال)
  • TYPE_DATING (مثال - ملاقات)

برای راهنمایی به بخش دسته بندی محتوا مراجعه کنید.

LodgingReservationEntity

صفت مورد نیاز شرح قالب
اکشن اوری ضروری

پیوند عمیق به نهاد موجود در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای ذکر منبع استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان نهاد.

متن آزاد. به عنوان مثال، "اقامت شما از 12 دسامبر"

اندازه متن پیشنهادی: حداکثر 50 کاراکتر

زمان ورود ضروری مهر زمانی دوره در میلی ثانیه که نشان دهنده زمان بررسی برای رزرو است. مهر زمانی دوره در میلی ثانیه
زمان خروج ضروری مهر زمانی دوره در میلی ثانیه که نشان دهنده زمان خروج برای رزرو است. مهر زمانی دوره در میلی ثانیه
مکان - کشور ضروری کشوری که اقامتگاه در آن واقع شده است.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - شهر ضروری شهری که اقامتگاه در آن واقع شده است.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - نشانی نمایش ضروری آدرس اقامتگاهی که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) محل اقامت.

متن آزاد

اندازه متن پیشنهادی: حداکثر ~20 کاراکتر

مکان - ایالت اختیاری ایالت یا استان (در صورت وجود) که اقامتگاه در آن واقع شده است.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان - کد پستی اختیاری کد پستی (در صورت کاربرد) اقامتگاه.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان - محله اختیاری محله (در صورت کاربرد) اقامتگاه.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

تصاویر پوستر اختیاری

ما فقط در هنگام ارائه چندین تصویر فقط 1 تصویر را نشان خواهیم داد. نسبت ابعاد توصیه شده 16: 9 است

توجه: اگر نشان ارائه شده است ، از فضای امن 24 dps در هر دو قسمت بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف واحد برای توصیف موجودیت.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده: 180 بار

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس ، با هر زیرنویس یک خط متن.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

شناسه رزرو اختیاری شناسه رزرو برای رزرو اقامتگاه. متن آزاد
رتبه بندی - مقدار حداکثر اختیاری

حداکثر مقدار مقیاس رتبه بندی.

اگر مقدار فعلی رتبه بندی نیز ارائه شود ، باید ارائه شود.

شماره> = 0.0
رتبه بندی - مقدار فعلی اختیاری

مقدار فعلی مقیاس رتبه بندی.

اگر حداکثر ارزش رتبه بندی نیز ارائه شود ، باید ارائه شود.

شماره> = 0.0
رتبه بندی - شمارش اختیاری

تعداد رتبه بندی برای اقامتگاه.

توجه: اگر برنامه شما می خواهد نحوه نمایش این کار را به کاربران کنترل کند ، این قسمت را ارائه دهید. رشته مختصر را که می تواند برای کاربر نمایش داده شود فراهم کنید. به عنوان مثال ، اگر تعداد آنها 1،000،000 است ، استفاده از اختصارات مانند 1M را در نظر بگیرید تا در اندازه های صفحه نمایش کوچکتر کوتاه نشود.

رشته
رتبه بندی - مقدار شمارش اختیاری

تعداد رتبه بندی برای اقامتگاه.

توجه: اگر نمی خواهید منطق اختصاری نمایشگر را اداره کنید ، این قسمت را ارائه دهید. اگر هر دو مقدار شمارش و شمارش وجود داشته باشد ، ما از Count برای نمایش به کاربران استفاده خواهیم کرد

طولانی
قیمت - نسخه فعلی به طور مشروط مورد نیاز است

قیمت فعلی اقامتگاه.

در صورت ارائه قیمت Strikethrough باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی اقامتگاه ، که در UI مورد ضرب و شتم قرار می گیرد. متن آزاد
فراخوان قیمت اختیاری در صورت وجود ، فراخوان قیمت برای ارائه یک تبلیغ ، رویداد ، تخفیف عضو.

متن آزاد

اندازه متن توصیه شده: زیر 45 کاراکتر (متن خیلی طولانی ممکن است بیضی نشان دهد)

TransportationReservationEntity

صفت مورد نیاز شرح قالب
عمل ضروری

پیوند عمیق به نهاد در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای انتساب استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان موجودیت.

متن آزاد. به عنوان مثال ، "SFO به SAN"

اندازه متن توصیه شده: حداکثر 50 کاراکتر

نوع حمل و نقل ضروری حالت/نوع حمل و نقل برای رزرو. enum: پرواز ، قطار ، اتوبوس یا کشتی
زمان خروج ضروری زمان سنجی دوره در میلی ثانیه که نمایانگر زمان عزیمت است. زمان سنجی دوره در میلی ثانیه
زمان رسیدن ضروری زمان سنجی دوره در میلی ثانیه که نشان دهنده زمان ورود است. زمان سنجی دوره در میلی ثانیه
مکان عزیمت - کشور اختیاری کشور عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان عزیمت - شهر اختیاری شهر عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان عزیمت - آدرس نمایش اختیاری محل عزیمت که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

محل عزیمت - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) محل عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

محل عزیمت - ایالت اختیاری ایالت یا استان (در صورت لزوم) محل عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

محل عزیمت - کد پستی اختیاری کد پستی (در صورت وجود) محل عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

محل عزیمت - محله اختیاری محله (در صورت وجود) محل عزیمت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - کشور اختیاری کشور ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - شهر اختیاری شهر ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - آدرس نمایش اختیاری محل ورود که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) از محل ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - ایالت اختیاری ایالت یا استان (در صورت وجود) از محل ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - کد پستی اختیاری کد پستی (در صورت وجود) از محل ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

مکان ورود - محله اختیاری محله (در صورت وجود) از محل ورود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

ارائه دهنده خدمات - نام اختیاری

نام ارائه دهنده خدمات.

توجه: برای ارائه دهنده خدمات یا متن یا تصویر لازم است.

متن آزاد. به عنوان مثال ، نام هواپیمایی
ارائه دهنده خدمات - تصویر اختیاری

آرم/تصویر ارائه دهنده خدمات.

توجه: برای ارائه دهنده خدمات یا متن یا تصویر لازم است.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
تصاویر پوستر اختیاری

ما فقط در هنگام ارائه چندین تصویر فقط 1 تصویر را نشان خواهیم داد. نسبت ابعاد توصیه شده 16: 9 است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف واحد برای توصیف موجودیت.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده: 180 بار

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس ، با هر زیرنویس یک خط متن.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

شناسه رزرو اختیاری شناسه رزرو برای رزرو حمل و نقل. متن آزاد
قیمت - نسخه فعلی به طور مشروط مورد نیاز است

قیمت فعلی رزرو.

در صورت ارائه قیمت Strikethrough باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی رزرو ، که در UI از بین می رود. متن آزاد
فراخوان قیمت اختیاری در صورت وجود ، فراخوان قیمت برای ارائه یک تبلیغ ، رویداد ، تخفیف عضو.

متن آزاد

اندازه متن توصیه شده: زیر 45 کاراکتر (متن خیلی طولانی ممکن است بیضی نشان دهد)

شماره حمل و نقل ضروری شماره پرواز ، شماره اتوبوس ، شماره قطار یا شماره کشتی/کروز. متن آزاد
زمان سوار شدن به هواپیما ضروری Timestamp Epoch که نشان دهنده زمان شبانه روزی برای رزرو است (در صورت کاربرد) زمان سنجی دوره در میلی ثانیه

VehicleRentalReservationEntity

صفت مورد نیاز شرح قالب
عمل ضروری

پیوند عمیق به نهاد در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای انتساب استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان موجودیت.

متن آزاد. به عنوان مثال ، "Avis Union Square SF"

اندازه متن توصیه شده: حداکثر 50 کاراکتر

زمان وانت ضروری زمان سنجی که نشان دهنده زمان انتخاب برای رزرو است. زمان سنجی دوره در میلی ثانیه
زمان برگشت اختیاری زمان سنجی که نشان دهنده زمان چک برای رزرو است. زمان سنجی دوره در میلی ثانیه
آدرس وانت - کشور اختیاری کشور محل وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - شهر اختیاری شهر وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - آدرس نمایش اختیاری مکان وانت که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) از محل وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - حالت اختیاری ایالت یا استان (در صورت وجود) از محل وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - کد پستی اختیاری کد پستی (در صورت وجود) محل وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس وانت - محله اختیاری محله (در صورت وجود) از محل وانت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - کشور اختیاری محل بازگشت کشور.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - شهر اختیاری شهر بازگشت شهر.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - آدرس نمایش اختیاری مکان برگشتی که به کاربر نمایش داده می شود.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - آدرس خیابان اختیاری آدرس خیابان (در صورت وجود) از محل بازگشت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - ایالت اختیاری ایالت یا استان (در صورت وجود) از محل بازگشت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - کد پستی اختیاری کد پستی (در صورت وجود) از محل بازگشت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

آدرس بازگشت - محله اختیاری محله (در صورت وجود) از محل بازگشت.

متن آزاد

اندازه متن توصیه شده: حداکثر 20 chars

ارائه دهنده خدمات - نام اختیاری

نام ارائه دهنده خدمات.

توجه: برای ارائه دهنده خدمات یا متن یا تصویر لازم است.

متن آزاد. به عنوان مثال ، "اجاره ماشین Avis"
ارائه دهنده خدمات - تصویر اختیاری

آرم/تصویر ارائه دهنده خدمات.

توجه: برای ارائه دهنده خدمات یا متن یا تصویر لازم است.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
تصاویر پوستر اختیاری

ما فقط در هنگام ارائه چندین تصویر فقط 1 تصویر را نشان خواهیم داد. نسبت ابعاد توصیه شده 16: 9 است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
شرح اختیاری

یک پاراگراف واحد برای توصیف موجودیت.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده: 180 بار

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس ، با هر زیرنویس یک خط متن.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

شناسه تأیید اختیاری شناسه تأیید برای رزرو اجاره وسیله نقلیه. متن آزاد
قیمت - نسخه فعلی به طور مشروط مورد نیاز است

قیمت فعلی رزرو.

در صورت ارائه قیمت Strikethrough باید ارائه شود.

متن آزاد
قیمت - StrikethroughPrice اختیاری قیمت اصلی رزرو ، که در UI از بین می رود. متن آزاد
فراخوان قیمت اختیاری در صورت وجود ، فراخوان قیمت برای ارائه یک تبلیغ ، رویداد ، تخفیف عضو.

متن آزاد

اندازه متن توصیه شده: زیر 45 کاراکتر (متن خیلی طولانی ممکن است بیضی نشان دهد)

مشخصات تصویر

مشخصات لازم برای دارایی های تصویر در این جدول ذکر شده است:

نسبت ابعاد حداقل پیکسل پیکسل های توصیه شده

مربع (1x1)

ارجح

300x300 1200x1200
چشم انداز (1.91x1) 600x314 1200x628
پرتره (4x5) 480x600 960x1200

تصاویر لازم است در CDN های عمومی میزبانی شوند تا Google بتواند به آنها دسترسی پیدا کند.

فرمت های فایل

PNG ، JPG ، GIF استاتیک ، وب

حداکثر اندازه پرونده

5120 KB

توصیه های اضافی

  • منطقه ایمن تصویر: محتوای مهم خود را در مرکز 80 ٪ از تصویر قرار دهید.
  • از پس زمینه شفاف استفاده کنید تا تصویر به درستی در تنظیمات تم تاریک و سبک نمایش داده شود.

دسته بندی محتوا

دسته محتوا به برنامه ها اجازه می دهد تا محتوای متعلق به چندین دسته را منتشر کنند. این محتوا را با برخی از دسته های از پیش تعریف شده یعنی:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

تصاویر لازم است در CDN های عمومی میزبانی شوند تا Google بتواند به آنها دسترسی پیدا کند.

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

  1. برخی از نهادها مانند مقاله و GenericFeatureDentity واجد شرایط استفاده از هر یک از دسته های محتوا هستند. برای سایر موجودات مانند EventEntity ، EventReservationEntity ، PointOfindestEntity ، فقط زیر مجموعه ای از این دسته ها واجد شرایط هستند. قبل از جمع آوری لیست ، لیست دسته های واجد شرایط برای یک نوع موجودیت را بررسی کنید.
  2. از نوع موجودیت خاص برای برخی از دسته های محتوا در ترکیبی از اشخاص عمومی و ContentCategration استفاده کنید:

  3. اگر محتوا متعلق به هیچ یک از دسته های ذکر شده در ابتدا نباشد ، قسمت ContentCategory اختیاری است و باید خالی باقی بماند.

  4. در صورت ارائه مقوله های متعدد محتوای ، آنها را به ترتیب مرتبط با محتوا با مهمترین دسته محتوا که در ابتدا در لیست قرار می گیرد ، ارائه دهید.

مرحله 2: داده های Cluster را ارائه دهید

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

AppEngagePublishClient مسئول انتشار خوشه ها است.

API های زیر برای انتشار خوشه ها در مشتری وجود دارد:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

از این API برای بررسی اینکه آیا این سرویس برای ادغام در دسترس است و آیا محتوا می تواند در دستگاه ارائه شود ، استفاده می شود.

کاتلین


client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

جاوا


client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

از این API برای انتشار لیستی از اشیاء RecommendationCluster استفاده می شود.

کاتلین


client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

جاوا


client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

هنگامی که سرویس درخواست را دریافت می کند ، اقدامات زیر در یک معامله انجام می شود:

  • داده های RecommendationCluster موجود از شریک توسعه دهنده حذف می شوند.
  • داده های این درخواست در خوشه توصیه به روز شده تجزیه و ذخیره می شوند.

در صورت بروز خطا ، کل درخواست رد می شود و وضعیت موجود حفظ می شود.

publishFeaturedCluster

از این API برای انتشار لیستی از اشیاء FeaturedCluster استفاده می شود.

کاتلین


client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

جاوا


client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

هنگامی که سرویس درخواست را دریافت می کند ، اقدامات زیر در یک معامله انجام می شود:

  • داده های FeaturedCluster موجود از شریک توسعه دهنده حذف می شود.
  • داده های حاصل از درخواست تجزیه و در خوشه برجسته به روز شده ذخیره می شود.

در صورت بروز خطا ، کل درخواست رد می شود و وضعیت موجود حفظ می شود.

publishContinuationCluster

این API برای انتشار یک شیء ContinuationCluster استفاده می شود.

کاتلین


client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

جاوا


client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

هنگامی که سرویس درخواست را دریافت می کند ، اقدامات زیر در یک معامله انجام می شود:

  • داده های ContinuationCluster موجود از شریک توسعه دهنده حذف می شوند.
  • داده های حاصل از درخواست در خوشه ادامه به روز شده تجزیه و ذخیره می شوند.

در صورت بروز خطا ، کل درخواست رد می شود و وضعیت موجود حفظ می شود.

publishUserAccountManagementRequest

این API برای انتشار یک علامت در کارت استفاده می شود. اقدام Signin کاربران را به صفحه ورود به سیستم هدایت می کند تا برنامه بتواند محتوا را منتشر کند (یا محتوای شخصی تر ارائه می دهد)

ابرداده زیر بخشی از علامت در کارت است -

صفت مورد نیاز شرح
عمل ضروری Deeplink to Action (یعنی به سیستم ورود به سیستم وارد صفحه می شود)
تصویر اختیاری - در صورت عدم ارائه ، عنوان باید ارائه شود

تصویر نشان داده شده روی کارت

16x9 تصاویر نسبت ابعاد با وضوح 1264x712

عنوان اختیاری - در صورت عدم ارائه ، تصویر باید ارائه شود عنوان روی کارت
متن عمل اختیاری متن نشان داده شده در CTA (یعنی ورود به سیستم)
عنوان فرعی اختیاری زیرنویس اختیاری روی کارت

کاتلین


var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

جاوا


SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

هنگامی که سرویس درخواست را دریافت می کند ، اقدامات زیر در یک معامله انجام می شود:

  • داده های موجود در مورد UserAccountManagementCluster از شریک توسعه دهنده حذف می شود.
  • داده های این درخواست در خوشه به روز شده UserAccountManagementCluster به روز شده و ذخیره می شوند.

در صورت بروز خطا ، کل درخواست رد می شود و وضعیت موجود حفظ می شود.

updatePublishStatus

اگر به هر دلیل تجاری داخلی ، هیچ یک از خوشه ها منتشر نشده باشد ، ما اکیداً توصیه می کنیم وضعیت انتشار را با استفاده از API UpdatePublishStatus به روز کنید. این مهم است زیرا:

  • ارائه وضعیت در تمام سناریوها ، حتی در صورت انتشار محتوا (وضعیت == منتشر شده) ، برای جمع آوری داشبورد که از این وضعیت صریح برای انتقال سلامت و سایر معیارهای ادغام شما استفاده می کنند ، بسیار مهم است.
  • اگر هیچ محتوا منتشر نشده باشد اما وضعیت ادغام شکسته نشده است (وضعیت == not_published) ، Google می تواند از ایجاد هشدارها در داشبورد سلامت برنامه جلوگیری کند. این تأیید می کند که محتوا به دلیل وضعیت مورد انتظار از نظر ارائه دهنده منتشر نمی شود.
  • این به توسعه دهندگان کمک می کند تا بینش در مورد زمان انتشار داده ها در مقابل نه.
  • Google ممکن است از کدهای وضعیت استفاده کند تا کاربر را برای انجام اقدامات خاص در برنامه انجام دهد تا بتواند محتوای برنامه را ببیند یا بر آن غلبه کند.

لیست کدهای وضعیت انتشار واجد شرایط عبارتند از:

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

اگر محتوا به دلیل ورود به سیستم وارد نشده ، منتشر نشده باشد ، Google توصیه می کند که علامت کارت را منتشر کند. اگر به هر دلیلی ارائه دهندگان قادر به انتشار علامت در کارت نیستند ، توصیه می کنیم با کد وضعیت به روزرسانی updatepublishstatus با کد وضعیت not_published_requires_sign_in تماس بگیرید

کاتلین


client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

جاوا


client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

این API برای حذف محتوای خوشه های توصیه استفاده می شود.

کاتلین


client.deleteRecommendationClusters()

جاوا


client.deleteRecommendationClusters();

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

deleteFeaturedCluster

این API برای حذف محتوای خوشه برجسته استفاده می شود.

کاتلین


client.deleteFeaturedCluster()

جاوا


client.deleteFeaturedCluster();

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

deleteContinuationCluster

این API برای حذف محتوای خوشه ادامه استفاده می شود.

کاتلین


client.deleteContinuationCluster()

جاوا


client.deleteContinuationCluster();

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

deleteUserManagementCluster

از این API برای حذف محتوای خوشه UserAccountManagement استفاده می شود.

کاتلین


client.deleteUserManagementCluster()

جاوا


client.deleteUserManagementCluster();

هنگامی که سرویس درخواست را دریافت می کند ، داده های موجود را از خوشه UserAccountManagement حذف می کند. در صورت بروز خطا ، کل درخواست رد می شود و وضعیت موجود حفظ می شود.

deleteClusters

این API برای حذف محتوای یک نوع خوشه معین استفاده می شود.

کاتلین


client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

جاوا


client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

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

رسیدگی به خطا

بسیار توصیه می شود که به نتیجه کار از API های انتشار گوش دهید به گونه ای که می توان یک اقدام پیگیری برای بازیابی و بازگرداندن یک کار موفق انجام داد.

کاتلین


client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

جاوا


client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

این خطا به عنوان یک AppEngageException با علت موجود به عنوان کد خطا بازگردانده می شود.

کد خطا توجه داشته باشید
SERVICE_NOT_FOUND این سرویس در دستگاه داده شده در دسترس نیست.
SERVICE_NOT_AVAILABLE این سرویس در دستگاه داده شده در دسترس است ، اما در زمان تماس در دسترس نیست (به عنوان مثال ، صریحاً غیرفعال است).
SERVICE_CALL_EXECUTION_FAILURE اجرای وظیفه به دلیل مشکلات مربوط به موضوعات انجام نشد. در این حالت ، می توان آن را مجدداً انجام داد.
SERVICE_CALL_PERMISSION_DENIED تماس گیرنده مجاز به برقراری تماس خدمات نیست.
SERVICE_CALL_INVALID_ARGUMENT این درخواست حاوی داده های نامعتبر است (به عنوان مثال ، بیش از تعداد خوشه مجاز).
SERVICE_CALL_INTERNAL خطایی در سمت سرویس وجود دارد.
SERVICE_CALL_RESOURCE_EXHAUSTED تماس خدمات بیش از حد مکرر انجام می شود.

مرحله 3: اهداف پخش را کنترل کنید

علاوه بر ایجاد تماس های API Publish Content از طریق یک کار ، همچنین لازم است که برای دریافت درخواست انتشار محتوا ، یک BroadcastReceiver را تنظیم کنید.

هدف از اهداف پخش عمدتاً برای فعال سازی مجدد برنامه و مجبور کردن همگام سازی داده ها است. اهداف پخش به گونه ای طراحی نشده است که به طور مکرر ارسال می شود. این تنها هنگامی ایجاد می شود که سرویس ENGAGE تعیین کند که محتوا ممکن است بی رنگ باشد (به عنوان مثال ، یک هفته). به این ترتیب ، اطمینان بیشتری وجود دارد که کاربر می تواند تجربه محتوای تازه ای داشته باشد ، حتی اگر برنامه برای مدت طولانی اجرا نشده باشد.

BroadcastReceiver باید به دو روش زیر تنظیم شود:

  • به صورت پویا نمونه ای از کلاس BroadcastReceiver را با استفاده از Context.registerReceiver() ثبت کنید. این امکان ارتباط از برنامه هایی را فراهم می کند که هنوز در حافظه زندگی می کنند.

کاتلین

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

جاوا

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • به صورت آماری با برچسب <receiver> در پرونده AndroidManifest.xml خود یک اجرای را اعلام کنید. این امر به برنامه اجازه می دهد تا هنگام اجرا ، اهداف پخش را دریافت کند و همچنین به برنامه اجازه می دهد تا محتوا را منتشر کند.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

اهداف زیر توسط سرویس ارسال می شود:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION توصیه می شود هنگام دریافت این هدف ، تماس publishRecommendationClusters را شروع کنید.
  • com.google.android.engage.action.PUBLISH_FEATURED توصیه می شود هنگام دریافت این هدف ، یک تماس publishFeaturedCluster کنید.
  • com.google.android.engage.action.PUBLISH_CONTINUATION توصیه می شود هنگام دریافت این هدف ، یک تماس تلفنی publishContinuationCluster را شروع کنید.

گردش کار ادغام

برای یک راهنمای گام به گام در مورد تأیید ادغام خود پس از اتمام ، به گردش کار ادغام Engage Developer مراجعه کنید.

سوالات متداول

به Engage SDK که اغلب برای سؤالات متداول پرسیده می شود ، مراجعه کنید.

مخاطب

در صورت وجود هرگونه سؤال در طی فرآیند ادغام ، با ingage-developers@google.com تماس بگیرید.

مراحل بعدی

پس از تکمیل این ادغام ، مراحل بعدی شما به شرح زیر است:

  • یک ایمیل برای Engage-develors@google.com ارسال کرده و APK یکپارچه خود را که آماده آزمایش توسط Google است ، ضمیمه کنید.
  • Google یک تأیید را انجام می دهد و در داخل کشور بررسی می کند تا اطمینان حاصل شود که ادغام همانطور که انتظار می رود کار می کند. در صورت نیاز به تغییرات ، Google با هرگونه جزئیات لازم با شما تماس می گیرد.
  • هنگامی که آزمایش کامل است و هیچ تغییری لازم نیست ، Google با شما تماس می گیرد تا به شما اطلاع دهد که می توانید APK به روز شده و یکپارچه را در فروشگاه Play شروع کنید.
  • بعد از اینکه گوگل تأیید کرد که APK به روز شده شما در فروشگاه Play منتشر شده است ، توصیه های شما ، برجسته و خوشه های ادامه ممکن است برای کاربران منتشر و قابل مشاهده باشد.
،

Google در حال ساخت یک سطح دستگاه است که برنامه های کاربران را توسط عمودی سازماندهی می کند و یک تجربه همهجانبه جدید را برای مصرف و کشف محتوای برنامه شخصی امکان پذیر می کند. این تجربه تمام صفحه ، فرصتی را برای شرکای توسعه دهنده فراهم می کند تا بهترین محتوای غنی خود را در یک کانال اختصاصی در خارج از برنامه خود به نمایش بگذارند. این راهنما شامل دستورالعمل هایی برای شرکای توسعه دهنده برای ادغام محتوای مسافرتی و رویدادهای خود ، با استفاده از SDK Engage برای جمع آوری این منطقه جدید است.

جزئیات ادغام

واژه شناسی

این ادغام شامل سه نوع خوشه زیر است: توصیه ، برجسته و ادامه .

  • خوشه های توصیه پیشنهادات مسافرتی شخصی و رویداد را از یک شریک توسعه دهنده خاص نشان می دهند. این توصیه ها را می توان برای کاربر شخصی سازی کرد یا تعمیم داد (به عنوان مثال موارد روند). از این موارد برای مقالات سطحی ، رویدادها ، اقامتگاه ها یا مکانهای مورد علاقه استفاده کنید.

    • یک خوشه توصیه می تواند از ArticleEntity ، EventEntity ، LodgingEntity ، PointOfInterestEntity یا لیست های StoreEntity ساخته شود ، اما ترکیبی از انواع مختلف موجودیت نیست.

    توصیه های شما ساختار زیر را می گیرد:

    • خوشه توصیه: نمای UI که شامل گروهی از توصیه ها از همان شریک توسعه دهنده است.

    • موجودیت: یک شیء که یک مورد واحد را در یک خوشه نشان می دهد. این ادغام برخی از نهادها را ارائه می دهد که با استفاده از خوشه توصیه می شوند:

      • مقاله : Articleentity توصیه ای برای محتوای مبتنی بر متن مربوط به سفر و رویدادها نشان می دهد. این می تواند برای مقالات ، وبلاگ ها ، محتوای بازاریابی ، قطعه های خبری و غیره استفاده شود.

        شکل 1: UI که یک مقاله واحد را در خوشه توصیه ها نشان می دهد.
      • EventEntity : EventEntity نمایانگر رویدادی است که در آینده اتفاق می افتد. زمان شروع رویداد یک بخش مهم از اطلاعات است که باید به کاربران منتقل شود.

        شکل 2: UI نشان دادن یک رویداد واحد در خوشه توصیه ها.
      • LodgingEntity : LodgingEntity بیانگر اقامتگاه مانند هتل ، آپارتمان ، خانه تعطیلات برای اجاره کوتاه مدت و بلند مدت است.

        شکل 3: UI که یک اقامتگاه واحد را در خوشه توصیه ها نشان می دهد.
      • Stearentity : Stearentity نمایانگر یک فروشگاه ، رستوران ، کافه و غیره است. این مطالب را برجسته می کند که در آن یک محل غذاخوری یا فروشگاه یک بخش مهم از اطلاعاتی است که باید به کاربران منتقل شود.

        شکل 4: UI نشان دادن یک پایه واحد در خوشه توصیه ها.
      • PointOfinterestEntity : PointOfinterestEntity مکان مورد علاقه مانند ، یک پمپ بنزین ، محل برگزاری رویداد ، پارک موضوعی ، موزه ، جاذبه گردشگری ، پیاده روی پیاده روی و غیره را نشان می دهد. این مطالب را برجسته می کند که در آن مکان یک بخش مهم از اطلاعات است که باید به کاربران منتقل شود. نباید از آن برای اقامتگاه ، فروشگاه یا محل ناهار خوری استفاده شود.

        شکل 5: UI نشان می دهد که یک نقطه واحد در خوشه توصیه ها.
  • خوشه ادامه ، محتوا را نشان می دهد که اخیراً توسط کاربران چندین شرکای توسعه دهنده در یک گروه بندی UI واحد درگیر شده است. به هر شریک توسعه دهنده اجازه می دهد حداکثر 10 نهاد را در خوشه ادامه پخش کند.

    محتوای ادامه شما می تواند ساختار زیر را بگیرد:

    • مقاله : مقاله بیانگر توصیه ای برای محتوا است که مربوط به مسافرت و رویدادها است. از این موجودیت می توان برای نشان دادن مقالات خبری ناتمام یا مطالب دیگری استفاده کرد که کاربر دوست دارد از جایی که آن را ترک کرده است ، مصرف خود را ادامه دهد. EX: Snippet News ، blogpost snippet در مورد یک مقصد مسافرتی یا یک رویداد.

      شکل 6. UI که یک مقاله واحد را در یک خوشه ادامه نشان می دهد.
    • RestaurantReservationEntity : RournantreservationEntity بیانگر رزرو یک رستوران یا کافه است و به کاربران کمک می کند تا رزرو رستوران های آینده یا مداوم را ردیابی کنند.

      شکل 7. UI که یک رستوران را در یک خوشه ادامه نشان می دهد.
    • EventReservationEntity : EventReservationEntity بیانگر رزرو یک رویداد است و به کاربران کمک می کند تا رزرو رویدادهای آینده یا مداوم را ردیابی کنند. رویدادها می توانند شامل شوند ، اما به موارد زیر محدود نمی شوند:

      • رویدادهای ورزشی مانند رزرو برای یک مسابقه فوتبال
      • رویدادهای بازی مانند رزرو برای eSports
      • رویدادهای سرگرمی مانند رزرو فیلم در سینما ، کنسرت ، تئاتر ، امضای کتاب
      • سفر یا رزرو مورد علاقه مانند تورهای هدایت شده ، بلیط های موزه
      • رزرو اجتماعی / سمینار / کنفرانس
      • رزرو جلسات آموزش / آموزش
      شکل 8. UI نشان می دهد یک رویداد حفاظت واحد در یک خوشه ادامه.
    • LodgingReservationEntity : LodgingEntityReservation یک رزرو برای اقامتگاه مسافرتی است و به کاربران کمک می کند تا رزرو هتل یا اجاره تعطیلات آینده یا در حال انجام را ردیابی کنند.

      شکل 9. UI نشان می دهد که یک محل اقامت واحد در یک خوشه ادامه دارد.
    • TransportionReservationEntentity : TransportionReservationEntity بیانگر رزرو برای حمل و نقل توسط هر حالت است و به کاربران کمک می کند تا رزرو را برای پرواز آینده یا مداوم ، کشتی ، قطار ، اتوبوس ، تگرگ سواری یا کروز ردیابی کنند.

      شکل 10. UI که یک حمل و نقل واحد را در یک خوشه ادامه نشان می دهد.
    • VehiclerEntalReservationEntity : VehiclerEntalReservationEntity نشان دهنده رزرو اجاره وسایل نقلیه است و به کاربران کمک می کند تا رزروهای اجاره ای خودروهای آینده یا در حال انجام را ردیابی کنند.

      شکل 11. UI که نشان می دهد یک VehiclerentalResententity در یک خوشه ادامه دارد.
  • خوشه برجسته یک دیدگاه UI است که به نمایش می گذارد قهرمان انتخابی GenericFeaturedEntity از بسیاری از شرکای توسعه دهنده در یک گروه بندی UI. یک خوشه برجسته وجود دارد که در نزدیکی بالای UI قرار دارد و دارای اولویت بالاتر از همه خوشه های توصیه است. هر شریک توسعه دهنده مجاز به پخش یک موجود واحد از یک نوع پشتیبانی شده در نمایش داده شده است که بسیاری از نهادها (به طور بالقوه از انواع مختلف) از چندین توسعه دهنده برنامه در خوشه برجسته.

    • GenericFeatureDentity : GenericFeaturedEntity با مورد توصیه در مورد مورد برجسته باید برای یک محتوای برتر از توسعه دهندگان استفاده شود و باید مهمترین محتوایی را که برای کاربران جالب و مرتبط خواهد بود ، نشان دهد.

      شکل 12: UI که یک لیست برجسته با لیستی از Genericfeaturedentity را نشان می دهد

پیش کار

حداقل سطح API: 19

com.google.android.engage:engage-core به برنامه خود اضافه کنید:

dependencies {
    // Make sure you also include that repository in your project's build.gradle file.
    implementation 'com.google.android.engage:engage-core:1.5.2'
}

خلاصه

این طرح مبتنی بر اجرای یک سرویس محدود است.

داده هایی که مشتری می تواند منتشر کند برای انواع مختلف خوشه ای در معرض محدودیت های زیر است:

نوع خوشه محدودیت های خوشه حداقل محدودیت موجودیت در یک خوشه حداکثر محدودیت موجودیت در یک خوشه
خوشه توصیه (های) حداکثر 5 حداقل 5 حداکثر 25 ( ArticleEntity ، EventEntity ، LodgingEntity ، StoreEntity یا PointOfInterestEntity )
خوشه حداکثر 1 حداقل 1 حداکثر 10 نفر ( ArticleEntity ، RestaurantReservationEntity EventReservationEntity ، LodgingReservationEntity ، TransportationReservationEntity VehicleRentalReservationEntity )
خوشه برجسته حداکثر 1 حداقل 1 حداکثر 10 نفر ( GenericFeaturedEntity )

مرحله 1: داده های موجودیت را ارائه دهید

SDK اشخاص مختلفی را برای نشان دادن هر نوع مورد تعریف کرده است. ما از نهادهای زیر برای گروه سفر و رویدادها پشتیبانی می کنیم:

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. RestaurantReservationEntity
  8. EventReservationEntity
  9. LodgingReservationEntity
  10. TransportationReservationEntity
  11. VehicleRentalReservationEntity

نمودارهای زیر صفات و الزامات موجود برای هر نوع را ترسیم می کند.

GenericFeaturedEntity

صفت مورد نیاز شرح قالب
عمل ضروری

پیوند عمیق به نهاد در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای انتساب استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
تصاویر پوستر ضروری

ما فقط در هنگام ارائه چندین تصویر فقط 1 تصویر را نشان خواهیم داد. نسبت ابعاد توصیه شده 16: 9 است

توجه: اگر نشان ارائه شده است ، از فضای امن 24 dps در هر دو قسمت بالا و پایین تصویر اطمینان حاصل کنید

برای راهنمایی به مشخصات تصویر مراجعه کنید.
عنوان اختیاری عنوان موجودیت.

متن آزاد

اندازه متن توصیه شده: 50 کاراکتر

شرح اختیاری

یک پاراگراف واحد برای توصیف موجودیت.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده: 180 بار

لیست زیرنویس اختیاری

حداکثر 3 زیرنویس ، با هر زیرنویس یک خط متن.

توجه: یا لیست توضیحات یا زیرنویس به کاربر نمایش داده می شود ، نه هر دو.

متن آزاد

اندازه متن توصیه شده برای هر زیرنویس: حداکثر 50 کاراکتر

نشان ها اختیاری

هر نشان یا متن رایگان (حداکثر 15 کاراکتر) یا تصویر کوچک است.

به عنوان مثال ، درمان ویژه UX در بالای تصویر/فیلم

  • "به روز رسانی زنده"
  • مقاله خوانده شده
نشان - متن اختیاری

عنوان برای نشان

توجه: برای نشان یا متن یا تصویر لازم است

متن آزاد

اندازه متن توصیه شده: حداکثر 15 کاراکتر

نشان - تصویر اختیاری

تصویر کوچک

درمان ویژه UX ، به عنوان مثال به عنوان پوشش نشان در تصویر کوچک تصویر/فیلم.

توجه: برای نشان یا متن یا تصویر لازم است

برای راهنمایی به مشخصات تصویر مراجعه کنید.
مقولات محتوا اختیاری دسته مطالب موجود در موجودیت را شرح دهید.

لیست عناصر

برای راهنمایی به بخش گروه محتوا مراجعه کنید.

ArticleEntity

صفت مورد نیاز شرح قالب
عمل ضروری

پیوند عمیق به نهاد در برنامه ارائه دهنده.

توجه: می توانید از پیوندهای عمیق برای انتساب استفاده کنید. به این سؤالات متداول مراجعه کنید

اوری
عنوان ضروری عنوان موجودیت.

متن آزاد

اندازه متن توصیه شده: حداکثر 50 کاراکتر

تصاویر پوستر اختیاری

ما فقط در هنگام ارائه چندین تصویر فقط 1 تصویر را نشان خواهیم داد. نسبت ابعاد توصیه شده 16: 9 است

Note: Image is highly recommended. If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
Source - Title اختیاری The name of the author, organization, or reporter

متن آزاد

Recommended text size: Under 25 chars

Source - Image اختیاری An image of the source like the author, the organization, reporter See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

نشان ها اختیاری

Each badge is either free text (max 15 chars) or small image.

Special UX treatment on top of image/video, for example, as badge overlay on the image

  • "به روز رسانی زنده"
  • Article read duration
Badge - Text اختیاری

Title for the badge

Note: Either text or image is required for the badge

متن آزاد

Recommended text size: max 15 chars

Badge - Image اختیاری

Small image

Special UX treatment, for example as badge overlay on the image/video thumbnail.

Note: Either text or image is required for the badge

See Image Specifications for guidance.
Content Publish Time اختیاری This is the epoch timestamp in milliseconds on when the content was published / updated in the app. Epoch timestamp in milliseconds
Last Engagement Time Conditionally Required

The epoch timestamp in milliseconds when the user interacted with this entity last time.

Note: This field is required if this entity is part of the continuation cluster.

Epoch timestamp in milliseconds
Progress Percentage Conditionally Required

The percentage of the full content consumed by the user to date.

Note: This field is required if this entity is part of the continuation cluster.

An int value between 0~100 inclusive.
Content Categories اختیاری Describe the category of the content in the entity.

List of Enums

See the Content Category section for guidance.

EventEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

رشته

Recommended text size: Max 50 chars

زمان شروع ضروری

The epoch timestamp when the event is expected to start.

Note: This will be represented in milliseconds.

Epoch timestamp in milliseconds
Event mode ضروری

A field to indicate whether the event will be virtual, in-person or both.

Enum: VIRTUAL, IN_PERSON, or HYBRID
Poster images ضروری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

Note: Image is highly recommended. If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
Location - Country Conditionally Required

The country in which the event is happening.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - City Conditionally Required

The city in which the event is happening.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address Conditionally Required

The address or venue name where the event will take place that should be displayed to the user.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the location at which event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the location in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

زمان پایان اختیاری

The epoch timestamp when the event is expected to end.

Note: This will be represented in milliseconds.

Epoch timestamp in milliseconds
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

نشان ها اختیاری

Each badge is either free text (max 15 chars) or small image.

Badge - Text اختیاری

Title for the badge

Note: Either text or image is required for the badge

متن آزاد

Recommended text size: max 15 chars

Badge - Image اختیاری

Small image

Special UX treatment, for example as badge overlay on the image/video thumbnail.

Note: Either text or image is required for the badge

See Image Specifications for guidance.
Price - CurrentPrice Conditionally required

The current price of the ticket/pass for the event.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the ticket/pass for the event. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Content Categories اختیاری Describe the category of the content in the entity.

List of Eligible Enums

  • TYPE_MOVIES_AND_TV_SHOWS (Example - Cinema)
  • TYPE_DIGITAL_GAMES (Example - eSports)
  • TYPE_MUSIC (Example - Concert)
  • TYPE_TRAVEL_AND_LOCAL (Example - Tour, festival)
  • TYPE_HEALTH_AND_FITENESS (Example - Yoga class)
  • TYPE_EDUCATION (Example - Class)
  • TYPE_SPORTS (Example - Football game)
  • TYPE_DATING (Example - meetup)

See the Content Category section for guidance.

LodgingEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

رشته

Recommended text size: Max 50 chars

Poster images ضروری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

Note: If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
Location - Country ضروری The country in which the lodging is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - City ضروری The city in which the lodging is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address ضروری The address of the lodging that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the lodging is located.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

نشان ها اختیاری

Each badge is either free text (max 15 chars) or small image.

Badge - Text اختیاری

Title for the badge

Note: Either text or image is required for the badge

متن آزاد

Recommended text size: max 15 chars

Badge - Image اختیاری

Small image

Special UX treatment, for example as badge overlay on the image/video thumbnail.

Note: Either text or image is required for the badge

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

AvailabilityTimeWindow - Start Time اختیاری The epoch timestamp in milliseconds when the lodging is expected to be open/available. Epoch timestamp in milliseconds
AvailabilityTimeWindow - End Time اختیاری The epoch timestamp in milliseconds until which the lodging is expected to be open/available. Epoch timestamp in milliseconds
Rating - Max value اختیاری

The maximum value of the rating scale.

Must be provided if current value of rating is also provided.

Number >= 0.0
Rating - Current value اختیاری

The current value of the rating scale.

Must be provided if maximum value of rating is also provided.

Number >= 0.0
Rating - Count اختیاری

The count of the ratings for the lodging.

Note: Provide this field if your app wants to control how this is displayed to the users. Provide the concise string that can be displayed to the user. For example, if the count is 1,000,000, consider using abbreviations like 1M, so that it won't be truncated on smaller display sizes.

رشته
Rating - Count Value اختیاری

The count of the ratings for the lodging.

Note: Provide this field if you don't want to handle the display abbreviation logic yourself. If both Count and Count Value are present, we will use the Count to display to users

طولانی
Price - CurrentPrice Conditionally required

The current price of the lodging.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the lodging, which is be struck-through in the UI. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

StoreEntity

The StoreEntity object represents an individual store that developer partners want to publish, such as a restaurant or a grocery store.

صفت مورد نیاز شرح قالب
Poster images ضروری At least one image must be provided. See Image Specifications for guidance.
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان اختیاری The name of the store.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

محل اختیاری The location of the store.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

فراخوانی اختیاری Callout to feature a promo, event, or update for the store, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Callout fine print اختیاری Fine print text for the callout.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

شرح اختیاری A description of the store.

متن آزاد

Recommended text size: under 90 chars (Text that is too long may show ellipses)

Rating - Max value اختیاری

The maximum value of the rating scale.

Must be provided if current value of rating is also provided.

Number >= 0.0
Rating - Current value اختیاری

The current value of the rating scale.

Must be provided if maximum value of rating is also provided.

Number >= 0.0
Rating - Count اختیاری

The count of the ratings for the lodging.

Note: Provide this field if your app wants to control how this is displayed to the users. Provide the concise string that can be displayed to the user. For example, if the count is 1,000,000, consider using abbreviations like 1M, so that it won't be truncated on smaller display sizes.

رشته
Rating - Count Value اختیاری

The count of the ratings for the lodging.

Note: Provide this field if you don't want to handle the display abbreviation logic yourself. If both Count and Count Value are present, we will use the Count to display to users

طولانی

PointOfInterestEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

رشته

Recommended text size: Max 50 chars

Poster images ضروری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

Note: Image is highly recommended. If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
Location - Country ضروری The country in which the point of interest is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - City ضروری The city in which the point of interest is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address ضروری The address of the point of interest that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the point of interest.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the point of interest is located.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the point of interest.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) of the point of interest.

متن آزاد

Recommended text size: max ~20 chars

AvailabilityTimeWindow - Start Time اختیاری The epoch timestamp in milliseconds when the point of interest is expected to be open/available. Epoch timestamp in milliseconds
AvailabilityTimeWindow - End Time اختیاری The epoch timestamp in milliseconds until which the point of interest is expected to be open/available. Epoch timestamp in milliseconds
نشان ها اختیاری

Each badge is either free text (max 15 chars) or small image.

Badge - Text اختیاری

Title for the badge

Note: Either text or image is required for the badge

متن آزاد

Recommended text size: max 15 chars

Badge - Image اختیاری

Small image

Special UX treatment, for example as badge overlay on the image/video thumbnail.

Note: Either text or image is required for the badge

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

Rating - Max value اختیاری

The maximum value of the rating scale.

Must be provided if current value of rating is also provided.

Number >= 0.0
Rating - Current value اختیاری

The current value of the rating scale.

Must be provided if maximum value of rating is also provided.

Number >= 0.0
Rating - Count اختیاری

The count of the ratings for the point of interest.

Note: Provide this field if your app wants to control how this is displayed to the users. Provide the concise string that can be displayed to the user. For example, if the count is 1,000,000, consider using abbreviations like 1M, so that it won't be truncated on smaller display sizes.

رشته
Rating - Count Value اختیاری

The count of the ratings for the point of interest.

Note: Provide this field if you don't want to handle the display abbreviation logic yourself. If both Count and Count Value are present, we will use the Count to display to users

طولانی
Price - CurrentPrice Conditionally required

The current price of the tickets/entry pass for the point of interest.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the tickets/entry pass for the point of interest. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Content Categories اختیاری Describe the category of the content in the entity.

List of Eligible Enums

  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_MOVIES_AND_TV_SHOWS (Example - theater)
  • TYPE_MEDICAL (Example - hospital)
  • TYPE_EDUCATION (Example - school)
  • TYPE_SPORTS (Example - stadium)

See the Content Category section for guidance.

RestaurantReservationEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

رشته

Recommended text size: Max 50 chars

Reservation Start Time ضروری The epoch timestamp in milliseconds when the reservation is expected to start. Epoch timestamp in milliseconds
Location - Country ضروری The country in which the restaurant is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - City ضروری The city in which the restaurant is happening.

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address ضروری The address of the prestaurant that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the restaurant.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the restaurant is located.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the restaurant.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) of the restaurant.

متن آزاد

Recommended text size: max ~20 chars

Poster images اختیاری We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9 See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

Table Size اختیاری The number of people in the reservation group Integer > 0

EventReservationEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

رشته

Recommended text size: Max 50 chars

زمان شروع ضروری

The epoch timestamp when the event is expected to start.

Note: This will be represented in milliseconds.

Epoch timestamp in milliseconds
Event mode ضروری

A field to indicate whether the event will be virtual, in-person or both.

Enum: VIRTUAL, IN_PERSON, or HYBRID
Location - Country Conditionally Required

The country in which the event is happening.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - City Conditionally Required

The city in which the event is happening.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address Conditionally Required

The address or venue name where the event will take place that should be displayed to the user.

Note: This is required for events which are IN_PERSON or HYBRID

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the location at which event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the location in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) in which the event is being hosted.

متن آزاد

Recommended text size: max ~20 chars

Poster images اختیاری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

Note: Image is highly recommended. If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
زمان پایان اختیاری

The epoch timestamp when the event is expected to end.

Note: This will be represented in milliseconds.

Epoch timestamp in milliseconds
Service Provider - Name اختیاری

The name of the service provider.

Note: Either text or image is required for the service provider.

متن آزاد. For example, name of the event organizer/tour
Service Provider - Image اختیاری

The logo/image of the service provider.

Note: Either text or image is required for the service provider.

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

نشان ها اختیاری

Each badge is either free text (max 15 chars) or small image.

Badge - Text اختیاری

Title for the badge

Note: Either text or image is required for the badge

متن آزاد

Recommended text size: max 15 chars

Badge - Image اختیاری

Small image

Special UX treatment, for example as badge overlay on the image/video thumbnail.

Note: Either text or image is required for the badge

See Image Specifications for guidance.
Reservation ID اختیاری The reservation ID for the event reservation. متن آزاد
Price - CurrentPrice Conditionally required

The current price of the ticket/pass for the event.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the ticket/pass for the event. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Rating - Max value اختیاری

The maximum value of the rating scale.

Must be provided if current value of rating is also provided.

Number >= 0.0
Rating - Current value اختیاری

The current value of the rating scale.

Must be provided if maximum value of rating is also provided.

Number >= 0.0
Rating - Count اختیاری

The count of the ratings for the event.

Note: Provide this field if your app wants to control how this is displayed to the users. Provide the concise string that can be displayed to the user. For example, if the count is 1,000,000, consider using abbreviations like 1M, so that it won't be truncated on smaller display sizes.

رشته
Rating - Count Value اختیاری

The count of the ratings for the event.

Note: Provide this field if you don't want to handle the display abbreviation logic yourself. If both Count and Count Value are present, we will use the Count to display to users

طولانی
Content Categories اختیاری Describe the category of the content in the entity.

List of Eligible Enums

  • TYPE_MOVIES_AND_TV_SHOWS (Example - Cinema)
  • TYPE_DIGITAL_GAMES (Example - eSports)
  • TYPE_MUSIC (Example - Concert)
  • TYPE_TRAVEL_AND_LOCAL (Example - Tour, festival)
  • TYPE_HEALTH_AND_FITENESS (Example - Yoga class)
  • TYPE_EDUCATION (Example - Class)
  • TYPE_SPORTS (Example - Football game)
  • TYPE_DATING (Example - meetup)

See the Content Category section for guidance.

LodgingReservationEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

متن آزاد. For example, "Your Stay from Dec 12th"

Recommended text size: Max 50 chars

زمان ورود ضروری The epoch timestamp in milliseconds that represents the check in time for the reservation. Epoch timestamp in milliseconds
Check-out Time ضروری The epoch timestamp in milliseconds that represents the check out time for the reservation. Epoch timestamp in milliseconds
Location - Country ضروری The country in which the lodging is located.

متن آزاد

Recommended text size: max ~20 chars

Location - City ضروری The city in which the lodging is located.

متن آزاد

Recommended text size: max ~20 chars

Location - Display Address ضروری The address of the lodging that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Location - Street Address اختیاری The street address (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

Location - State اختیاری The state or province (if applicable) in which the lodging is located.

متن آزاد

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) of the lodging.

متن آزاد

Recommended text size: max ~20 chars

Poster images اختیاری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

Note: If a badge is provided, ensure safe space of 24 dps at both the top and bottom of the image

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

Reservation ID اختیاری The reservation ID for the lodging reservation. متن آزاد
Rating - Max value اختیاری

The maximum value of the rating scale.

Must be provided if current value of rating is also provided.

Number >= 0.0
Rating - Current value اختیاری

The current value of the rating scale.

Must be provided if maximum value of rating is also provided.

Number >= 0.0
Rating - Count اختیاری

The count of the ratings for the lodging.

Note: Provide this field if your app wants to control how this is displayed to the users. Provide the concise string that can be displayed to the user. For example, if the count is 1,000,000, consider using abbreviations like 1M, so that it won't be truncated on smaller display sizes.

رشته
Rating - Count Value اختیاری

The count of the ratings for the lodging.

Note: Provide this field if you don't want to handle the display abbreviation logic yourself. If both Count and Count Value are present, we will use the Count to display to users

طولانی
Price - CurrentPrice Conditionally required

The current price of the lodging.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the lodging, which is be struck-through in the UI. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

TransportationReservationEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

متن آزاد. For example, "SFO to SAN"

Recommended text size: Max 50 chars

Transportation Type ضروری The mode/type of transportation for the reservation. Enum: FLIGHT, TRAIN, BUS, or FERRY
زمان خروج ضروری The epoch timestamp in milliseconds that represents the departure time. Epoch timestamp in milliseconds
زمان رسیدن ضروری The epoch timestamp in milliseconds that represents the arrival time. Epoch timestamp in milliseconds
Departure Location - Country اختیاری The country of departure.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - City اختیاری The city of departure.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - Display Address اختیاری The location of departure that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - Street Address اختیاری The street address (if applicable) of the departure location.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - State اختیاری The state or province (if applicable) of the departure location.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - Zip code اختیاری The zip code (if applicable) of the departure location.

متن آزاد

Recommended text size: max ~20 chars

Departure Location - Neighborhood اختیاری The neighborhood (if applicable) of the departure location.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - Country اختیاری The country of arrival.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - City اختیاری The city of arrival.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - Display Address اختیاری The location of arrival that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - Street Address اختیاری The street address (if applicable) of the arrival location.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - State اختیاری The state or province (if applicable) of the arrival location.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - Zip code اختیاری The zip code (if applicable) of the arrival location.

متن آزاد

Recommended text size: max ~20 chars

Arrival Location - Neighborhood اختیاری The neighborhood (if applicable) of the arrival location.

متن آزاد

Recommended text size: max ~20 chars

Service Provider - Name اختیاری

The name of the service provider.

Note: Either text or image is required for the service provider.

متن آزاد. For example, Airline name
Service Provider - Image اختیاری

The logo/image of the service provider.

Note: Either text or image is required for the service provider.

See Image Specifications for guidance.
Poster images اختیاری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

Reservation ID اختیاری The reservation ID for the transportation reservation. متن آزاد
Price - CurrentPrice Conditionally required

The current price of the reservation.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the reservation, which is be struck-through in the UI. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Transportation Number ضروری The flight number, bus number, train number, or ferry/cruise number. متن آزاد
زمان سوار شدن به هواپیما ضروری The epoch timestamp that represents the boarding time for the reservation (if applicable) Epoch timestamp in milliseconds

VehicleRentalReservationEntity

صفت مورد نیاز شرح قالب
Action Uri ضروری

Deep Link to the entity in the provider app.

Note: You can use deep links for attribution. Refer to this FAQ

اوری
عنوان ضروری Title of the entity.

متن آزاد. For example, "Avis Union Square SF"

Recommended text size: Max 50 chars

Pickup Time ضروری The epoch timestamp that represents the pick up time for the reservation. Epoch timestamp in milliseconds
زمان برگشت اختیاری The epoch timestamp that represents the check out time for the reservation. Epoch timestamp in milliseconds
Pickup Address - Country اختیاری The country of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - City اختیاری The city of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - Display Address اختیاری The pickup location that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - Street Address اختیاری The street address (if applicable) of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - State اختیاری The state or province (if applicable) of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - Zip code اختیاری The zip code (if applicable) of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Pickup Address - Neighborhood اختیاری The neighborhood (if applicable) of the pickup location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - Country اختیاری The country of return location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - City اختیاری The city of return location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - Display Address اختیاری The return location that will be displayed to the user.

متن آزاد

Recommended text size: max ~20 chars

Return Address - Street Address اختیاری The street address (if applicable) of the return location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - State اختیاری The state or province (if applicable) of the return location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - Zip code اختیاری The zip code (if applicable) of the return location.

متن آزاد

Recommended text size: max ~20 chars

Return Address - Neighborhood اختیاری The neighborhood (if applicable) of the return location.

متن آزاد

Recommended text size: max ~20 chars

Service Provider - Name اختیاری

The name of the service provider.

Note: Either text or image is required for the service provider.

متن آزاد. For example, "Avis Car Rental"
Service Provider - Image اختیاری

The logo/image of the service provider.

Note: Either text or image is required for the service provider.

See Image Specifications for guidance.
Poster images اختیاری

We will show only 1 image when multiple images are provided. Recommended aspect ratio is 16:9

See Image Specifications for guidance.
شرح اختیاری

A single paragraph of text to describe the entity.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size: 180 chars

Subtitle list اختیاری

Up to 3 subtitles, with each subtitle a single line of text.

Note: Either description or subtitle list will be displayed to the user, not both.

متن آزاد

Recommended text size for each subtitle: max 50 chars

Confirmation ID اختیاری The confirmation ID for the vehicle rental reservation. متن آزاد
Price - CurrentPrice Conditionally required

The current price of the reservation.

Must be provided if strikethrough price is provided.

متن آزاد
Price - StrikethroughPrice اختیاری The original price of the reservation, which is be struck-through in the UI. متن آزاد
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

متن آزاد

Recommended text size: under 45 chars (Text that is too long may show ellipses)

Image specifications

Required specifications for image assets are listed in this table:

نسبت ابعاد Minimum pixels Recommended pixels

Square (1x1)

ارجح

300x300 1200x1200
Landscape (1.91x1) 600x314 1200x628
Portrait (4x5) 480x600 960x1200

The images are required to be hosted on public CDNs so that Google can access them.

فرمت های فایل

PNG, JPG, static GIF, WebP

Maximum file size

5120 KB

Additional recommendations

  • Image safe area: Put your important content in the center 80% of the image.
  • Use a transparent background so that the image can be properly displayed in Dark and Light theme settings.

دسته بندی محتوا

The content category allows apps to publish content belonging to multiple categories. This maps the content with some of the predefined categories namely:

  • TYPE_EDUCATION
  • TYPE_SPORTS
  • TYPE_MOVIES_AND_TV_SHOWS
  • TYPE_BOOKS
  • TYPE_AUDIOBOOKS
  • TYPE_MUSIC
  • TYPE_DIGITAL_GAMES
  • TYPE_TRAVEL_AND_LOCAL
  • TYPE_HOME_AND_AUTO
  • TYPE_BUSINESS
  • TYPE_NEWS
  • TYPE_FOOD_AND_DRINK
  • TYPE_SHOPPING
  • TYPE_HEALTH_AND_FITENESS
  • TYPE_MEDICAL
  • TYPE_PARENTING
  • TYPE_DATING

The images are required to be hosted on public CDNs so that Google can access them.

Guidelines to use the content categories

  1. Some entities like ArticleEntity and GenericFeaturedEntity are eligible to use any of the content categories. For other entities like EventEntity , EventReservationEntity , PointOfInterestEntity , only a subset of these categories are eligible. Check the list of categories eligible for an entity type before populating the list.
  2. Use the specific entity type for some content categories over a combination of the Generic entities and the ContentCategory:

    • TYPE_MOVIES_AND_TV_SHOWS - Check out the entities from Watch integration guide before using the generic entities.
    • TYPE_BOOKS - Check out the EbookEntity before using the generic entities.
    • TYPE_AUDIOBOOKS - Check out AudiobookEntity before using the generic entities.
    • TYPE_SHOPPING - Check out ShoppingEntity before using the generic entities.
    • TYPE_FOOD_AND_DRINK - Check out entities from Food Integration guide before using the generic entities.
  3. The ContentCategory field is optional and should be left blank if the content doesn't belong to any of the categories mentioned earlier.

  4. In case multiple content categories are provided, provide them in the order of relevance to the content with the most relevant content category placed first in the list.

مرحله 2: داده های Cluster را ارائه دهید

It is recommended to have the content publish job executed in the background (for example, using WorkManager ) and scheduled on a regular basis or on an event basis (for example, every time the user opens the app or when the user just added something to their cart).

AppEngagePublishClient is responsible for publishing clusters.

There are following APIs to publish clusters in the client:

  • isServiceAvailable
  • publishRecommendationClusters
  • publishFeaturedCluster
  • publishContinuationCluster
  • publishUserAccountManagementRequest
  • updatePublishStatus
  • deleteRecommendationsClusters
  • deleteFeaturedCluster
  • deleteContinuationCluster
  • deleteUserManagementCluster
  • deleteClusters

isServiceAvailable

This API is used to check if the service is available for integration and whether the content can be presented on the device.

کاتلین


client.isServiceAvailable.addOnCompleteListener { task ->
    if (task.isSuccessful) {
        // Handle IPC call success
        if(task.result) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
}

جاوا


client.isServiceAvailable().addOnCompleteListener(task - > {
    if (task.isSuccessful()) {
        // Handle success
        if(task.getResult()) {
          // Service is available on the device, proceed with content publish
          // calls.
        } else {
          // Service is not available, no further action is needed.
        }
    } else {
      // The IPC call itself fails, proceed with error handling logic here,
      // such as retry.
    }
});

publishRecommendationClusters

This API is used to publish a list of RecommendationCluster objects.

کاتلین


client.publishRecommendationClusters(
      PublishRecommendationClustersRequest.Builder()
        .addRecommendationCluster(
          RecommendationCluster.Builder()
            .addEntity(entity1)
            .addEntity(entity2)
            .setTitle("Top Picks For You")
            .build()
        )
        .build()
    )

جاوا


client.publishRecommendationClusters(
            new PublishRecommendationClustersRequest.Builder()
                .addRecommendationCluster(
                    new RecommendationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .setTitle("Top Picks For You")
                        .build())
                .build());

When the service receives the request, the following actions take place within one transaction:

  • Existing RecommendationCluster data from the developer partner is removed.
  • Data from the request is parsed and stored in the updated Recommendation Cluster.

In case of an error, the entire request is rejected and the existing state is maintained.

publishFeaturedCluster

This API is used to publish a list of FeaturedCluster objects.

کاتلین


client.publishFeaturedCluster(
    PublishFeaturedClusterRequest.Builder()
      .setFeaturedCluster(
        FeaturedCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

جاوا


client.publishFeaturedCluster(
            new PublishFeaturedClustersRequest.Builder()
                .addFeaturedCluster(
                    new FeaturedCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

When the service receives the request, the following actions take place within one transaction:

  • Existing FeaturedCluster data from the developer partner is removed.
  • Data from the request is parsed and stored in the updated Featured Cluster.

In case of an error, the entire request is rejected and the existing state is maintained.

publishContinuationCluster

This API is used to publish a ContinuationCluster object.

کاتلین


client.publishContinuationCluster(
    PublishContinuationClusterRequest.Builder()
      .setContinuationCluster(
        ContinuationCluster.Builder()
          .addEntity(entity1)
          .addEntity(entity2)
          .build())
      .build())

جاوا


client.publishContinuationCluster(
            new PublishContinuationClusterRequest.Builder()
                .setContinuationCluster(
                    new ContinuationCluster.Builder()
                        .addEntity(entity1)
                        .addEntity(entity2)
                        .build())
                .build());

When the service receives the request, the following actions take place within one transaction:

  • Existing ContinuationCluster data from the developer partner is removed.
  • Data from the request is parsed and stored in the updated Continuation Cluster.

In case of an error, the entire request is rejected and the existing state is maintained.

publishUserAccountManagementRequest

This API is used to publish a Sign In card . The signin action directs users to the app's sign in page so that the app can publish content (or provide more personalized content)

The following metadata is part of the Sign In Card -

صفت مورد نیاز شرح
Action Uri ضروری Deeplink to Action (ie navigates to app sign in page)
تصویر Optional - If not provided, Title must be provided

Image Shown on the Card

16x9 aspect ratio images with a resolution of 1264x712

عنوان Optional - If not provided, Image must be provided Title on the Card
Action Text اختیاری Text Shown on the CTA (ie Sign in)
عنوان فرعی اختیاری Optional Subtitle on the Card

کاتلین


var SIGN_IN_CARD_ENTITY =
      SignInCardEntity.Builder()
          .addPosterImage(
              Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build()

client.publishUserAccountManagementRequest(
            PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

جاوا


SignInCardEntity SIGN_IN_CARD_ENTITY =
      new SignInCardEntity.Builder()
          .addPosterImage(
              new Image.Builder()
                  .setImageUri(Uri.parse("http://www.x.com/image.png"))
                  .setImageHeightInPixel(500)
                  .setImageWidthInPixel(500)
                  .build())
          .setActionText("Sign In")
          .setActionUri(Uri.parse("http://xx.com/signin"))
          .build();

client.publishUserAccountManagementRequest(
            new PublishUserAccountManagementRequest.Builder()
                .setSignInCardEntity(SIGN_IN_CARD_ENTITY)
                .build());

When the service receives the request, the following actions take place within one transaction:

  • Existing UserAccountManagementCluster data from the developer partner is removed.
  • Data from the request is parsed and stored in the updated UserAccountManagementCluster Cluster.

In case of an error, the entire request is rejected and the existing state is maintained.

updatePublishStatus

If for any internal business reason, none of the clusters is published, we strongly recommend updating the publish status using the updatePublishStatus API. This is important because :

  • Providing the status in all scenarios, even when the content is published (STATUS == PUBLISHED), is critical to populate dashboards that use this explicit status to convey the health and other metrics of your integration.
  • If no content is published but the integration status isn't broken (STATUS == NOT_PUBLISHED), Google can avoid triggering alerts in the app health dashboards. It confirms that content is not published due to an expected situation from the provider's standpoint.
  • It helps developers provide insights into when the data is published versus not.
  • Google may use the status codes to nudge the user to do certain actions in the app so they can see the app content or overcome it.

The list of eligible publish status codes are :

// Content is published
AppEngagePublishStatusCode.PUBLISHED,

// Content is not published as user is not signed in
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN,

// Content is not published as user is not subscribed
AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SUBSCRIPTION,

// Content is not published as user location is ineligible
AppEngagePublishStatusCode.NOT_PUBLISHED_INELIGIBLE_LOCATION,

// Content is not published as there is no eligible content
AppEngagePublishStatusCode.NOT_PUBLISHED_NO_ELIGIBLE_CONTENT,

// Content is not published as the feature is disabled by the client
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_FEATURE_DISABLED_BY_CLIENT,

// Content is not published as the feature due to a client error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_CLIENT_ERROR,

// Content is not published as the feature due to a service error
// Available in v1.3.1
AppEngagePublishStatusCode.NOT_PUBLISHED_SERVICE_ERROR,

// Content is not published due to some other reason
// Reach out to engage-developers@ before using this enum.
AppEngagePublishStatusCode.NOT_PUBLISHED_OTHER

If the content is not published due to a user not logged in, Google would recommend publishing the Sign In Card. If for any reason providers are not able to publish the Sign In Card then we recommend calling the updatePublishStatus API with the status code NOT_PUBLISHED_REQUIRES_SIGN_IN

کاتلین


client.updatePublishStatus(
   PublishStatusRequest.Builder()
     .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
     .build())

جاوا


client.updatePublishStatus(
    new PublishStatusRequest.Builder()
        .setStatusCode(AppEngagePublishStatusCode.NOT_PUBLISHED_REQUIRES_SIGN_IN)
        .build());

deleteRecommendationClusters

This API is used to delete the content of Recommendation Clusters.

کاتلین


client.deleteRecommendationClusters()

جاوا


client.deleteRecommendationClusters();

When the service receives the request, it removes the existing data from the Recommendation Clusters. In case of an error, the entire request is rejected and the existing state is maintained.

deleteFeaturedCluster

This API is used to delete the content of Featured Cluster.

کاتلین


client.deleteFeaturedCluster()

جاوا


client.deleteFeaturedCluster();

When the service receives the request, it removes the existing data from the Featured Cluster. In case of an error, the entire request is rejected and the existing state is maintained.

deleteContinuationCluster

This API is used to delete the content of Continuation Cluster.

کاتلین


client.deleteContinuationCluster()

جاوا


client.deleteContinuationCluster();

When the service receives the request, it removes the existing data from the Continuation Cluster. In case of an error, the entire request is rejected and the existing state is maintained.

deleteUserManagementCluster

This API is used to delete the content of UserAccountManagement Cluster.

کاتلین


client.deleteUserManagementCluster()

جاوا


client.deleteUserManagementCluster();

When the service receives the request, it removes the existing data from the UserAccountManagement Cluster. In case of an error, the entire request is rejected and the existing state is maintained.

deleteClusters

This API is used to delete the content of a given cluster type.

کاتلین


client.deleteClusters(
    DeleteClustersRequest.Builder()
      .addClusterType(ClusterType.TYPE_CONTINUATION)
      .addClusterType(ClusterType.TYPE_FEATURED)
      .addClusterType(ClusterType.TYPE_RECOMMENDATION)
      .build())

جاوا


client.deleteClusters(
            new DeleteClustersRequest.Builder()
                .addClusterType(ClusterType.TYPE_CONTINUATION)
                .addClusterType(ClusterType.TYPE_FEATURED)
                .addClusterType(ClusterType.TYPE_RECOMMENDATION)
                .build());

When the service receives the request, it removes the existing data from all clusters matching the specified cluster types. Clients can choose to pass one or many cluster types. In case of an error, the entire request is rejected and the existing state is maintained.

رسیدگی به خطا

It is highly recommended to listen to the task result from the publish APIs such that a follow-up action can be taken to recover and resubmit an successful task.

کاتلین


client.publishRecommendationClusters(
        PublishRecommendationClustersRequest.Builder()
          .addRecommendationCluster(..)
          .build())
      .addOnCompleteListener { task ->
        if (task.isSuccessful) {
          // do something
        } else {
          val exception = task.exception
          if (exception is AppEngageException) {
            @AppEngageErrorCode val errorCode = exception.errorCode
            if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
              // do something
            }
          }
        }
      }

جاوا


client.publishRecommendationClusters(
              new PublishRecommendationClustersRequest.Builder()
                  .addRecommendationCluster(...)
                  .build())
          .addOnCompleteListener(
              task -> {
                if (task.isSuccessful()) {
                  // do something
                } else {
                  Exception exception = task.getException();
                  if (exception instanceof AppEngageException) {
                    @AppEngageErrorCode
                    int errorCode = ((AppEngageException) exception).getErrorCode();
                    if (errorCode == AppEngageErrorCode.SERVICE_NOT_FOUND) {
                      // do something
                    }
                  }
                }
              });

The error is returned as an AppEngageException with the cause included as an error code.

کد خطا توجه داشته باشید
SERVICE_NOT_FOUND The service is not available on the given device.
SERVICE_NOT_AVAILABLE The service is available on the given device, but it is not available at the time of the call (for example, it is explicitly disabled).
SERVICE_CALL_EXECUTION_FAILURE The task execution failed due to threading issues. In this case, it can be retried.
SERVICE_CALL_PERMISSION_DENIED The caller is not allowed to make the service call.
SERVICE_CALL_INVALID_ARGUMENT The request contains invalid data (for example, more than the allowed number of clusters).
SERVICE_CALL_INTERNAL There is an error on the service side.
SERVICE_CALL_RESOURCE_EXHAUSTED The service call is made too frequently.

Step 3: Handle broadcast intents

In addition to making publish content API calls through a job, it is also required to set up a BroadcastReceiver to receive the request for a content publish.

The goal of broadcast intents is mainly for app reactivation and forcing data sync. Broadcast intents are not designed to be sent very frequently. It is only triggered when the Engage Service determines the content might be stale (for example, a week old). That way, there is more confidence that the user can have a fresh content experience, even if the application has not been executed for a long period of time.

The BroadcastReceiver must be set up in the following two ways:

  • Dynamically register an instance of the BroadcastReceiver class using Context.registerReceiver() . This enables communication from applications that are still live in memory.

کاتلین

class AppEngageBroadcastReceiver : BroadcastReceiver(){
  // Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
  // is received
  // Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received
  // Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
  // received
}

fun registerBroadcastReceivers(context: Context){
  var  context = context
  context = context.applicationContext

// Register Recommendation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_RECOMMENDATION))

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED))

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION))
}

جاوا

class AppEngageBroadcastReceiver extends BroadcastReceiver {
// Trigger recommendation cluster publish when PUBLISH_RECOMMENDATION broadcast
// is received

// Trigger featured cluster publish when PUBLISH_FEATURED broadcast is received

// Trigger continuation cluster publish when PUBLISH_CONTINUATION broadcast is
// received
}

public static void registerBroadcastReceivers(Context context) {

context = context.getApplicationContext();

// Register Recommendation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_RECOMMENDATION));

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED));

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION));

}
  • Statically declare an implementation with the <receiver> tag in your AndroidManifest.xml file. This allows the application to receive broadcast intents when it is not running, and also allows the application to publish the content.
<application>
   <receiver
      android:name=".AppEngageBroadcastReceiver"
      android:exported="true"
      android:enabled="true">
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_RECOMMENDATION" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_FEATURED" />
      </intent-filter>
      <intent-filter>
         <action android:name="com.google.android.engage.action.PUBLISH_CONTINUATION" />
      </intent-filter>
   </receiver>
</application>

The following intents is sent by the service:

  • com.google.android.engage.action.PUBLISH_RECOMMENDATION It is recommended to start a publishRecommendationClusters call when receiving this intent.
  • com.google.android.engage.action.PUBLISH_FEATURED It is recommended to start a publishFeaturedCluster call when receiving this intent.
  • com.google.android.engage.action.PUBLISH_CONTINUATION It is recommended to start a publishContinuationCluster call when receiving this intent.

Integration workflow

For a step-by-step guide on verifying your integration after it is complete, see Engage developer integration workflow .

سوالات متداول

See Engage SDK Frequently Asked Questions for FAQs.

مخاطب

Contact engage-developers@google.com if there are any questions during the integration process.

مراحل بعدی

After completing this integration, your next steps are as follows:

  • Send an email to engage-developers@google.com and attach your integrated APK that is ready for testing by Google.
  • Google performs a verification and reviews internally to make sure the integration works as expected. If changes are needed, Google contacts you with any necessary details.
  • When testing is complete and no changes are needed, Google contacts you to notify you that you can start publishing the updated and integrated APK to the Play Store.
  • After Google has confirmed that your updated APK has been published to the Play Store, your Recommendation , Featured , and Continuation clusters may be published and visible to users.