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

با دسترسی به کاربران خود در جایی که هستند، تعامل برنامه را افزایش دهید. Engage SDK را ادغام کنید تا توصیه‌های شخصی‌شده و محتوای ادامه‌دهنده را مستقیماً به کاربران در سطوح مختلف روی دستگاه مانند مجموعه‌ها ، فضای سرگرمی و فروشگاه Play ارائه دهید. این ادغام کمتر از 50 کیلوبایت (فشرده شده) به میانگین APK اضافه می کند و بیشتر برنامه ها را حدود یک هفته از زمان توسعه دهندگان می گیرد. در سایت کسب و کار ما بیشتر بیاموزید.

این سند حاوی دستورالعمل‌هایی برای شرکای توسعه‌دهنده است تا محتوای جدیدی مانند رزروها، رویدادها، مکان‌های اقامتی، مکان‌های دیدنی، افراد و سایر محتوایی را که ممکن است به هیچ یک از این دسته‌ها تعلق نداشته باشند، ادغام کنند.

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

اصطلاحات

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

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

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

      شکل 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 نشان می دهد.
    • PersonEntity : PersonEntity نماینده یک شخص است. توصیه‌ها می‌تواند برجسته کردن یک فرد در دسته‌هایی مانند سلامت و تناسب اندام، ورزش، دوستیابی و غیره باشد.

      شکل 5: UI که یک PersonEntity منفرد را در خوشه 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: رابط کاربری یک کارت 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'
}

خلاصه

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

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

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

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

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

  1. GenericFeaturedEntity
  2. ArticleEntity
  3. EventEntity
  4. LodgingEntity
  5. StoreEntity
  6. PointOfInterestEntity
  7. PersonEntity
  8. RestaurantReservationEntity
  9. EventReservationEntity
  10. LodgingReservationEntity
  11. TransportationReservationEntity
  12. 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 (مثال - استادیوم)

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

PersonEntity

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

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

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

اوری
مشخصات - نام مورد نیاز نام یا شناسه یا دسته نمایه، به عنوان مثال "John Doe"، "@TeamPixel"، و غیره.

رشته

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

نمایه - آواتار مورد نیاز

تصویر نمایه یا تصویر آواتار کاربر.

توجه: تصویر باید مربع 1:1 باشد.

برای راهنمایی به مشخصات تصویر مراجعه کنید.
نمایه - متن اضافی اختیاری متن رایگان مانند دسته پروفایل.

متن رایگان

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

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

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

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

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

تعداد فالوورها یا مقدار محبوبیت را نشان دهید، به عنوان مثال - "3.7 M".

توجه: اگر تعداد و مقدار تعداد هر دو ارائه شده باشد، از شمارش استفاده می شود

رشته

اندازه متن توصیه شده: حداکثر 20 کاراکتر برای تعداد + برچسب ترکیب شده است

محبوبیت - مقدار شمارش اختیاری

تعداد فالوورها یا ارزش محبوبیت.

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

طولانی
محبوبیت - برچسب اختیاری برچسب محبوبیت را مشخص کنید. به عنوان مثال - "پسند".

رشته

اندازه متن توصیه شده: حداکثر 20 کاراکتر برای تعداد + برچسب ترکیب شده است

محبوبیت - بصری اختیاری

مشخص کنید که این تعامل برای چیست. به عنوان مثال - تصویری که نماد Likes، Emojis را نشان می دهد.

می تواند بیش از 1 تصویر ارائه دهد، اگرچه ممکن است همه آنها در همه عوامل شکل نشان داده نشوند.

توجه: تصویر باید مربع 1:1 باشد

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

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

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

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

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

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

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

تعداد رتبه‌بندی‌ها برای نهاد.

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

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

تعداد رتبه‌بندی‌ها برای نهاد.

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

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

متن رایگان

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

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

متن رایگان

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

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

متن رایگان

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

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

متن رایگان

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

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

متن رایگان

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

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

متن رایگان

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

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

متن رایگان

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

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

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

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

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

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

متن رایگان

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

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

تصویر کوچک

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

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

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

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

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

متن رایگان

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

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

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

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

متن رایگان

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

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

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

  • TYPE_HEALTH_AND_FITENESS (مثال - مربی یوگا/تناسب اندام)
  • TYPE_HOME_AND_AUTO (مثال - لوله کش)
  • TYPE_SPORTS (مثال - بازیکن)
  • TYPE_DATING

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

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 کاراکتر

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

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

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

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.

Free text. 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.

Free text

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.

Free text

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

Free text

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.
شناسه رزرو اختیاری The reservation ID for the event reservation. Free text
Price - CurrentPrice مشروط مورد نیاز است

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

Must be provided if strikethrough price is provided.

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

Free text

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

طولانی
دسته بندی های محتوا اختیاری 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.

Free text. 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
زمان خروج مورد نیاز 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.

Free text

Recommended text size: max ~20 chars

Location - City مورد نیاز The city in which the lodging is located.

Free text

Recommended text size: max ~20 chars

Location - Display Address مورد نیاز The address of the lodging that will be displayed to the user.

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

Location - Zip code اختیاری The zip code (if applicable) of the lodging.

Free text

Recommended text size: max ~20 chars

Location - Neighborhood اختیاری The neighborhood (if applicable) of the lodging.

Free text

Recommended text size: max ~20 chars

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

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.

Free text

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.

Free text

Recommended text size for each subtitle: max 50 chars

شناسه رزرو اختیاری The reservation ID for the lodging reservation. Free text
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 مشروط مورد نیاز است

The current price of the lodging.

Must be provided if strikethrough price is provided.

Free text
Price - StrikethroughPrice اختیاری The original price of the lodging, which is be struck-through in the UI. Free text
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

Free text

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.

Free text. For example, "SFO to SAN"

Recommended text size: Max 50 chars

نوع حمل و نقل مورد نیاز 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.

Free text

Recommended text size: max ~20 chars

Departure Location - City اختیاری The city of departure.

Free text

Recommended text size: max ~20 chars

Departure Location - Display Address اختیاری The location of departure that will be displayed to the user.

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

Departure Location - State اختیاری The state or province (if applicable) of the departure location.

Free text

Recommended text size: max ~20 chars

Departure Location - Zip code اختیاری The zip code (if applicable) of the departure location.

Free text

Recommended text size: max ~20 chars

Departure Location - Neighborhood اختیاری The neighborhood (if applicable) of the departure location.

Free text

Recommended text size: max ~20 chars

Arrival Location - Country اختیاری The country of arrival.

Free text

Recommended text size: max ~20 chars

Arrival Location - City اختیاری The city of arrival.

Free text

Recommended text size: max ~20 chars

Arrival Location - Display Address اختیاری The location of arrival that will be displayed to the user.

Free text

Recommended text size: max ~20 chars

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

Free text

Recommended text size: max ~20 chars

Arrival Location - State اختیاری The state or province (if applicable) of the arrival location.

Free text

Recommended text size: max ~20 chars

Arrival Location - Zip code اختیاری The zip code (if applicable) of the arrival location.

Free text

Recommended text size: max ~20 chars

Arrival Location - Neighborhood اختیاری The neighborhood (if applicable) of the arrival location.

Free text

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.

Free text. 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.
تصاویر پوستر اختیاری

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.

Free text

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.

Free text

Recommended text size for each subtitle: max 50 chars

شناسه رزرو اختیاری The reservation ID for the transportation reservation. Free text
Price - CurrentPrice مشروط مورد نیاز است

The current price of the reservation.

Must be provided if strikethrough price is provided.

Free text
Price - StrikethroughPrice اختیاری The original price of the reservation, which is be struck-through in the UI. Free text
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

Free text

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. Free text
زمان سوار شدن مورد نیاز 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.

Free text. For example, "Avis Union Square SF"

Recommended text size: Max 50 chars

زمان تحویل مورد نیاز 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.

Free text

Recommended text size: max ~20 chars

Pickup Address - City اختیاری The city of the pickup location.

Free text

Recommended text size: max ~20 chars

Pickup Address - Display Address اختیاری The pickup location that will be displayed to the user.

Free text

Recommended text size: max ~20 chars

Pickup Address - Street Address اختیاری The street address (if applicable) of the pickup location.

Free text

Recommended text size: max ~20 chars

Pickup Address - State اختیاری The state or province (if applicable) of the pickup location.

Free text

Recommended text size: max ~20 chars

Pickup Address - Zip code اختیاری The zip code (if applicable) of the pickup location.

Free text

Recommended text size: max ~20 chars

Pickup Address - Neighborhood اختیاری The neighborhood (if applicable) of the pickup location.

Free text

Recommended text size: max ~20 chars

Return Address - Country اختیاری The country of return location.

Free text

Recommended text size: max ~20 chars

Return Address - City اختیاری The city of return location.

Free text

Recommended text size: max ~20 chars

Return Address - Display Address اختیاری The return location that will be displayed to the user.

Free text

Recommended text size: max ~20 chars

Return Address - Street Address اختیاری The street address (if applicable) of the return location.

Free text

Recommended text size: max ~20 chars

Return Address - State اختیاری The state or province (if applicable) of the return location.

Free text

Recommended text size: max ~20 chars

Return Address - Zip code اختیاری The zip code (if applicable) of the return location.

Free text

Recommended text size: max ~20 chars

Return Address - Neighborhood اختیاری The neighborhood (if applicable) of the return location.

Free text

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.

Free text. 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.
تصاویر پوستر اختیاری

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.

Free text

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.

Free text

Recommended text size for each subtitle: max 50 chars

Confirmation ID اختیاری The confirmation ID for the vehicle rental reservation. Free text
Price - CurrentPrice مشروط مورد نیاز است

The current price of the reservation.

Must be provided if strikethrough price is provided.

Free text
Price - StrikethroughPrice اختیاری The original price of the reservation, which is be struck-through in the UI. Free text
Price Callout اختیاری Price callout to feature a promo, event, member discount, if available.

Free text

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

مشخصات تصویر

Required specifications for image assets are listed in this table:

نسبت ابعاد حداقل پیکسل Recommended pixels

مربع (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

حداکثر اندازه فایل

5120 KB

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

  • 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.

Step 2: Provide Cluster data

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.

کد خطا نام خطا توجه داشته باشید
1 SERVICE_NOT_FOUND The service is not available on the given device.
2 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).
3 SERVICE_CALL_EXECUTION_FAILURE The task execution failed due to threading issues. In this case, it can be retried.
4 SERVICE_CALL_PERMISSION_DENIED The caller is not allowed to make the service call.
5 SERVICE_CALL_INVALID_ARGUMENT The request contains invalid data (for example, more than the allowed number of clusters).
6 SERVICE_CALL_INTERNAL There is an error on the service side.
7 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),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Featured Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_FEATURED),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)

// Register Continuation Cluster Publish Intent
  context.registerReceiver(AppEngageBroadcastReceiver(),
                           IntentFilter(Intents.ACTION_PUBLISH_CONTINUATION),
                           com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                           /*scheduler=*/null)
}

جاوا

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),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Featured Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_FEATURED),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);

// Register Continuation Cluster Publish Intent
context.registerReceiver(new AppEngageBroadcastReceiver(),
                         new IntentFilter(com.google.android.engage.service.Intents.ACTION_PUBLISH_CONTINUATION),
                         com.google.android.engage.service.BroadcastReceiverPermissions.BROADCAST_REQUEST_DATA_PUBLISH_PERMISSION,
                         /*scheduler=*/null);
}
  • 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:permission="com.google.android.engage.REQUEST_ENGAGE_DATA"
      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.