REST Resource: projects.messages

منبع: پیام

پیام ارسال شده توسط Firebase Cloud Messaging Service.

نمایندگی JSON
{
  "name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (Notification)
  },
  "android": {
    object (AndroidConfig)
  },
  "webpush": {
    object (WebpushConfig)
  },
  "apns": {
    object (ApnsConfig)
  },
  "fcm_options": {
    object (FcmOptions)
  },

  // Union field target can be only one of the following:
  "token": string,
  "topic": string,
  "condition": string
  // End of list of possible types for union field target.
}
زمینه های
name

string

فقط خروجی شناسه پیام ارسال شده، در قالب projects/*/messages/{message_id} .

data

map (key: string, value: string)

فقط ورودی محموله کلید/مقدار دلخواه، که باید با کد UTF-8 باشد. کلید نباید یک کلمه رزرو شده باشد ("from"، "message_type" یا هر کلمه ای که با "google" یا "gcm" شروع می شود). هنگام ارسال محموله‌های حاوی فقط فیلدهای داده به دستگاه‌های iOS، فقط اولویت معمولی ( "apns-priority": "5" ) در ApnsConfig مجاز است.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Notification )

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

android

object ( AndroidConfig )

فقط ورودی گزینه های خاص Android برای پیام های ارسال شده از طریق سرور اتصال FCM .

webpush

object ( WebpushConfig )

فقط ورودی گزینه های پروتکل Webpush

apns

object ( ApnsConfig )

فقط ورودی گزینه های خاص Apple Push Notification Service .

fcm_options

object ( FcmOptions )

فقط ورودی الگوی گزینه‌های ویژگی FCM SDK برای استفاده در همه پلتفرم‌ها.

target میدانی اتحادیه ضروری. فقط ورودی هدف ارسال پیام به. target فقط می تواند یکی از موارد زیر باشد:
token

string

رمز ثبت نام برای ارسال پیام به.

topic

string

نام موضوع برای ارسال پیام، به عنوان مثال "آب و هوا". توجه: پیشوند "/topics/" نباید ارائه شود.

condition

string

شرط ارسال پیام، به عنوان مثال "فو" در موضوعات و & "نوار" در موضوعات".

اطلاع

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

نمایندگی JSON
{
  "title": string,
  "body": string,
  "image": string
}
زمینه های
title

string

عنوان اطلاعیه

body

string

متن متن اعلان.

image

string

حاوی URL تصویری است که قرار است در دستگاه بارگیری شود و در یک اعلان نمایش داده شود. JPEG، PNG، BMP در تمامی پلتفرم ها پشتیبانی کامل دارند. GIF متحرک و ویدیو فقط در iOS کار می کنند. WebP و HEIF دارای سطوح مختلف پشتیبانی در پلتفرم‌ها و نسخه‌های پلتفرم هستند. اندروید دارای محدودیت اندازه تصویر 1 مگابایت است. استفاده از سهمیه و پیامدها/هزینه ها برای میزبانی تصویر در Firebase Storage: https://firebase.google.com/pricing

AndroidConfig

گزینه های خاص Android برای پیام های ارسال شده از طریق سرور اتصال FCM .

نمایندگی JSON
{
  "collapse_key": string,
  "priority": enum (AndroidMessagePriority),
  "ttl": string,
  "restricted_package_name": string,
  "data": {
    string: string,
    ...
  },
  "notification": {
    object (AndroidNotification)
  },
  "fcm_options": {
    object (AndroidFcmOptions)
  },
  "direct_boot_ok": boolean
}
زمینه های
collapse_key

string

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

priority

enum ( AndroidMessagePriority )

اولویت پیام می تواند مقادیر "عادی" و "بالا" را بگیرد. برای اطلاعات بیشتر، به تنظیم اولویت پیام مراجعه کنید.

ttl

string ( Duration format)

اگر دستگاه آفلاین باشد، پیام چقدر (در ثانیه) باید در فضای ذخیره سازی FCM نگهداری شود. حداکثر زمان پشتیبانی زنده 4 هفته است و مقدار پیش فرض در صورت تنظیم نشدن 4 هفته است. اگر می خواهید پیام را فوراً ارسال کنید، آن را روی 0 تنظیم کنید. در قالب JSON، نوع Duration به‌جای یک شی، به‌عنوان رشته کدگذاری می‌شود، جایی که رشته به پسوند «s» ختم می‌شود (نشان دهنده ثانیه‌ها) و قبل از آن تعداد ثانیه‌ها، با نانوثانیه‌ها به صورت ثانیه کسری بیان می‌شود. به عنوان مثال، 3 ثانیه با 0 نانوثانیه باید در قالب JSON به عنوان "3s" رمزگذاری شود، در حالی که 3 ثانیه و 1 نانوثانیه باید در قالب JSON به عنوان "3.000000001s" بیان شود. ttl به نزدیکترین ثانیه به پایین گرد می شود.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

restricted_package_name

string

نام بسته برنامه ای که برای دریافت پیام باید رمز ثبت نام مطابقت داشته باشد.

data

map (key: string, value: string)

بار کلیدی/مقدار دلخواه. در صورت وجود، google.firebase.fcm.v1.Message.data را لغو می کند.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( AndroidNotification )

اعلان برای ارسال به دستگاه های اندرویدی.

fcm_options

object ( AndroidFcmOptions )

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای Android.

direct_boot_ok

boolean

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

AndroidMessagePriority

اولویت پیام برای ارسال به دستگاه های Android. توجه داشته باشید که این اولویت یک مفهوم FCM است که زمان تحویل پیام را کنترل می کند. راهنمای FCM را ببینید. علاوه بر این، می‌توانید با استفاده از AndroidNotification.NotificationPriority ، اولویت نمایش اعلان را در دستگاه‌های Android مورد نظر تعیین کنید.

Enums
NORMAL اولویت پیش‌فرض برای پیام‌های داده پیام‌های اولویت‌دار معمولی اتصالات شبکه را در یک دستگاه خواب باز نمی‌کنند و ممکن است تحویل آن‌ها برای حفظ باتری به تأخیر بیفتد. برای پیام‌هایی که کمتر به زمان حساس هستند، مانند اعلان‌های ایمیل جدید یا سایر داده‌ها برای همگام‌سازی، اولویت تحویل عادی را انتخاب کنید.
HIGH اولویت پیش‌فرض برای پیام‌های اعلان. FCM سعی می‌کند پیام‌های با اولویت بالا را فوراً ارسال کند، و به سرویس FCM اجازه می‌دهد تا در صورت امکان دستگاه خواب را بیدار کند و اتصال شبکه را به سرور برنامه شما باز کند. برای مثال، برنامه‌های دارای پیام‌رسانی فوری، چت یا هشدار تماس صوتی، معمولاً باید یک اتصال شبکه را باز کنند و مطمئن شوند که FCM پیام را بدون تأخیر به دستگاه تحویل می‌دهد. اگر پیام از نظر زمانی مهم است و نیاز به تعامل فوری کاربر دارد، اولویت بالا را تنظیم کنید، اما مراقب باشید که تنظیم پیام‌هایتان روی اولویت بالا در مقایسه با پیام‌های اولویت معمولی بیشتر به تخلیه باتری کمک می‌کند.

Android Notification

اعلان برای ارسال به دستگاه های اندرویدی.

نمایندگی JSON
{
  "title": string,
  "body": string,
  "icon": string,
  "color": string,
  "sound": string,
  "tag": string,
  "click_action": string,
  "body_loc_key": string,
  "body_loc_args": [
    string
  ],
  "title_loc_key": string,
  "title_loc_args": [
    string
  ],
  "channel_id": string,
  "ticker": string,
  "sticky": boolean,
  "event_time": string,
  "local_only": boolean,
  "notification_priority": enum (NotificationPriority),
  "default_sound": boolean,
  "default_vibrate_timings": boolean,
  "default_light_settings": boolean,
  "vibrate_timings": [
    string
  ],
  "visibility": enum (Visibility),
  "notification_count": integer,
  "light_settings": {
    object (LightSettings)
  },
  "image": string,
}
زمینه های
title

string

عنوان اطلاعیه در صورت وجود، google.firebase.fcm.v1.Notification.title را لغو می کند.

body

string

متن متن اعلان. در صورت وجود، google.firebase.fcm.v1.Notification.body را لغو می کند.

icon

string

نماد اعلان نماد اعلان را برای myicon منبع قابل ترسیم روی myicon تنظیم می کند. اگر این کلید را در درخواست ارسال نکنید، FCM نماد راه‌انداز مشخص‌شده در مانیفست برنامه شما را نمایش می‌دهد.

color

string

رنگ نماد اعلان، که در قالب #rrggbb بیان شده است.

sound

string

زمانی که دستگاه اعلان را دریافت می کند، صدایی پخش می شود. از "پیش فرض" یا نام فایل یک منبع صوتی همراه در برنامه پشتیبانی می کند. فایل های صوتی باید در /res/raw/ قرار گیرند.

tag

string

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

click_action

string

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

body_loc_key

string

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

body_loc_args[]

string

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

title_loc_key

string

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

title_loc_args[]

string

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

channel_id

string

شناسه کانال اعلان (جدید در Android O). قبل از دریافت هر گونه اعلان با این شناسه کانال، برنامه باید کانالی با این شناسه کانال ایجاد کند. اگر این شناسه کانال را در درخواست ارسال نکنید، یا اگر شناسه کانال ارائه‌شده هنوز توسط برنامه ایجاد نشده باشد، FCM از شناسه کانال مشخص‌شده در مانیفست برنامه استفاده می‌کند.

ticker

string

متن "ticker" را تنظیم می کند که به سرویس های دسترسی ارسال می شود. قبل از سطح API 21 ( Lollipop )، متنی را تنظیم می کند که هنگام دریافت اعلان در نوار وضعیت نمایش داده شود.

sticky

boolean

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

event_time

string ( Timestamp format)

زمان وقوع رویداد را در اعلان تنظیم کنید. اعلان ها در پانل بر اساس این زمان مرتب می شوند. یک نقطه در زمان با استفاده از protobuf.Timestamp نشان داده می شود.

مهر زمانی در قالب RFC3339 UTC "Zulu"، با وضوح نانوثانیه و حداکثر نه رقم کسری. مثال‌ها: "2014-10-02T15:01:23Z" و "2014-10-02T15:01:23.045123456Z" .

local_only

boolean

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

notification_priority

enum ( NotificationPriority )

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

default_sound

boolean

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

default_vibrate_timings

boolean

اگر روی درست تنظیم شود، از الگوی لرزش پیش‌فرض چارچوب Android برای اعلان استفاده کنید. مقادیر پیش فرض در config.xml مشخص شده است. اگر default_vibrate_timings روی true و vibrate_timings نیز تنظیم شده باشد، مقدار پیش‌فرض به جای vibrate_timings تعیین‌شده توسط کاربر استفاده می‌شود.

default_light_settings

boolean

اگر روی درست تنظیم شود، از تنظیمات نور LED پیش‌فرض چارچوب Android برای اعلان استفاده کنید. مقادیر پیش فرض در config.xml مشخص شده است. اگر default_light_settings روی true و light_settings نیز تنظیم شده باشد، به جای مقدار پیش فرض light_settings تعیین شده توسط کاربر استفاده می شود.

vibrate_timings[]

string ( Duration format)

الگوی ارتعاش را برای استفاده تنظیم کنید. در یک آرایه از protobuf.Duration برای روشن یا خاموش کردن ویبراتور عبور کنید. مقدار اول Duration انتظار قبل از روشن کردن ویبراتور را نشان می دهد. مقدار بعدی Duration روشن نگه داشتن ویبراتور را نشان می دهد. مقادیر بعدی به طور متناوب بین Duration برای خاموش کردن ویبراتور و روشن کردن ویبراتور تغییر می کند. اگر vibrate_timings تنظیم شود و default_vibrate_timings روی true تنظیم شود، مقدار پیش‌فرض به جای vibrate_timings تعیین‌شده توسط کاربر استفاده می‌شود.

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

visibility

enum ( Visibility )

Notification.visibility اعلان را تنظیم کنید.

notification_count

integer

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

light_settings

object ( LightSettings )

تنظیمات برای کنترل میزان چشمک زدن و رنگ LED اعلان در صورت موجود بودن LED در دستگاه. کل زمان چشمک زدن توسط سیستم عامل کنترل می شود.

image

string

حاوی URL تصویری است که قرار است در یک اعلان نمایش داده شود. در صورت وجود، google.firebase.fcm.v1.Notification.image را لغو می کند.

اولویت اطلاع رسانی

سطوح اولویت یک اعلان

Enums
PRIORITY_UNSPECIFIED اگر اولویت مشخص نشده باشد، اولویت اعلان روی PRIORITY_DEFAULT تنظیم می شود.
PRIORITY_MIN کمترین اولویت اعلان اعلان‌های این PRIORITY_MIN ممکن است به کاربر نشان داده نشود مگر در شرایط خاص، مانند گزارش‌های اعلان‌های دقیق.
PRIORITY_LOW اولویت اعلان کمتر رابط کاربری ممکن است انتخاب کند که اعلان‌ها را در مقایسه با اعلان‌های PRIORITY_DEFAULT کوچک‌تر یا در موقعیت دیگری در فهرست نشان دهد.
PRIORITY_DEFAULT اولویت پیش‌فرض اعلان. اگر برنامه اعلان های خود را اولویت بندی نمی کند، از این مقدار برای همه اعلان ها استفاده کنید.
PRIORITY_HIGH اولویت اطلاع رسانی بالاتر از این برای اعلان‌ها یا هشدارهای مهم‌تر استفاده کنید. در مقایسه با اعلان‌های PRIORITY_DEFAULT ، رابط کاربری ممکن است انتخاب کند که این اعلان‌ها را بزرگ‌تر یا در موقعیت متفاوتی در فهرست‌های اعلان نشان دهد.
PRIORITY_MAX بالاترین اولویت اطلاع رسانی از این برای مهمترین موارد برنامه که نیاز به توجه یا ورودی سریع کاربر دارند استفاده کنید.

دید

سطوح مختلف دید یک اعلان.

Enums
VISIBILITY_UNSPECIFIED اگر مشخص نشده است، به طور پیش‌فرض روی Visibility.PRIVATE قرار دهید.
PRIVATE این اعلان را در همه صفحه‌های قفل نشان دهید، اما اطلاعات حساس یا خصوصی را در صفحه‌های قفل ایمن پنهان کنید.
PUBLIC این اعلان را به طور کامل در همه صفحه‌های قفل نمایش دهید.
SECRET هیچ بخشی از این اعلان را در صفحه قفل ایمن نشان ندهید.

تنظیمات نور

تنظیمات کنترل LED اعلان.

نمایندگی JSON
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
زمینه های
color

object ( Color )

ضروری. color LED را با google.type.Color تنظیم کنید.

light_on_duration

string ( Duration format)

ضروری. همراه با light_off_duration ، نرخ چشمک زدن چشمک های LED را مشخص کنید. وضوح تعریف شده توسط proto.Duration

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

light_off_duration

string ( Duration format)

ضروری. همراه با light_on_duration ، نرخ چشمک زدن چشمک های LED را مشخص کنید. وضوح تعریف شده توسط proto.Duration

مدت زمان در ثانیه با حداکثر نه رقم کسری که با ' s ' ختم می شود. مثال: "3.5s" .

رنگ

یک رنگ را در فضای رنگی RGBA نشان می دهد. این نمایش برای سادگی تبدیل به / از نمایش رنگ در زبان های مختلف بیش از فشرده سازی طراحی شده است. به عنوان مثال، فیلدهای این نمایش را می توان به صورت بی اهمیت در اختیار سازنده java.awt.Color در جاوا قرار داد. همچنین می‌توان آن را به روش UIColor +colorWithRed:green:blue:alpha در iOS ارائه کرد. و فقط با کمی کار می توان آن را به راحتی در یک رشته CSS rgba() در جاوا اسکریپت قالب بندی کرد.

این صفحه مرجع حاوی اطلاعاتی در مورد فضای رنگ مطلقی نیست که باید برای تفسیر مقدار RGB استفاده شود (مانند sRGB، Adobe RGB، DCI-P3، BT.2020، و غیره). به طور پیش فرض، برنامه ها باید فضای رنگی sRGB را در نظر بگیرند.

هنگامی که نیاز به تصمیم گیری در مورد برابری رنگ است، پیاده سازی ها، مگر اینکه به گونه ای دیگر مستند شده باشد، اگر تمام مقادیر قرمز، سبز، آبی و آلفا هر کدام حداکثر 1e-5 متفاوت باشد، با دو رنگ برابر رفتار می کنند.

مثال (جاوا):

 import com.google.type.Color;

 // ...
 public static java.awt.Color fromProto(Color protocolor) {
   float alpha = protocolor.hasAlpha()
       ? protocolor.getAlpha().getValue()
       : 1.0;

   return new java.awt.Color(
       protocolor.getRed(),
       protocolor.getGreen(),
       protocolor.getBlue(),
       alpha);
 }

 public static Color toProto(java.awt.Color color) {
   float red = (float) color.getRed();
   float green = (float) color.getGreen();
   float blue = (float) color.getBlue();
   float denominator = 255.0;
   Color.Builder resultBuilder =
       Color
           .newBuilder()
           .setRed(red / denominator)
           .setGreen(green / denominator)
           .setBlue(blue / denominator);
   int alpha = color.getAlpha();
   if (alpha != 255) {
     result.setAlpha(
         FloatValue
             .newBuilder()
             .setValue(((float) alpha) / denominator)
             .build());
   }
   return resultBuilder.build();
 }
 // ...

مثال (iOS / Obj-C):

 // ...
 static UIColor* fromProto(Color* protocolor) {
    float red = [protocolor red];
    float green = [protocolor green];
    float blue = [protocolor blue];
    FloatValue* alpha_wrapper = [protocolor alpha];
    float alpha = 1.0;
    if (alpha_wrapper != nil) {
      alpha = [alpha_wrapper value];
    }
    return [UIColor colorWithRed:red green:green blue:blue alpha:alpha];
 }

 static Color* toProto(UIColor* color) {
     CGFloat red, green, blue, alpha;
     if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) {
       return nil;
     }
     Color* result = [[Color alloc] init];
     [result setRed:red];
     [result setGreen:green];
     [result setBlue:blue];
     if (alpha <= 0.9999) {
       [result setAlpha:floatWrapperWithValue(alpha)];
     }
     [result autorelease];
     return result;
}
// ...

مثال (جاوا اسکریپت):

// ...

var protoToCssColor = function(rgb_color) {
   var redFrac = rgb_color.red || 0.0;
   var greenFrac = rgb_color.green || 0.0;
   var blueFrac = rgb_color.blue || 0.0;
   var red = Math.floor(redFrac * 255);
   var green = Math.floor(greenFrac * 255);
   var blue = Math.floor(blueFrac * 255);

   if (!('alpha' in rgb_color)) {
      return rgbToCssColor(red, green, blue);
   }

   var alphaFrac = rgb_color.alpha.value || 0.0;
   var rgbParams = [red, green, blue].join(',');
   return ['rgba(', rgbParams, ',', alphaFrac, ')'].join('');
};

var rgbToCssColor = function(red, green, blue) {
  var rgbNumber = new Number((red << 16) | (green << 8) | blue);
  var hexString = rgbNumber.toString(16);
  var missingZeros = 6 - hexString.length;
  var resultBuilder = ['#'];
  for (var i = 0; i < missingZeros; i++) {
     resultBuilder.push('0');
  }
  resultBuilder.push(hexString);
  return resultBuilder.join('');
};

// ...
نمایندگی JSON
{
  "red": number,
  "green": number,
  "blue": number,
  "alpha": number
}
زمینه های
red

number

مقدار قرمز در رنگ به عنوان مقدار در بازه [0، 1].

green

number

مقدار سبز در رنگ به عنوان مقدار در بازه [0، 1].

blue

number

مقدار آبی در رنگ به عنوان مقدار در بازه [0، 1].

alpha

number

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

pixel color = alpha * (this color) + (1.0 - alpha) * (background color)

این بدان معنی است که مقدار 1.0 مربوط به یک رنگ ثابت است، در حالی که مقدار 0.0 مربوط به یک رنگ کاملا شفاف است. این به جای یک اسکالر شناور ساده از یک پیام پوششی استفاده می کند تا بتوان بین یک مقدار پیش فرض و مقدار تنظیم نشده تمایز قائل شد. اگر حذف شود، این شیء رنگی به صورت یک رنگ ثابت نمایش داده می شود (مثل اینکه مقدار آلفا به صراحت مقدار 1.0 داده شده است).

AndroidFcmOptions

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای Android.

نمایندگی JSON
{
  "analytics_label": string
}
زمینه های
analytics_label

string

برچسب مرتبط با داده های تحلیلی پیام.

WebpushConfig

گزینه های پروتکل Webpush

نمایندگی JSON
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
زمینه های
headers

map (key: string, value: string)

هدرهای HTTP تعریف شده در پروتکل webpush. برای هدرهای پشتیبانی شده به پروتکل Webpush مراجعه کنید، به عنوان مثال "TTL": "15".

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

data

map (key: string, value: string)

بار کلیدی/مقدار دلخواه. در صورت وجود، google.firebase.fcm.v1.Message.data را لغو می کند.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

notification

object ( Struct format)

گزینه های Web Notification به عنوان یک شی JSON. از ویژگی های نمونه Notification همانطور که در Web Notification API تعریف شده است پشتیبانی می کند. در صورت وجود، فیلدهای "title" و "body" google.firebase.fcm.v1.Notification.title و google.firebase.fcm.v1.Notification.body را لغو می کنند.

fcm_options

object ( WebpushFcmOptions )

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای وب.

WebpushFcmOptions

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای وب.

نمایندگی JSON
{
  "link": string,
  "analytics_label": string
}
زمینه های
analytics_label

string

برچسب مرتبط با داده های تحلیلی پیام.

ApnsConfig

گزینه های خاص Apple Push Notification Service .

نمایندگی JSON
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
زمینه های
headers

map (key: string, value: string)

هدرهای درخواست HTTP در سرویس اعلان فشار اپل تعریف شده است. برای سرصفحه های پشتیبانی شده مانند apns-expiration و apns-priority به هدرهای درخواست APN مراجعه کنید.

باطن یک مقدار پیش‌فرض را برای apns-expiration 30 روز و یک مقدار پیش‌فرض برای apns-priority 10 را در صورت عدم تنظیم صریح تعیین می‌کند.

یک شی حاوی لیستی از "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

بارگذاری APN به عنوان یک شی JSON، شامل دیکشنری aps و بار سفارشی. مرجع کلید Payload را ببینید. در صورت وجود، google.firebase.fcm.v1.Notification.title و google.firebase.fcm.v1.Notification.body را لغو می کند.

fcm_options

object ( ApnsFcmOptions )

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای iOS.

ApnsFcmOptions

گزینه هایی برای ویژگی های ارائه شده توسط FCM SDK برای iOS.

نمایندگی JSON
{
  "analytics_label": string,
  "image": string
}
زمینه های
analytics_label

string

برچسب مرتبط با داده های تحلیلی پیام.

image

string

حاوی URL تصویری است که قرار است در یک اعلان نمایش داده شود. در صورت وجود، google.firebase.fcm.v1.Notification.image را لغو می کند.

FcmOptions

گزینه های مستقل از پلتفرم برای ویژگی های ارائه شده توسط FCM SDK.

نمایندگی JSON
{
  "analytics_label": string
}
زمینه های
analytics_label

string

برچسب مرتبط با داده های تحلیلی پیام.

مواد و روش ها

send

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