অ্যান্ড্রয়েডে পুশ বিজ্ঞপ্তি প্রযুক্তি কীভাবে কাজ করে?


218

গুগল কীভাবে তাদের পুশ বিজ্ঞপ্তি বৈশিষ্ট্যটি কার্যকর করেছে? এটি পটভূমিতে বা অন্যভাবে চলমান কোনও পরিষেবা দ্বারা পরিচালিত ভোটদানের মাধ্যমে কাজ করে?


24
আমার কাছে বাস্তব প্রশ্নের মতো মনে হচ্ছে। আমি এর উত্তরটি ভাবছিলাম এবং গুগল আমাকে এখানে এনেছিল। আবারও একটি অন্য মানের প্রশ্ন বন্ধ।
টিনো ম্যাকলারেন

1
আমি এটিও জানতে চাই এবং একটি প্রশ্ন লেখার পরিকল্পনা করছিলাম তবে ইতিমধ্যে এটি একটি তাই তাই এটি অবশ্যই একটি ভাল প্রশ্ন।
ইগর Čordaš

উত্তর:


170

ইস্রায়েলে অ্যান্ড্রয়েড বিকাশকারী সম্মেলনের সময় আমি যা শুনেছি তা থেকে:

ক্লাউড গুগল সার্ভারে স্বীকৃতি মোডে কেবলমাত্র একটি টিসিপি সকেট অপেক্ষা করছে । টিসিপি সংযোগটি গুগল প্লে অ্যাপ্লিকেশন দ্বারা শুরু করা হয়েছিল। এজন্য গুগল প্লে অবশ্যই গুগল ক্লাউড মেসেজিং (জিসিএম) তৈরি করার জন্য ডিভাইসে ইনস্টল করতে হবে (পূর্বে অ্যান্ড্রয়েড ক্লাউড থেকে ডিভাইস মেসেজিং পরিষেবা - সি 2 ডিএম ) কাজ করে।

এই টিসিপি ক্লায়েন্ট সকেট যখন কিছু বার্তা পায়, বার্তায় এমন অ্যাপ্লিকেশনটির প্যাকেজের নাম যেমন ঠিক করা উচিত, এবং অবশ্যই - তথ্য রয়েছে information এই ডেটাটি পার্স করা হয়েছে এবং একটি উদ্দেশ্যতে প্যাক করা হয়েছে যা সম্প্রচারিত হয় এবং শেষ পর্যন্ত অ্যাপ্লিকেশনটির মাধ্যমে গৃহীত হয়।

ডিভাইসের রেডিওর অবস্থা "নিষ্ক্রিয়" মোডে রূপান্তরিত হওয়ার পরেও টিসিপি সকেট খোলা থাকে। উদ্দেশ্যগুলি গ্রহণের জন্য অ্যাপ্লিকেশনগুলি চলমান হবে না।

Http://developer.android.com/google/gcm/gcm.html এ আরও তথ্য


1
তবে আমি মনে করি এটি এমুলেটরটিতেও কাজ করে। আমার মনে যে জিনিসটি আসে তা হ'ল ডিভাইসটি তার বর্তমান পাথ (আইপি) দিয়ে সার্ভারকে আপডেট রাখে। যখন গুগল সার্ভারকে বিজ্ঞপ্তি প্রেরণের দরকার হয়, তখন এটি তার বর্তমান পাথ এবং সেই পথটিতে ফরোয়ার্ড বার্তা নেয়। আমি কি কিছুটা হলেও ঠিক আছি?
খাওয়ার রাজা

2
@ খাওয়ার রাজা: ডিভাইসের আইপি যখন কোনও কারণে পরিবর্তন হয়ে যায় তখন ডিভাইসটি সার্ভার থেকে সংযোগ বিচ্ছিন্ন হয়ে যায়। এটি যখন ঘটে - ডিভাইসের নতুন আইপি-র উপর ভিত্তি করে নতুন সংযোগটি পরিবর্তিত করুন mb
তাল কানেল

1
@ খাওয়ার রাজা: এমুলেটরটি গুগল প্লে ছাড়াই কাজ করে। আমার ধারণা এটি গুগল প্লে না করে অভ্যন্তরীণভাবে নির্মিত এই সকেটটির সূচনা করে
তাল কানেল

2
আমি দেখি. এটি আসলে বেশ আকর্ষণীয় হবে, আমি সত্যিই অবাক হই।
you786

2
সুতরাং এটি এখনও পোলিং, তবে ভাল দিকটি হ'ল গুগল প্লে দ্বারা পোলিং কেন্দ্রীভূত।
অ্যাকোল্লাটিভো

143

অ্যান্ড্রয়েড গুগলের সার্ভারগুলির সাথে একটি সক্রিয় সংযোগ রাখে, তবে এটি খুব বেশি শক্তি বা ডেটা ব্যবহার করে না, কারণ কোনও কিছুই আপনার ফোনে কোনও অ্যাপ্লিকেশনটিতে গুগল ক্লাউড মেসেজিং (জিসিএম) বার্তা না পাঠানো পর্যন্ত কোনও ট্র্যাফিক প্রেরণ করা হয় না। ফোনে কেবলমাত্র একটি সংযোগ রয়েছে, যা সমস্ত অ্যাপ্লিকেশন ব্যবহার করে: একটি নতুন অ্যাপ্লিকেশন ইনস্টল করা যা GCM ব্যবহার করে কোনও অতিরিক্ত বোঝা যুক্ত করে না।

জিসিএমের প্রথম পদক্ষেপটি একটি তৃতীয় পক্ষের সার্ভার (যেমন একটি ইমেল সার্ভার) গুগলের জিসিএম সার্ভারে একটি অনুরোধ প্রেরণ করে। এই সার্ভারটি তখন সেই ওপেন সংযোগের মাধ্যমে আপনার ডিভাইসে বার্তা প্রেরণ করে। অ্যান্ড্রয়েড সিস্টেমটি কোন অ্যাপ্লিকেশনটির জন্য তা নির্ধারণ করতে বার্তাটি দেখে এবং সেই অ্যাপ্লিকেশনটি শুরু করে। অ্যাপ্লিকেশনটি অবশ্যই জিসিএম ব্যবহার করতে অ্যান্ড্রয়েডের সাথে নিবন্ধভুক্ত থাকতে হবে এবং এর অবশ্যই প্রাসঙ্গিক অনুমতি থাকতে হবে। অ্যাপ্লিকেশনটি শুরু হয়ে গেলে, এটি বার্তা থেকে প্রাপ্ত ডেটা সহ সরাসরি একটি বিজ্ঞপ্তি তৈরি করতে পারে। GCM বার্তাগুলি আকারে খুব সীমিত, তাই আরও তথ্যের জন্য অ্যাপটি তৃতীয় পক্ষের সার্ভারের সাথে একটি সাধারণ সংযোগটি খুলতে পারে (উদাহরণস্বরূপ, নতুন ইমেলের শিরোনামগুলি ডাউনলোড করা)।

পুশ বিজ্ঞপ্তিগুলি ব্যবহার করার সুবিধাটি হ'ল অ্যাপ্লিকেশনগুলিকে শক্তি এবং ডেটা উভয়ই সঞ্চয় করে নতুন ডেটা পরীক্ষা করার জন্য নিয়মিত বিরতিতে চলতে হবে না। জিসিএমের মতো কেন্দ্রীভূত প্রক্রিয়া হওয়ার সুবিধাটি হ'ল ডিভাইসটির জন্য কেবল একটি ওপেন নেটওয়ার্ক সংযোগ প্রয়োজন এবং অ্যান্ড্রয়েড জিসিএম সিস্টেম কেবলমাত্র চালানো রাখা দরকার, প্রতিটি অ্যাপ্লিকেশনকে নিজের নেটওয়ার্ক রাখতে পটভূমিতে চলতে হবে না নিজস্ব সার্ভারের সাথে সংযোগ।

এটি থেকে নেওয়া: উত্স এছাড়াও এখানে দেখুন


1
জিসিএম সংযোগ সম্পর্কে কেবল একটি মন্তব্য। সেই একক সংযোগটি একটি পোলিং সংযোগ।
wmac

1
আমার পক্ষে গুরুত্বপূর্ণ বিষয়টি ছিল একটি তৃতীয় পক্ষের সার্ভার যেমন একটি ইমেল সার্ভার সত্যিই গুগল জিসিএম সার্ভারগুলিতে একটি বিজ্ঞপ্তি বার্তা প্রেরণ করে। এটি গুগলকে নিখরচায় সরবরাহ করা একটি পরিষেবা এবং এরকম কোনও তৃতীয় পক্ষকে তাদের জিসিএন প্রোটোকল ব্যবহার করে গুগল সার্ভারের সাথে একটি যোগাযোগ চ্যানেল প্রয়োগ করতে হবে। যাইহোক, প্রোটোকলটি ঠিক একটি জেএসওএন-ফর্ম্যাটেড এইচটিটিপি প্রতিক্রিয়া। বিশদ তথ্যের জন্য ডেভেলপারস google.com/cloud- ম্যাসেজিং দেখুন See
কিসলেজসিয়েরেয়েক

10

আপনি একটি দীর্ঘ পোলিং টিসিপি সংযোগ দিয়ে অ্যান্ড্রয়েডে নিজেই পুশ বিজ্ঞপ্তিটি প্রয়োগ করতে পারেন। তবে এতে অতিরিক্ত সকেট => ব্যাটারি ড্রেন বজায় রাখা জড়িত। অথবা আপনি অ্যালার্ম ম্যানেজারটি ব্যবহার করে নিয়মিত বিরতিতে একটি সংযোগ খুলতে পারেন।

গুগল সম্ভবত সমস্ত সি 2 ডিএম পুশ বিজ্ঞপ্তিগুলির জন্য একটি সকেট খোলে, সুতরাং এটির আরও বেশি ব্যাটারি দক্ষ।


সুতরাং এটির নিশ্চিত হওয়া ক্লায়েন্টটি ঠিক টিসিপি সংযোগের মাধ্যমে ভোট দিচ্ছেন? আপনি কি জানেন যে এটি কতবার ডেটা জন্য পোল করে? এটি কি প্রতি 5 সেকেন্ড উদাহরণস্বরূপ? নাকি এটি হার্টবিটের মতো দ্রুত?
j2emanue

3

10 এপ্রিল, 2018 পর্যন্ত, গুগল জিসিএমকে অবমূল্যায়ন করেছে। জিসিএম সার্ভার এবং ক্লায়েন্ট এপিআইগুলি হ্রাস করা হয়েছে এবং 11 এপ্রিল, 2019 এর সাথে সাথে তা সরিয়ে ফেলা হবে। ফায়ারবেস ক্লাউড মেসেজিং (এফসিএম) এ জিসিএম অ্যাপ্লিকেশনগুলি স্থানান্তর করুন, যা নির্ভরযোগ্য এবং স্কেলযোগ্য জিসিএম অবকাঠামোগত উত্তরাধিকার সূত্রে প্রাপ্ত, আরও অনেকগুলি নতুন বৈশিষ্ট্য।

https://firebase.google.com/docs/cloud-messaging/


1

হ্যাঁ আপনি ঠিক. গুগলের একটি পরিষেবা ছিল (জিটালক পরিষেবা) এবং এই পরিষেবাটি কিছু সময়ের মধ্যে গুগল সার্ভারকে জিজ্ঞাসা করেছিল।


আমি জানি না. আমি কেবল পড়েছি যে সি 2 ডি এম কীভাবে কাজ করছে। এখন কিছু পরিবর্তন হতে পারে।
ইয়ুরি

-3

অ্যান্ড্রয়েড ডিভাইসে, আপনি ধাক্কা বিজ্ঞপ্তিগুলি পেয়ে গেলে প্রেরকের অ্যাপ্লিকেশনটির চিত্র এবং একটি বার্তা স্থিতি বারে উপস্থিত হয়। ঠিক যখন ক্লায়েন্ট বিজ্ঞপ্তিটি টোকা দেয়, তখন সে আবেদনের উপরে অবতরণ করে।


এটি ব্যাকগ্রাউন্ডে দীর্ঘদিন ধরে চলমান টিসিপি সংযোগ, উত্তরের উপর এটি ব্যাখ্যা করা হয়নি, দয়া করে প্রশ্নটি যা জিজ্ঞাসা করবে তাতে আটকে থাকুন :)
নিশ্চল গৌতম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.