সম্পদ: বার্তা
Firebase ক্লাউড মেসেজিং পরিষেবা দ্বারা পাঠানোর জন্য বার্তা৷
JSON প্রতিনিধিত্ব |
---|
{ "name": string, "data": { string: string, ... }, "notification": { object ( |
ক্ষেত্র | |
---|---|
name | শুধুমাত্র আউটপুট। |
data | শুধুমাত্র ইনপুট। স্বেচ্ছাচারী কী/মান পেলোড, যা UTF-8 এনকোড করা আবশ্যক। কীটি একটি সংরক্ষিত শব্দ ("থেকে", "বার্তা_প্রকার", বা "google" বা "gcm" দিয়ে শুরু হওয়া কোনো শব্দ) হওয়া উচিত নয়। iOS ডিভাইসে শুধুমাত্র ডেটা ক্ষেত্র সম্বলিত পেলোড পাঠানোর সময়, |
notification | শুধুমাত্র ইনপুট। সমস্ত প্ল্যাটফর্ম জুড়ে ব্যবহারের জন্য প্রাথমিক বিজ্ঞপ্তি টেমপ্লেট। |
android | শুধুমাত্র ইনপুট। এফসিএম সংযোগ সার্ভারের মাধ্যমে পাঠানো বার্তাগুলির জন্য অ্যান্ড্রয়েড নির্দিষ্ট বিকল্প। |
webpush | শুধুমাত্র ইনপুট। ওয়েবপুশ প্রোটোকল বিকল্প। |
apns | শুধুমাত্র ইনপুট। অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা নির্দিষ্ট বিকল্প। |
fcm_options | শুধুমাত্র ইনপুট। সমস্ত প্ল্যাটফর্ম জুড়ে ব্যবহার করার জন্য FCM SDK বৈশিষ্ট্য বিকল্পগুলির জন্য টেমপ্লেট৷ |
ইউনিয়ন ফিল্ড target . প্রয়োজন। শুধুমাত্র ইনপুট। একটি বার্তা পাঠানোর লক্ষ্য. target নিম্নলিখিতগুলির মধ্যে একটি হতে পারে: | |
token | একটি বার্তা পাঠাতে নিবন্ধন টোকেন. |
topic | একটি বার্তা পাঠাতে বিষয়ের নাম, যেমন "আবহাওয়া"। দ্রষ্টব্য: "/topics/" উপসর্গ প্রদান করা উচিত নয়। |
condition | একটি বার্তা পাঠানোর শর্ত, যেমন "বিষয়গুলিতে 'foo' এবং বিষয়গুলিতে 'বার'"। |
বিজ্ঞপ্তি
সমস্ত প্ল্যাটফর্ম জুড়ে ব্যবহারের জন্য প্রাথমিক বিজ্ঞপ্তি টেমপ্লেট।
JSON প্রতিনিধিত্ব |
---|
{ "title": string, "body": string, "image": string } |
ক্ষেত্র | |
---|---|
title | বিজ্ঞপ্তির শিরোনাম। |
body | বিজ্ঞপ্তির মূল অংশের পাঠ্য। |
image | ডিভাইসে ডাউনলোড করা এবং একটি বিজ্ঞপ্তিতে প্রদর্শিত হতে চলেছে এমন একটি ছবির URL রয়েছে৷ JPEG, PNG, BMP প্ল্যাটফর্ম জুড়ে সম্পূর্ণ সমর্থন আছে। অ্যানিমেটেড GIF এবং ভিডিও শুধুমাত্র iOS এ কাজ করে। WebP এবং HEIF প্ল্যাটফর্ম এবং প্ল্যাটফর্ম সংস্করণ জুড়ে বিভিন্ন স্তরের সমর্থন রয়েছে৷ অ্যান্ড্রয়েডের 1MB ছবির সাইজ সীমা রয়েছে। ফায়ারবেস স্টোরেজে ছবি হোস্ট করার জন্য কোটা ব্যবহার এবং প্রভাব/খরচ: https://firebase.google.com/pricing |
অ্যান্ড্রয়েড কনফিগারেশন
এফসিএম সংযোগ সার্ভারের মাধ্যমে পাঠানো বার্তাগুলির জন্য অ্যান্ড্রয়েড নির্দিষ্ট বিকল্প।
JSON প্রতিনিধিত্ব |
---|
{ "collapse_key": string, "priority": enum ( |
ক্ষেত্র | |
---|---|
collapse_key | বার্তাগুলির একটি গোষ্ঠীর একটি শনাক্তকারী যা সঙ্কুচিত করা যেতে পারে, যাতে ডেলিভারি পুনরায় শুরু করার সময় শুধুমাত্র শেষ বার্তাটি পাঠানো হয়। যেকোন সময়ে সর্বাধিক 4টি ভিন্ন ধস কী অনুমোদিত। |
priority | বার্তা অগ্রাধিকার. "স্বাভাবিক" এবং "উচ্চ" মান নিতে পারে। আরও তথ্যের জন্য, একটি বার্তার অগ্রাধিকার সেট করা দেখুন। |
ttl | ডিভাইসটি অফলাইনে থাকলে কতক্ষণ (সেকেন্ডে) বার্তাটি FCM স্টোরেজে রাখা উচিত। লাইভ সমর্থিত সর্বাধিক সময় 4 সপ্তাহ, এবং ডিফল্ট মান সেট না থাকলে 4 সপ্তাহ। অবিলম্বে বার্তা পাঠাতে চাইলে এটি 0 এ সেট করুন। JSON বিন্যাসে, সময়কালের ধরনটি বস্তুর পরিবর্তে একটি স্ট্রিং হিসাবে এনকোড করা হয়, যেখানে স্ট্রিংটি "s" প্রত্যয় (সেকেন্ড নির্দেশ করে) শেষ হয় এবং সেকেন্ডের সংখ্যার আগে থাকে, ন্যানোসেকেন্ডগুলি ভগ্নাংশীয় সেকেন্ড হিসাবে প্রকাশ করে। উদাহরণস্বরূপ, 0 ন্যানোসেকেন্ড সহ 3 সেকেন্ডকে JSON ফর্ম্যাটে "3s" হিসাবে এনকোড করা উচিত, যখন 3 সেকেন্ড এবং 1 ন্যানোসেকেন্ডকে JSON ফর্ম্যাটে "3.000000001s" হিসাবে প্রকাশ করা উচিত৷ ttl নিকটতম সেকেন্ডে রাউন্ড ডাউন হবে। নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' |
restricted_package_name | অ্যাপ্লিকেশনটির প্যাকেজের নাম যেখানে রেজিস্ট্রেশন টোকেন মেসেজ পাওয়ার জন্য অবশ্যই মিলতে হবে। |
data | নির্বিচারে কী/মান পেলোড। উপস্থিত থাকলে, এটি |
notification | অ্যান্ড্রয়েড ডিভাইসে পাঠানোর জন্য বিজ্ঞপ্তি। |
fcm_options | Android এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷ |
direct_boot_ok | সত্য হিসাবে সেট করা থাকলে, ডিভাইসটি সরাসরি বুট মোডে থাকাকালীন অ্যাপে বার্তাগুলি বিতরণ করার অনুমতি দেওয়া হবে। সাপোর্ট ডাইরেক্ট বুট মোড দেখুন। |
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 ( |
ক্ষেত্র | |
---|---|
title | বিজ্ঞপ্তির শিরোনাম। উপস্থিত থাকলে, এটি |
body | বিজ্ঞপ্তির মূল অংশের পাঠ্য। উপস্থিত থাকলে, এটি |
icon | বিজ্ঞপ্তির আইকন। অঙ্কনযোগ্য রিসোর্স মাইকনের জন্য বিজ্ঞপ্তি আইকনটিকে মাইকনে সেট করে। আপনি অনুরোধে এই কী না পাঠালে, FCM আপনার অ্যাপ ম্যানিফেস্টে নির্দিষ্ট করা লঞ্চার আইকন প্রদর্শন করে। |
color | বিজ্ঞপ্তির আইকনের রঙ, #rrggbb ফর্ম্যাটে প্রকাশ করা হয়েছে। |
sound | ডিভাইসটি নোটিফিকেশন পাওয়ার সময় বাজানোর শব্দ। "ডিফল্ট" বা অ্যাপে বান্ডিল করা সাউন্ড রিসোর্সের ফাইলের নাম সমর্থন করে। সাউন্ড ফাইল অবশ্যই /res/raw/-এ থাকবে। |
tag | বিজ্ঞপ্তি ড্রয়ারে বিদ্যমান বিজ্ঞপ্তিগুলি প্রতিস্থাপন করতে ব্যবহৃত সনাক্তকারী৷ নির্দিষ্ট না থাকলে, প্রতিটি অনুরোধ একটি নতুন বিজ্ঞপ্তি তৈরি করে। যদি নির্দিষ্ট করা থাকে এবং একই ট্যাগ সহ একটি বিজ্ঞপ্তি ইতিমধ্যেই দেখানো হচ্ছে, নতুন বিজ্ঞপ্তিটি বিজ্ঞপ্তি ড্রয়ারে বিদ্যমান একটিকে প্রতিস্থাপন করে। |
click_action | ব্যবহারকারীর সাথে যুক্ত কর্ম বিজ্ঞপ্তিতে ক্লিক করুন। নির্দিষ্ট করা থাকলে, ব্যবহারকারী যখন বিজ্ঞপ্তিতে ক্লিক করেন তখন একটি ম্যাচিং ইনটেন্ট ফিল্টার সহ একটি কার্যকলাপ চালু হয়। |
body_loc_key | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে বডি স্ট্রিংয়ের কী। আরও তথ্যের জন্য স্ট্রিং সম্পদ দেখুন। |
body_loc_args[] | ব্যবহারকারীর বর্তমান স্থানীয়করণে বডি টেক্সট স্থানীয়করণ করতে ব্যবহার করার জন্য body_loc_key-এ বিন্যাস নির্দিষ্টকরণের জায়গায় ব্যবহার করা পরিবর্তনশীল স্ট্রিং মান। আরও তথ্যের জন্য বিন্যাস এবং স্টাইলিং দেখুন। |
title_loc_key | ব্যবহারকারীর বর্তমান স্থানীয়করণে শিরোনাম পাঠ্যকে স্থানীয়করণ করতে ব্যবহার করার জন্য অ্যাপের স্ট্রিং সংস্থানগুলিতে শিরোনাম স্ট্রিংয়ের কী। আরও তথ্যের জন্য স্ট্রিং সম্পদ দেখুন। |
title_loc_args[] | শিরোনাম পাঠ্যকে ব্যবহারকারীর বর্তমান স্থানীয়করণে স্থানীয়করণ করতে ব্যবহার করতে title_loc_key-এ বিন্যাস নির্দিষ্টকরণের জায়গায় ব্যবহার করা পরিবর্তনশীল স্ট্রিং মান। আরও তথ্যের জন্য বিন্যাস এবং স্টাইলিং দেখুন। |
channel_id | বিজ্ঞপ্তির চ্যানেল আইডি (Android O তে নতুন)। এই চ্যানেল আইডি সহ কোনও বিজ্ঞপ্তি পাওয়ার আগে অ্যাপটিকে অবশ্যই এই চ্যানেল আইডি সহ একটি চ্যানেল তৈরি করতে হবে। আপনি অনুরোধে এই চ্যানেল আইডি না পাঠালে বা প্রদত্ত চ্যানেল আইডিটি এখনও অ্যাপ তৈরি না করে থাকলে, FCM অ্যাপ ম্যানিফেস্টে উল্লেখ করা চ্যানেল আইডি ব্যবহার করে। |
ticker | "টিকার" পাঠ্য সেট করে, যা অ্যাক্সেসিবিলিটি পরিষেবাগুলিতে পাঠানো হয়। API স্তর 21 ( |
sticky | মিথ্যা বা সেট না করা হলে, ব্যবহারকারী প্যানেলে ক্লিক করলে বিজ্ঞপ্তিটি স্বয়ংক্রিয়ভাবে বাতিল হয়ে যায়। সত্য হিসাবে সেট করা হলে, ব্যবহারকারী এটি ক্লিক করলেও বিজ্ঞপ্তিটি বজায় থাকে। |
event_time | বিজ্ঞপ্তিতে ইভেন্টটি হওয়ার সময় সেট করুন। প্যানেলে বিজ্ঞপ্তিগুলি এই সময়ের দ্বারা সাজানো হয়৷ সময়ের একটি বিন্দু protobuf.Timestamp ব্যবহার করে উপস্থাপন করা হয়। RFC3339 UTC "জুলু" ফর্ম্যাটে একটি টাইমস্ট্যাম্প, ন্যানোসেকেন্ড রেজোলিউশন এবং নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা। উদাহরণ: |
local_only | এই বিজ্ঞপ্তি শুধুমাত্র বর্তমান ডিভাইসের জন্য প্রাসঙ্গিক কিনা তা সেট করুন। কিছু বিজ্ঞপ্তি রিমোট ডিসপ্লের জন্য অন্যান্য ডিভাইসে ব্রিজ করা যেতে পারে, যেমন Wear OS ঘড়ি। এই ইঙ্গিতটি এই বিজ্ঞপ্তিটি ব্রিজ না করার সুপারিশ করার জন্য সেট করা যেতে পারে। Wear OS গাইড দেখুন |
notification_priority | এই বিজ্ঞপ্তির জন্য আপেক্ষিক অগ্রাধিকার সেট করুন। অগ্রাধিকার হল এই বিজ্ঞপ্তির মাধ্যমে ব্যবহারকারীর মনোযোগ কতটা গ্রাস করা উচিত তার ইঙ্গিত৷ নিম্ন-অগ্রাধিকার বিজ্ঞপ্তিগুলি নির্দিষ্ট পরিস্থিতিতে ব্যবহারকারীর কাছ থেকে লুকানো হতে পারে, যখন ব্যবহারকারী একটি উচ্চ-অগ্রাধিকার বিজ্ঞপ্তির জন্য বাধাগ্রস্ত হতে পারে৷ একই অগ্রাধিকার নির্ধারণের প্রভাব বিভিন্ন প্ল্যাটফর্মে সামান্য ভিন্ন হতে পারে। মনে রাখবেন এই অগ্রাধিকারটি |
default_sound | সত্য হিসাবে সেট করা হলে, বিজ্ঞপ্তির জন্য Android ফ্রেমওয়ার্কের ডিফল্ট শব্দ ব্যবহার করুন। ডিফল্ট মান config.xml- এ নির্দিষ্ট করা আছে। |
default_vibrate_timings | সত্য হিসাবে সেট করা থাকলে, বিজ্ঞপ্তির জন্য Android ফ্রেমওয়ার্কের ডিফল্ট ভাইব্রেট প্যাটার্ন ব্যবহার করুন। ডিফল্ট মান config.xml- এ নির্দিষ্ট করা আছে। যদি |
default_light_settings | সত্য হিসাবে সেট করা হলে, বিজ্ঞপ্তির জন্য Android ফ্রেমওয়ার্কের ডিফল্ট LED আলো সেটিংস ব্যবহার করুন৷ ডিফল্ট মান config.xml- এ নির্দিষ্ট করা আছে। যদি |
vibrate_timings[] | ব্যবহার করার জন্য কম্পন প্যাটার্ন সেট করুন। প্রোটোবুফের একটি অ্যারেতে পাস করুন। ভাইব্রেটর চালু বা বন্ধ করার সময়কাল। প্রথম মানটি ভাইব্রেটর চালু করার আগে অপেক্ষা করার নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' |
visibility | বিজ্ঞপ্তির Notification.visibility সেট করুন। |
notification_count | এই বিজ্ঞপ্তিটি প্রতিনিধিত্ব করে এমন আইটেমের সংখ্যা সেট করে। ব্যাজিং সমর্থনকারী লঞ্চারগুলির জন্য ব্যাজ গণনা হিসাবে প্রদর্শিত হতে পারে ৷ বিজ্ঞপ্তি ব্যাজ দেখুন ৷ উদাহরণস্বরূপ, এটি কার্যকর হতে পারে যদি আপনি একাধিক নতুন বার্তা উপস্থাপন করার জন্য শুধুমাত্র একটি বিজ্ঞপ্তি ব্যবহার করেন তবে আপনি এখানে গণনাটি মোট নতুন বার্তার সংখ্যা উপস্থাপন করতে চান৷ শূন্য বা অনির্দিষ্ট থাকলে, ব্যাজিং সমর্থনকারী সিস্টেমগুলি ডিফল্ট ব্যবহার করে, যা প্রতিবার একটি নতুন বিজ্ঞপ্তি আসার সময় দীর্ঘ-প্রেস মেনুতে প্রদর্শিত একটি সংখ্যা বৃদ্ধি করে। |
light_settings | ডিভাইসে LED উপলব্ধ থাকলে বিজ্ঞপ্তির LED ব্লিঙ্কিং রেট এবং রঙ নিয়ন্ত্রণ করার সেটিংস৷ মোট ব্লিঙ্কিং টাইম ওএস দ্বারা নিয়ন্ত্রিত হয়। |
image | একটি চিত্রের URL রয়েছে যা একটি বিজ্ঞপ্তিতে প্রদর্শিত হতে চলেছে৷ উপস্থিত থাকলে, এটি |
বিজ্ঞপ্তি অগ্রাধিকার
একটি বিজ্ঞপ্তির অগ্রাধিকার স্তর।
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 | প্রয়োজন। google.type.Color দিয়ে LED এর |
light_on_duration | প্রয়োজন। নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' |
light_off_duration | প্রয়োজন। নয়টি পর্যন্ত ভগ্নাংশের সংখ্যা সহ সেকেন্ডে একটি সময়কাল, ' |
রঙ
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 | ব্যবধানে একটি মান হিসাবে লাল রঙের পরিমাণ [0, 1]। |
green | ব্যবধানে একটি মান হিসাবে রঙে সবুজের পরিমাণ [0, 1]। |
blue | ব্যবধানে একটি মান হিসাবে নীল রঙের পরিমাণ [0, 1]। |
alpha | এই রঙের ভগ্নাংশ যে পিক্সেল প্রয়োগ করা উচিত. অর্থাৎ, চূড়ান্ত পিক্সেল রঙ সমীকরণ দ্বারা সংজ্ঞায়িত করা হয়: এর মানে হল যে 1.0 এর মান একটি কঠিন রঙের সাথে মিলে যায়, যেখানে 0.0 এর মান সম্পূর্ণ স্বচ্ছ রঙের সাথে মিলে যায়। এটি একটি সাধারণ ফ্লোট স্কেলারের পরিবর্তে একটি র্যাপার বার্তা ব্যবহার করে যাতে এটি একটি ডিফল্ট মান এবং সেট না থাকা মানটির মধ্যে পার্থক্য করা সম্ভব হয়। যদি বাদ দেওয়া হয়, এই রঙের বস্তুটিকে একটি কঠিন রঙ হিসাবে রেন্ডার করা হয় (যেন আলফা মানটি স্পষ্টভাবে 1.0 এর মান দেওয়া হয়েছে)। |
AndroidFcmOptions
Android এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷
JSON প্রতিনিধিত্ব |
---|
{ "analytics_label": string } |
ক্ষেত্র | |
---|---|
analytics_label | বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷ |
WebpushConfig
ওয়েবপুশ প্রোটোকল বিকল্প।
JSON প্রতিনিধিত্ব |
---|
{
"headers": {
string: string,
...
},
"data": {
string: string,
...
},
"notification": {
object
},
"fcm_options": {
object ( |
ক্ষেত্র | |
---|---|
headers | ওয়েবপুশ প্রোটোকলে সংজ্ঞায়িত HTTP হেডার। সমর্থিত হেডারগুলির জন্য Webpush প্রোটোকল পড়ুন, যেমন "TTL": "15"। |
data | নির্বিচারে কী/মান পেলোড। উপস্থিত থাকলে, এটি |
notification | একটি JSON অবজেক্ট হিসাবে ওয়েব বিজ্ঞপ্তি বিকল্প। ওয়েব বিজ্ঞপ্তি API- তে সংজ্ঞায়িত হিসাবে বিজ্ঞপ্তি উদাহরণ বৈশিষ্ট্য সমর্থন করে। উপস্থিত থাকলে, "শিরোনাম" এবং "বডি" ক্ষেত্রগুলি |
fcm_options | ওয়েবের জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷ |
WebpushFcmOptions
ওয়েবের জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷
JSON প্রতিনিধিত্ব |
---|
{ "link": string, "analytics_label": string } |
ক্ষেত্র | |
---|---|
link | ব্যবহারকারী বিজ্ঞপ্তিতে ক্লিক করলে লিঙ্কটি খুলবে। সমস্ত URL মানগুলির জন্য, HTTPS প্রয়োজন৷ |
analytics_label | বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷ |
ApnsConfig
অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবা নির্দিষ্ট বিকল্প।
JSON প্রতিনিধিত্ব |
---|
{
"headers": {
string: string,
...
},
"payload": {
object
},
"fcm_options": {
object ( |
ক্ষেত্র | |
---|---|
headers | অ্যাপল পুশ বিজ্ঞপ্তি পরিষেবাতে সংজ্ঞায়িত HTTP অনুরোধ শিরোনাম। সমর্থিত শিরোনামগুলির জন্য APN-এর অনুরোধ শিরোনামগুলি পড়ুন যেমন ব্যাকএন্ড 30 দিনের |
payload | APNs পেলোড একটি JSON অবজেক্ট হিসাবে, উভয় |
fcm_options | iOS এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷ |
ApnsFcmOptions
iOS এর জন্য FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য বিকল্পগুলি৷
JSON প্রতিনিধিত্ব |
---|
{ "analytics_label": string, "image": string } |
ক্ষেত্র | |
---|---|
analytics_label | বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷ |
image | একটি চিত্রের URL রয়েছে যা একটি বিজ্ঞপ্তিতে প্রদর্শিত হতে চলেছে৷ উপস্থিত থাকলে, এটি |
Fcm অপশন
FCM SDK দ্বারা প্রদত্ত বৈশিষ্ট্যগুলির জন্য প্ল্যাটফর্ম স্বাধীন বিকল্প।
JSON প্রতিনিধিত্ব |
---|
{ "analytics_label": string } |
ক্ষেত্র | |
---|---|
analytics_label | বার্তার বিশ্লেষণ ডেটার সাথে যুক্ত লেবেল৷ |
পদ্ধতি | |
---|---|
| নির্দিষ্ট লক্ষ্যে একটি বার্তা পাঠান (একটি নিবন্ধন টোকেন, বিষয় বা শর্ত)। |