REST Resource: projects.messages

সম্পদ: বার্তা

Firebase ক্লাউড মেসেজিং পরিষেবা দ্বারা পাঠানোর জন্য বার্তা৷

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 এনকোড করা আবশ্যক। কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "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 )

শুধুমাত্র ইনপুট। অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা নির্দিষ্ট বিকল্প।

fcm_options

object ( FcmOptions )

শুধুমাত্র ইনপুট। সমস্ত প্ল্যাটফর্ম জুড়ে ব্যবহার করার জন্য FCM SDK বৈশিষ্ট্য বিকল্পগুলির জন্য টেমপ্লেট৷

ইউনিয়ন ফিল্ড target . প্রয়োজন। শুধুমাত্র ইনপুট। একটি বার্তা পাঠানোর লক্ষ্য. target নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:
token

string

একটি বার্তা পাঠাতে নিবন্ধন টোকেন.

topic

string

একটি বার্তা পাঠাতে বিষয়ের নাম, যেমন "আবহাওয়া"। দ্রষ্টব্য: "/topics/" উপসর্গ প্রদান করা উচিত নয়।

condition

string

একটি বার্তা পাঠানোর শর্ত, যেমন "বিষয়গুলিতে 'foo' এবং বিষয়গুলিতে 'বার'"।

বিজ্ঞপ্তি

সমস্ত প্ল্যাটফর্ম জুড়ে ব্যবহারের জন্য প্রাথমিক বিজ্ঞপ্তি টেমপ্লেট।

JSON প্রতিনিধিত্ব
{
  "title": string,
  "body": string,
  "image": string
}
ক্ষেত্র
title

string

বিজ্ঞপ্তির শিরোনাম।

body

string

বিজ্ঞপ্তির মূল অংশের পাঠ্য।

image

string

ডিভাইসে ডাউনলোড করা এবং একটি বিজ্ঞপ্তিতে প্রদর্শিত হতে চলেছে এমন একটি ছবির URL রয়েছে৷ JPEG, PNG, BMP প্ল্যাটফর্ম জুড়ে সম্পূর্ণ সমর্থন আছে। অ্যানিমেটেড GIF এবং ভিডিও শুধুমাত্র iOS এ কাজ করে। WebP এবং HEIF প্ল্যাটফর্ম এবং প্ল্যাটফর্ম সংস্করণ জুড়ে বিভিন্ন স্তরের সমর্থন রয়েছে৷ অ্যান্ড্রয়েডের 1MB ছবির সাইজ সীমা রয়েছে। ফায়ারবেস স্টোরেজে ছবি হোস্ট করার জন্য কোটা ব্যবহার এবং প্রভাব/খরচ: https://firebase.google.com/pricing

অ্যান্ড্রয়েড কনফিগারেশন

এফসিএম সংযোগ সার্ভারের মাধ্যমে পাঠানো বার্তাগুলির জন্য অ্যান্ড্রয়েড নির্দিষ্ট বিকল্প।

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 বিন্যাসে, সময়কালের ধরনটি বস্তুর পরিবর্তে একটি স্ট্রিং হিসাবে এনকোড করা হয়, যেখানে স্ট্রিংটি "s" প্রত্যয় (সেকেন্ড নির্দেশ করে) শেষ হয় এবং সেকেন্ডের সংখ্যার আগে থাকে, ন্যানোসেকেন্ডগুলি ভগ্নাংশীয় সেকেন্ড হিসাবে প্রকাশ করে। উদাহরণস্বরূপ, 0 ন্যানোসেকেন্ড সহ 3 সেকেন্ডকে 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 )

Android এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷

direct_boot_ok

boolean

সত্য হিসাবে সেট করা থাকলে, ডিভাইসটি সরাসরি বুট মোডে থাকাকালীন অ্যাপে বার্তাগুলি বিতরণ করার অনুমতি দেওয়া হবে। সাপোর্ট ডাইরেক্ট বুট মোড দেখুন।

AndroidMessagePriority

Android ডিভাইসে পাঠানোর জন্য একটি বার্তার অগ্রাধিকার। মনে রাখবেন এই অগ্রাধিকারটি একটি FCM ধারণা যা বার্তাটি কখন বিতরণ করা হয় তা নিয়ন্ত্রণ করে। FCM গাইড দেখুন। উপরন্তু, আপনি AndroidNotification.NotificationPriority ব্যবহার করে লক্ষ্যযুক্ত Android ডিভাইসে বিজ্ঞপ্তি প্রদর্শন অগ্রাধিকার নির্ধারণ করতে পারেন।

Enums
NORMAL ডেটা বার্তাগুলির জন্য ডিফল্ট অগ্রাধিকার। স্বাভাবিক অগ্রাধিকার বার্তাগুলি একটি ঘুমন্ত ডিভাইসে নেটওয়ার্ক সংযোগগুলি খুলবে না এবং ব্যাটারি সংরক্ষণ করতে তাদের বিতরণ বিলম্বিত হতে পারে৷ কম সময়-সংবেদনশীল বার্তাগুলির জন্য, যেমন নতুন ইমেলের বিজ্ঞপ্তি বা সিঙ্ক করার জন্য অন্যান্য ডেটা, স্বাভাবিক বিতরণ অগ্রাধিকার চয়ন করুন৷
HIGH বিজ্ঞপ্তি বার্তাগুলির জন্য ডিফল্ট অগ্রাধিকার। FCM অবিলম্বে উচ্চ অগ্রাধিকার বার্তাগুলি সরবরাহ করার চেষ্টা করে, FCM পরিষেবাকে সম্ভব হলে একটি ঘুমন্ত ডিভাইসকে জাগিয়ে তুলতে এবং আপনার অ্যাপ সার্ভারে একটি নেটওয়ার্ক সংযোগ খুলতে দেয়৷ তাত্ক্ষণিক বার্তাপ্রেরণ, চ্যাট বা ভয়েস কল সতর্কতা সহ অ্যাপগুলিকে সাধারণত একটি নেটওয়ার্ক সংযোগ খুলতে হবে এবং FCM দেরি না করে ডিভাইসে বার্তা পৌঁছে দিচ্ছে তা নিশ্চিত করতে হবে৷ উচ্চ অগ্রাধিকার সেট করুন যদি বার্তাটি সময়-গুরুত্বপূর্ণ হয় এবং ব্যবহারকারীর তাত্ক্ষণিক মিথস্ক্রিয়া প্রয়োজন, তবে সতর্ক থাকুন যে আপনার বার্তাগুলিকে উচ্চ অগ্রাধিকারে সেট করা সাধারণ অগ্রাধিকার বার্তাগুলির তুলনায় ব্যাটারি নিষ্কাশনে আরও বেশি অবদান রাখে৷

অ্যান্ড্রয়েড নোটিফিকেশন

অ্যান্ড্রয়েড ডিভাইসে পাঠানোর জন্য বিজ্ঞপ্তি।

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

বিজ্ঞপ্তির আইকন। অঙ্কনযোগ্য রিসোর্স মাইকনের জন্য বিজ্ঞপ্তি আইকনটিকে মাইকনে সেট করে। আপনি অনুরোধে এই কী না পাঠালে, 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 "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: "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 সত্যে সেট করা হয় এবং vibrate_timings ও সেট করা হয়, তাহলে ব্যবহারকারী-নির্দিষ্ট vibrate_timings এর পরিবর্তে ডিফল্ট মান ব্যবহার করা হয়।

default_light_settings

boolean

সত্য হিসাবে সেট করা হলে, বিজ্ঞপ্তির জন্য Android ফ্রেমওয়ার্কের ডিফল্ট LED আলো সেটিংস ব্যবহার করুন৷ ডিফল্ট মান 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.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 নিম্ন বিজ্ঞপ্তি অগ্রাধিকার. UI PRIORITY_DEFAULT এর সাথে বিজ্ঞপ্তিগুলির তুলনায় বিজ্ঞপ্তিগুলিকে ছোট বা তালিকার একটি ভিন্ন অবস্থানে দেখানোর জন্য বেছে নিতে পারে৷
PRIORITY_DEFAULT ডিফল্ট বিজ্ঞপ্তি অগ্রাধিকার. যদি অ্যাপ্লিকেশনটি তার নিজস্ব বিজ্ঞপ্তিগুলিকে অগ্রাধিকার না দেয় তবে সমস্ত বিজ্ঞপ্তির জন্য এই মানটি ব্যবহার করুন৷
PRIORITY_HIGH উচ্চতর বিজ্ঞপ্তি অগ্রাধিকার. আরও গুরুত্বপূর্ণ বিজ্ঞপ্তি বা সতর্কতার জন্য এটি ব্যবহার করুন। UI এই বিজ্ঞপ্তিগুলিকে 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 )

প্রয়োজন। google.type.Color দিয়ে LED এর 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

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 হেডার। সমর্থিত হেডারগুলির জন্য 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 অবজেক্ট হিসাবে ওয়েব বিজ্ঞপ্তি বিকল্প। ওয়েব বিজ্ঞপ্তি API- তে সংজ্ঞায়িত হিসাবে বিজ্ঞপ্তি উদাহরণ বৈশিষ্ট্য সমর্থন করে। উপস্থিত থাকলে, "শিরোনাম" এবং "বডি" ক্ষেত্রগুলি 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

অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা নির্দিষ্ট বিকল্প।

JSON প্রতিনিধিত্ব
{
  "headers": {
    string: string,
    ...
  },
  "payload": {
    object
  },
  "fcm_options": {
    object (ApnsFcmOptions)
  }
}
ক্ষেত্র
headers

map (key: string, value: string)

অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবাতে সংজ্ঞায়িত HTTP অনুরোধ শিরোনাম। সমর্থিত শিরোনামগুলির জন্য APN-এর অনুরোধ শিরোনামগুলি পড়ুন যেমন apns-expiration এবং apns-priority

ব্যাকএন্ড 30 দিনের apns-expiration জন্য একটি ডিফল্ট মান সেট করে এবং 10 apns-priority জন্য একটি ডিফল্ট মান যদি স্পষ্টভাবে সেট না করা হয়।

"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 )

iOS এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷

ApnsFcmOptions

iOS এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷

JSON প্রতিনিধিত্ব
{
  "analytics_label": string,
  "image": string
}
ক্ষেত্র
analytics_label

string

বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷

image

string

একটি চিত্রের URL রয়েছে যা একটি বিজ্ঞপ্তিতে প্রদর্শিত হতে চলেছে৷ উপস্থিত থাকলে, এটি google.firebase.fcm.v1.Notification.image ওভাররাইড করবে।

Fcm অপশন

FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য প্ল্যাটফর্ম স্বাধীন বিকল্প।

JSON প্রতিনিধিত্ব
{
  "analytics_label": string
}
ক্ষেত্র
analytics_label

string

বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷

পদ্ধতি

send

নির্দিষ্ট লক্ষ্যে একটি বার্তা পাঠান (একটি নিবন্ধন টোকেন, বিষয় বা শর্ত)।