REST Resource: projects.messages

المصدر: رسالة

رسالة لإرسالها عن طريق خدمة المراسلة السحابية Firebase.

تمثيل جيسون
{
  "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 .

fcm_options

object ( FcmOptions )

الإدخال فقط. قالب لخيارات ميزات FCM SDK لاستخدامها عبر جميع الأنظمة الأساسية.

target ميداني للاتحاد . مطلوب. الإدخال فقط. الهدف لإرسال رسالة إلى. يمكن أن يكون target واحدًا مما يلي فقط:
token

string

رمز التسجيل لإرسال رسالة إلى.

topic

string

اسم الموضوع المراد إرسال رسالة إليه، على سبيل المثال "الطقس". ملاحظة: لا ينبغي توفير البادئة "/ المواضيع /".

condition

string

شرط إرسال رسالة إليه، على سبيل المثال "'foo' في المواضيع && 'bar' في المواضيع".

إشعار

قالب الإخطار الأساسي لاستخدامه عبر جميع المنصات.

تمثيل جيسون
{
  "title": string,
  "body": string,
  "image": string
}
مجالات
title

string

عنوان الإخطار.

body

string

النص الأساسي للإشعار.

image

string

يحتوي على عنوان URL للصورة التي سيتم تنزيلها على الجهاز وعرضها في إشعار. تحظى JPEG وPNG وBMP بالدعم الكامل عبر الأنظمة الأساسية. تعمل صور GIF المتحركة والفيديوهات على نظام التشغيل iOS فقط. يتمتع WebP وHEIF بمستويات مختلفة من الدعم عبر الأنظمة الأساسية وإصدارات النظام الأساسي. لدى Android حد لحجم الصورة يبلغ 1 ميجابايت. استخدام الحصص والآثار/التكاليف لاستضافة الصورة على Firebase Storage: https://firebase.google.com/pricing

تكوين أندرويد

خيارات Android المحددة للرسائل المرسلة عبر خادم اتصال FCM .

تمثيل جيسون
{
  "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 . بالإضافة إلى ذلك، يمكنك تحديد أولوية عرض الإشعارات على أجهزة Android المستهدفة باستخدام AndroidNotification.NotificationPriority .

التعدادات
NORMAL الأولوية الافتراضية لرسائل البيانات. لن تفتح رسائل الأولوية العادية اتصالات الشبكة على جهاز نائم، وقد يتأخر تسليمها للحفاظ على البطارية. بالنسبة للرسائل الأقل حساسية للوقت، مثل إشعارات البريد الإلكتروني الجديد أو البيانات الأخرى المطلوب مزامنتها، اختر أولوية التسليم العادي.
HIGH الأولوية الافتراضية لرسائل الإعلام. تحاول FCM تسليم الرسائل ذات الأولوية العالية على الفور، مما يسمح لخدمة FCM بتنبيه جهاز نائم عندما يكون ذلك ممكنًا وفتح اتصال شبكة بخادم التطبيق الخاص بك. على سبيل المثال، تحتاج التطبيقات التي تحتوي على تنبيهات للمراسلة الفورية أو الدردشة أو المكالمات الصوتية إلى فتح اتصال شبكة والتأكد من قيام FCM بتسليم الرسالة إلى الجهاز دون تأخير. قم بتعيين أولوية عالية إذا كانت الرسالة ذات وقت حرج وتتطلب تفاعلًا فوريًا من المستخدم، ولكن احذر من أن تعيين رسائلك على أولوية عالية يساهم بشكل أكبر في استنزاف البطارية مقارنة بالرسائل ذات الأولوية العادية.

AndroidNotification

إشعار لإرساله إلى أجهزة أندرويد.

تمثيل جيسون
{
  "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

يضبط نص "المؤشر" الذي يتم إرساله إلى خدمات إمكانية الوصول. قبل مستوى واجهة برمجة التطبيقات (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 .

أولوية الإخطار

مستويات الأولوية للإخطار.

التعدادات
PRIORITY_UNSPECIFIED إذا كانت الأولوية غير محددة، فسيتم تعيين أولوية الإشعارات على PRIORITY_DEFAULT .
PRIORITY_MIN أدنى أولوية للإخطار. قد لا يتم عرض الإشعارات ذات PRIORITY_MIN هذه للمستخدم إلا في ظروف خاصة، مثل سجلات الإشعارات التفصيلية.
PRIORITY_LOW أولوية إعلام أقل. قد تختار واجهة المستخدم إظهار الإشعارات بحجم أصغر، أو في موضع مختلف في القائمة، مقارنةً بالإشعارات ذات PRIORITY_DEFAULT .
PRIORITY_DEFAULT أولوية الإخطار الافتراضية. إذا لم يقم التطبيق بإعطاء الأولوية للإشعارات الخاصة به، فاستخدم هذه القيمة لجميع الإشعارات.
PRIORITY_HIGH أولوية أعلى للإخطار. استخدم هذا للحصول على إشعارات أو تنبيهات أكثر أهمية. قد تختار واجهة المستخدم إظهار هذه الإشعارات بحجم أكبر، أو في موضع مختلف في قوائم الإشعارات، مقارنةً بالإشعارات ذات PRIORITY_DEFAULT .
PRIORITY_MAX أعلى أولوية الإخطار. استخدم هذا لأهم عناصر التطبيق التي تتطلب اهتمامًا أو إدخالاً فوريًا من المستخدم.

الرؤية

مستويات رؤية مختلفة للإخطار.

التعدادات
VISIBILITY_UNSPECIFIED إذا لم يتم تحديده، فاضبط الإعداد الافتراضي على Visibility.PRIVATE .
PRIVATE اعرض هذا الإشعار على جميع شاشات القفل، ولكن قم بإخفاء المعلومات الحساسة أو الخاصة على شاشات القفل الآمنة.
PUBLIC أظهر هذا الإشعار بالكامل على جميع شاشات القفل.
SECRET لا تكشف عن أي جزء من هذا الإشعار على شاشة قفل آمنة.

إعدادات الضوء

إعدادات للتحكم في مؤشر LED للإشعارات.

تمثيل جيسون
{
  "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 في Java؛ ويمكن أيضًا تقديمه بشكل تافه إلى طريقة +colorWithRed:green:blue:alpha UIColor في iOS؛ وبقليل من العمل، يمكن تنسيقها بسهولة إلى سلسلة CSS rgba() ‎ في JavaScript.

لا تحتوي هذه الصفحة المرجعية على معلومات حول مساحة اللون المطلقة التي يجب استخدامها لتفسير قيمة 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('');
};

// ...
تمثيل جيسون
{
  "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.

تمثيل جيسون
{
  "analytics_label": string
}
مجالات
analytics_label

string

التصنيف المرتبط ببيانات تحليلات الرسالة.

WebpushConfig

خيارات بروتوكول Webpush .

تمثيل جيسون
{
  "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)

خيارات إعلام الويب ككائن JSON. يدعم خصائص مثيل الإشعارات كما هو محدد في Web Notification API . إذا كان موجودًا، فإن حقلي "العنوان" و"النص الأساسي" سيتجاوزان google.firebase.fcm.v1.Notification.title و google.firebase.fcm.v1.Notification.body .

fcm_options

object ( WebpushFcmOptions )

خيارات الميزات التي توفرها FCM SDK للويب.

WebpushFcmOptions

خيارات الميزات التي توفرها FCM SDK للويب.

تمثيل جيسون
{
  "link": string,
  "analytics_label": string
}
مجالات
analytics_label

string

التصنيف المرتبط ببيانات تحليلات الرسالة.

ApnsConfig

خيارات محددة لخدمة Apple Push Notification .

تمثيل جيسون
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
مجالات
headers

map (key: string, value: string)

رؤوس طلب HTTP المحددة في خدمة Apple Push Notification Service. ارجع إلى رؤوس طلب APNs للرؤوس المدعومة مثل apns-expiration و apns-priority .

تقوم الواجهة الخلفية بتعيين قيمة افتراضية apns-expiration لمدة 30 يومًا وقيمة افتراضية apns-priority بقيمة 10 إذا لم يتم تعيينها بشكل صريح.

كائن يحتوي على قائمة "key": value . مثال: { "name": "wrench", "mass": "1.3kg", "count": "3" } .

payload

object ( Struct format)

حمولة APNs ككائن JSON، بما في ذلك قاموس aps والحمولة المخصصة. راجع مرجع مفتاح الحمولة . إذا كان موجودًا، فإنه يتجاوز google.firebase.fcm.v1.Notification.title و google.firebase.fcm.v1.Notification.body .

fcm_options

object ( ApnsFcmOptions )

خيارات الميزات التي توفرها FCM SDK لنظام التشغيل iOS.

ApnsFcmOptions

خيارات الميزات التي توفرها FCM SDK لنظام التشغيل iOS.

تمثيل جيسون
{
  "analytics_label": string,
  "image": string
}
مجالات
analytics_label

string

التصنيف المرتبط ببيانات تحليلات الرسالة.

image

string

يحتوي على عنوان URL للصورة التي سيتم عرضها في الإشعار. إذا كان موجودًا، فسوف يتجاوز google.firebase.fcm.v1.Notification.image .

خيارات fcm

خيارات النظام الأساسي المستقلة للميزات التي توفرها مجموعات FCM SDK.

تمثيل جيسون
{
  "analytics_label": string
}
مجالات
analytics_label

string

التصنيف المرتبط ببيانات تحليلات الرسالة.

طُرق

send

أرسل رسالة إلى الهدف المحدد (رمز التسجيل أو الموضوع أو الشرط).