REST Resource: projects.messages

संसाधन: संदेश

फायरबेस क्लाउड मैसेजिंग सेवा द्वारा भेजा जाने वाला संदेश।

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 एन्कोडेड होना चाहिए। कुंजी एक आरक्षित शब्द ("से", "message_type", या "google" या "gcm") से शुरू होने वाला कोई शब्द नहीं होना चाहिए। केवल डेटा फ़ील्ड वाले पेलोड को iOS उपकरणों पर भेजते समय, ApnsConfig में केवल सामान्य प्राथमिकता ( "apns-priority": "5" ) की अनुमति है।

एक ऑब्जेक्ट जिसमें "key": value जोड़े। उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }

notification

object ( Notification )

केवल इनपुट. सभी प्लेटफ़ॉर्म पर उपयोग करने के लिए बुनियादी अधिसूचना टेम्पलेट।

android

object ( AndroidConfig )

केवल इनपुट. एफसीएम कनेक्शन सर्वर के माध्यम से भेजे गए संदेशों के लिए एंड्रॉइड विशिष्ट विकल्प।

webpush

object ( WebpushConfig )

केवल इनपुट. वेबपश प्रोटोकॉल विकल्प.

apns

object ( ApnsConfig )

केवल इनपुट. Apple पुश अधिसूचना सेवा विशिष्ट विकल्प।

fcm_options

object ( FcmOptions )

केवल इनपुट. सभी प्लेटफार्मों पर उपयोग के लिए एफसीएम एसडीके सुविधा विकल्पों के लिए टेम्पलेट।

संघ क्षेत्र target . आवश्यक। केवल इनपुट. संदेश भेजने का लक्ष्य. target निम्नलिखित में से केवल एक ही हो सकता है:
token

string

संदेश भेजने के लिए पंजीकरण टोकन।

topic

string

संदेश भेजने के लिए विषय का नाम, उदाहरण के लिए "मौसम"। नोट: "/विषय/" उपसर्ग प्रदान नहीं किया जाना चाहिए।

condition

string

संदेश भेजने की शर्त, उदाहरण के लिए "विषयों में 'फू' और विषयों में 'बार'"।

अधिसूचना

सभी प्लेटफ़ॉर्म पर उपयोग करने के लिए बुनियादी अधिसूचना टेम्पलेट।

JSON प्रतिनिधित्व
{
  "title": string,
  "body": string,
  "image": string
}
खेत
title

string

अधिसूचना का शीर्षक.

body

string

अधिसूचना का मुख्य पाठ.

image

string

इसमें एक छवि का यूआरएल शामिल है जिसे डिवाइस पर डाउनलोड किया जाएगा और एक अधिसूचना में प्रदर्शित किया जाएगा। JPEG, PNG, BMP को सभी प्लेटफ़ॉर्म पर पूर्ण समर्थन प्राप्त है। एनिमेटेड GIF और वीडियो केवल iOS पर काम करते हैं। WebP और HEIF के पास सभी प्लेटफ़ॉर्म और प्लेटफ़ॉर्म संस्करणों में समर्थन के विभिन्न स्तर हैं। एंड्रॉइड में छवि आकार की सीमा 1 एमबी है। फायरबेस स्टोरेज पर छवि होस्ट करने के लिए कोटा उपयोग और निहितार्थ/लागत: https://firebase.google.com/pricing

Androidकॉन्फिग

एफसीएम कनेक्शन सर्वर के माध्यम से भेजे गए संदेशों के लिए एंड्रॉइड विशिष्ट विकल्प।

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 प्रारूप में, अवधि प्रकार को एक ऑब्जेक्ट के बजाय एक स्ट्रिंग के रूप में एन्कोड किया जाता है, जहां स्ट्रिंग प्रत्यय "एस" (सेकंड का संकेत) में समाप्त होती है और सेकंड की संख्या से पहले होती है, नैनोसेकंड को आंशिक सेकंड के रूप में व्यक्त किया जाता है। उदाहरण के लिए, 0 नैनोसेकंड वाले 3 सेकंड को JSON प्रारूप में "3s" के रूप में एन्कोड किया जाना चाहिए, जबकि 3 सेकंड और 1 नैनोसेकंड को JSON प्रारूप में "3.000000001s" के रूप में व्यक्त किया जाना चाहिए। टीटीएल को निकटतम सेकंड तक पूर्णांकित किया जाएगा।

अधिकतम नौ भिन्नात्मक अंकों वाली सेकंड में एक अवधि, जो ' 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 )

Android के लिए FCM SDK द्वारा प्रदान की जाने वाली सुविधाओं के विकल्प।

direct_boot_ok

boolean

यदि सही पर सेट किया जाता है, तो डिवाइस के सीधे बूट मोड में होने पर संदेशों को ऐप पर डिलीवर करने की अनुमति दी जाएगी। डायरेक्ट बूट मोड का समर्थन देखें।

एंड्रॉइडमैसेजप्रायोरिटी

Android डिवाइस पर भेजने के लिए संदेश की प्राथमिकता. ध्यान दें कि यह प्राथमिकता एक एफसीएम अवधारणा है जो संदेश वितरित होने पर नियंत्रण करती है। एफसीएम गाइड देखें। इसके अतिरिक्त, आप AndroidNotification.NotificationPriority का उपयोग करके लक्षित Android उपकरणों पर अधिसूचना प्रदर्शन प्राथमिकता निर्धारित कर सकते हैं।

एनम्स
NORMAL डेटा संदेशों के लिए डिफ़ॉल्ट प्राथमिकता. सामान्य प्राथमिकता संदेश स्लीपिंग डिवाइस पर नेटवर्क कनेक्शन नहीं खोलेंगे, और बैटरी बचाने के लिए उनकी डिलीवरी में देरी हो सकती है। कम समय के प्रति संवेदनशील संदेशों, जैसे नए ईमेल की सूचनाएं या सिंक करने के लिए अन्य डेटा के लिए, सामान्य डिलीवरी प्राथमिकता चुनें।
HIGH अधिसूचना संदेशों के लिए डिफ़ॉल्ट प्राथमिकता. एफसीएम उच्च प्राथमिकता वाले संदेशों को तुरंत वितरित करने का प्रयास करता है, जिससे एफसीएम सेवा संभव होने पर स्लीपिंग डिवाइस को जगाने और आपके ऐप सर्वर पर नेटवर्क कनेक्शन खोलने की अनुमति देती है। उदाहरण के लिए, इंस्टेंट मैसेजिंग, चैट या वॉयस कॉल अलर्ट वाले ऐप्स को आम तौर पर एक नेटवर्क कनेक्शन खोलने और यह सुनिश्चित करने की आवश्यकता होती है कि एफसीएम बिना किसी देरी के डिवाइस पर संदेश पहुंचाता है। यदि संदेश समय-महत्वपूर्ण है और उपयोगकर्ता की तत्काल बातचीत की आवश्यकता है, तो उच्च प्राथमिकता सेट करें, लेकिन सावधान रहें कि आपके संदेशों को उच्च प्राथमिकता पर सेट करने से सामान्य प्राथमिकता वाले संदेशों की तुलना में बैटरी खत्म होने में अधिक योगदान होता है।

Android अधिसूचना

एंड्रॉइड डिवाइस पर भेजने के लिए अधिसूचना।

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 पर सेट करता है। यदि आप अनुरोध में यह कुंजी नहीं भेजते हैं, तो एफसीएम आपके ऐप मेनिफेस्ट में निर्दिष्ट लॉन्चर आइकन प्रदर्शित करता है।

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

अधिसूचना की चैनल आईडी (एंड्रॉइड ओ में नई)। इस चैनल आईडी के साथ कोई भी अधिसूचना प्राप्त होने से पहले ऐप को इस चैनल आईडी के साथ एक चैनल बनाना होगा। यदि आप अनुरोध में यह चैनल आईडी नहीं भेजते हैं, या यदि प्रदान की गई चैनल आईडी अभी तक ऐप द्वारा नहीं बनाई गई है, तो एफसीएम ऐप मेनिफेस्ट में निर्दिष्ट चैनल आईडी का उपयोग करता है।

ticker

string

"टिकर" टेक्स्ट सेट करता है, जो एक्सेसिबिलिटी सेवाओं को भेजा जाता है। एपीआई स्तर 21 ( Lollipop ) से पहले, उस टेक्स्ट को सेट करता है जो अधिसूचना पहली बार आने पर स्टेटस बार में प्रदर्शित होता है।

sticky

boolean

जब गलत या अनसेट पर सेट किया जाता है, तो उपयोगकर्ता द्वारा पैनल में क्लिक करने पर अधिसूचना स्वचालित रूप से खारिज हो जाती है। जब सत्य पर सेट किया जाता है, तो अधिसूचना तब भी बनी रहती है जब उपयोगकर्ता उस पर क्लिक करता है।

event_time

string ( Timestamp format)

अधिसूचना में घटना घटित होने का समय निर्धारित करें। पैनल में सूचनाएं इस समय के अनुसार क्रमबद्ध की जाती हैं। समय में एक बिंदु को protobuf.Timestamp का उपयोग करके दर्शाया जाता है।

RFC3339 UTC "ज़ुलु" प्रारूप में एक टाइमस्टैम्प, नैनोसेकंड रिज़ॉल्यूशन और नौ भिन्नात्मक अंकों तक। उदाहरण: "2014-10-02T15:01:23Z" और "2014-10-02T15:01:23.045123456Z"

local_only

boolean

सेट करें कि यह अधिसूचना केवल वर्तमान डिवाइस के लिए प्रासंगिक है या नहीं। कुछ सूचनाओं को रिमोट डिस्प्ले के लिए अन्य डिवाइसों पर ब्रिज किया जा सकता है, जैसे वेयर ओएस घड़ी। इस अधिसूचना को ब्रिज न करने की अनुशंसा करने के लिए यह संकेत सेट किया जा सकता है। वेयर ओएस गाइड देखें

notification_priority

enum ( NotificationPriority )

इस अधिसूचना के लिए सापेक्ष प्राथमिकता निर्धारित करें। प्राथमिकता इस बात का संकेत है कि इस अधिसूचना द्वारा उपयोगकर्ता का कितना ध्यान आकर्षित किया जाना चाहिए। कुछ स्थितियों में कम-प्राथमिकता वाली सूचनाएं उपयोगकर्ता से छिपाई जा सकती हैं, जबकि उच्च-प्राथमिकता वाली अधिसूचना के लिए उपयोगकर्ता को रोका जा सकता है। समान प्राथमिकताएँ निर्धारित करने का प्रभाव अलग-अलग प्लेटफ़ॉर्म पर थोड़ा भिन्न हो सकता है। ध्यान दें कि यह प्राथमिकता AndroidMessagePriority से भिन्न है। यह प्राथमिकता संदेश डिलीवर होने के बाद क्लाइंट द्वारा संसाधित की जाती है, जबकि AndroidMessagePriority एक FCM अवधारणा है जो संदेश डिलीवर होने पर नियंत्रण करती है।

default_sound

boolean

यदि सही पर सेट है, तो अधिसूचना के लिए एंड्रॉइड फ्रेमवर्क की डिफ़ॉल्ट ध्वनि का उपयोग करें। डिफ़ॉल्ट मान config.xml में निर्दिष्ट हैं।

default_vibrate_timings

boolean

यदि सही पर सेट है, तो अधिसूचना के लिए एंड्रॉइड फ्रेमवर्क के डिफ़ॉल्ट कंपन पैटर्न का उपयोग करें। डिफ़ॉल्ट मान config.xml में निर्दिष्ट हैं। यदि default_vibrate_timings सत्य पर सेट किया गया है और vibrate_timings भी सेट किया गया है, तो उपयोगकर्ता द्वारा निर्दिष्ट vibrate_timings के बजाय डिफ़ॉल्ट मान का उपयोग किया जाता है।

default_light_settings

boolean

यदि सही पर सेट है, तो अधिसूचना के लिए एंड्रॉइड फ्रेमवर्क की डिफ़ॉल्ट एलईडी लाइट सेटिंग्स का उपयोग करें। डिफ़ॉल्ट मान config.xml में निर्दिष्ट हैं। यदि default_light_settings सत्य पर सेट किया गया है और light_settings भी सेट किया गया है, तो डिफ़ॉल्ट मान के बजाय उपयोगकर्ता द्वारा निर्दिष्ट light_settings का उपयोग किया जाता है।

vibrate_timings[]

string ( Duration format)

उपयोग के लिए कंपन पैटर्न सेट करें। वाइब्रेटर को चालू या बंद करने के लिए प्रोटोबफ़.अवधि की एक श्रृंखला में पास करें। पहला मान वाइब्रेटर चालू करने से पहले प्रतीक्षा करने की Duration को इंगित करता है। अगला मान वाइब्रेटर को चालू रखने की Duration इंगित करता है। बाद के मान वाइब्रेटर को बंद करने और वाइब्रेटर को चालू करने की Duration के बीच वैकल्पिक होते हैं। यदि vibrate_timings सेट है और default_vibrate_timings true पर सेट है, तो उपयोगकर्ता द्वारा निर्दिष्ट vibrate_timings के बजाय डिफ़ॉल्ट मान का उपयोग किया जाता है।

अधिकतम नौ भिन्नात्मक अंकों वाली सेकंड में एक अवधि, जो ' s ' पर समाप्त होती है। उदाहरण: "3.5s"

visibility

enum ( Visibility )

अधिसूचना की अधिसूचना.दृश्यता सेट करें।

notification_count

integer

यह अधिसूचना जिन आइटमों का प्रतिनिधित्व करती है उनकी संख्या निर्धारित करती है। बैजिंग का समर्थन करने वाले लॉन्चरों के लिए बैज गिनती के रूप में प्रदर्शित किया जा सकता है । अधिसूचना बैज देखें । उदाहरण के लिए, यह उपयोगी हो सकता है यदि आप कई नए संदेशों को दर्शाने के लिए सिर्फ एक अधिसूचना का उपयोग कर रहे हैं लेकिन आप चाहते हैं कि यहां गिनती कुल नए संदेशों की संख्या का प्रतिनिधित्व करे। यदि शून्य या अनिर्दिष्ट है, तो बैजिंग का समर्थन करने वाले सिस्टम डिफ़ॉल्ट का उपयोग करते हैं, जो हर बार एक नई अधिसूचना आने पर लॉन्ग-प्रेस मेनू पर प्रदर्शित संख्या को बढ़ाता है।

light_settings

object ( LightSettings )

यदि डिवाइस पर एलईडी उपलब्ध है तो अधिसूचना की एलईडी ब्लिंकिंग दर और रंग को नियंत्रित करने के लिए सेटिंग्स। कुल पलक झपकने का समय OS द्वारा नियंत्रित किया जाता है।

image

string

इसमें एक छवि का यूआरएल शामिल है जो अधिसूचना में प्रदर्शित होने वाला है। यदि मौजूद है, तो यह 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 इस अधिसूचना के किसी भी भाग को सुरक्षित लॉकस्क्रीन पर प्रकट न करें।

लाइटसेटिंग्स

अधिसूचना एलईडी को नियंत्रित करने के लिए सेटिंग्स।

JSON प्रतिनिधित्व
{
  "color": {
    object (Color)
  },
  "light_on_duration": string,
  "light_off_duration": string
}
खेत
color

object ( Color )

आवश्यक। LED का color google.type.Color से सेट करें।

light_on_duration

string ( Duration format)

आवश्यक। light_off_duration के साथ, एलईडी फ्लैश की ब्लिंक दर को परिभाषित करें। प्रोटो.अवधि द्वारा परिभाषित संकल्प

अधिकतम नौ भिन्नात्मक अंकों वाली सेकंड में एक अवधि, जो ' s ' पर समाप्त होती है। उदाहरण: "3.5s"

light_off_duration

string ( Duration format)

आवश्यक। light_on_duration के साथ, एलईडी फ्लैश की ब्लिंक दर को परिभाषित करें। प्रोटो.अवधि द्वारा परिभाषित संकल्प

अधिकतम नौ भिन्नात्मक अंकों वाली सेकंड में एक अवधि, जो ' s ' पर समाप्त होती है। उदाहरण: "3.5s"

रंग

RGBA रंग स्थान में एक रंग का प्रतिनिधित्व करता है। यह प्रस्तुतिकरण विभिन्न भाषाओं में रंग प्रस्तुतिकरण में/से रूपांतरण की सरलता के लिए डिज़ाइन किया गया है। उदाहरण के लिए, इस प्रतिनिधित्व के क्षेत्रों को जावा में java.awt.Color के कंस्ट्रक्टर को तुच्छ रूप से प्रदान किया जा सकता है; इसे iOS में UIColor की +colorWithRed:green:blue:alpha विधि में भी तुच्छ रूप से प्रदान किया जा सकता है; और, थोड़े से काम से, इसे आसानी से जावास्क्रिप्ट में सीएसएस 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();
 }
 // ...

उदाहरण (आईओएस/ओबीजे-सी):

 // ...
 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 का मान दिया गया हो)।

AndroidFcmविकल्प

Android के लिए FCM SDK द्वारा प्रदान की जाने वाली सुविधाओं के विकल्प।

JSON प्रतिनिधित्व
{
  "analytics_label": string
}
खेत
analytics_label

string

संदेश के विश्लेषण डेटा से संबद्ध लेबल.

WebpushConfig

वेबपश प्रोटोकॉल विकल्प.

JSON प्रतिनिधित्व
{
  "headers": {
    string: string,
    ...
  },
  "data": {
    string: string,
    ...
  },
  "notification": {
    object
  },
  "fcm_options": {
    object (WebpushFcmOptions)
  }
}
खेत
headers

map (key: string, value: string)

वेबपश प्रोटोकॉल में परिभाषित HTTP हेडर। समर्थित हेडर के लिए वेबपश प्रोटोकॉल देखें, उदाहरण के लिए "टीटीएल": "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 ऑब्जेक्ट के रूप में वेब अधिसूचना विकल्प। वेब अधिसूचना एपीआई में परिभाषित अधिसूचना उदाहरण गुणों का समर्थन करता है। यदि मौजूद है, तो "शीर्षक" और "बॉडी" फ़ील्ड google.firebase.fcm.v1.Notification.title और google.firebase.fcm.v1.Notification.body ओवरराइड कर देते हैं।

fcm_options

object ( WebpushFcmOptions )

वेब के लिए एफसीएम एसडीके द्वारा प्रदान की गई सुविधाओं के विकल्प।

WebpushFcmOptions

वेब के लिए एफसीएम एसडीके द्वारा प्रदान की गई सुविधाओं के विकल्प।

JSON प्रतिनिधित्व
{
  "link": string,
  "analytics_label": string
}
खेत
analytics_label

string

संदेश के विश्लेषण डेटा से संबद्ध लेबल.

ApnsConfig

Apple पुश अधिसूचना सेवा विशिष्ट विकल्प।

JSON प्रतिनिधित्व
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
खेत
headers

map (key: string, value: string)

Apple पुश अधिसूचना सेवा में परिभाषित HTTP अनुरोध हेडर। एपीएनएस apns-expiration और apns-priority जैसे समर्थित हेडर के लिए एपीएन अनुरोध हेडर का संदर्भ लें।

बैकएंड 30 दिनों की apns-expiration के लिए एक डिफ़ॉल्ट मान सेट करता है और यदि स्पष्ट रूप से सेट नहीं किया गया है तो apns-priority के लिए 10 की डिफ़ॉल्ट मान सेट करता है।

एक ऑब्जेक्ट जिसमें "key": value जोड़े। उदाहरण: { "name": "wrench", "mass": "1.3kg", "count": "3" }

payload

object ( Struct format)

एपीएन एक JSON ऑब्जेक्ट के रूप में पेलोड करता है, जिसमें aps डिक्शनरी और कस्टम पेलोड दोनों शामिल हैं। पेलोड कुंजी संदर्भ देखें। यदि मौजूद है, तो यह google.firebase.fcm.v1.Notification.title और google.firebase.fcm.v1.Notification.body ओवरराइड कर देता है।

fcm_options

object ( ApnsFcmOptions )

आईओएस के लिए एफसीएम एसडीके द्वारा प्रदान की गई सुविधाओं के विकल्प।

ApnsFcmविकल्प

आईओएस के लिए एफसीएम एसडीके द्वारा प्रदान की गई सुविधाओं के विकल्प।

JSON प्रतिनिधित्व
{
  "analytics_label": string,
  "image": string
}
खेत
analytics_label

string

संदेश के विश्लेषण डेटा से संबद्ध लेबल.

image

string

इसमें एक छवि का यूआरएल शामिल है जो अधिसूचना में प्रदर्शित होने वाला है। यदि मौजूद है, तो यह google.firebase.fcm.v1.Notification.image ओवरराइड कर देगा।

एफसीएम विकल्प

एफसीएम एसडीके द्वारा प्रदान की गई सुविधाओं के लिए प्लेटफ़ॉर्म स्वतंत्र विकल्प।

JSON प्रतिनिधित्व
{
  "analytics_label": string
}
खेत
analytics_label

string

संदेश के विश्लेषण डेटा से संबद्ध लेबल.

तरीकों

send

निर्दिष्ट लक्ष्य (पंजीकरण टोकन, विषय या शर्त) पर एक संदेश भेजें।