চিত্র আনস্প্ল্যাশ থেকে তোলা

ফায়ারবেস ব্যবহার করে হোয়াটসঅ্যাপ ক্লোন তৈরি করা হচ্ছে

এই টিউটোরিয়ালে, আমরা একটি হোয়াটসঅ্যাপ ক্লোন তৈরি করতে ফায়ারবেস ব্যবহার করব।

পূর্বশর্ত

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

এই টিউটোরিয়ালটির জন্য আমি এক্সকোড 10 এবং সুইফট 4.2 ব্যবহার করেছি।

অভিভাবকসংবঁধীয়

আসুন প্রথমে আপনার পছন্দ মতো যে কোনও ফোল্ডারে একটি নতুন প্রকল্প তৈরি করুন ake আপনি কোর ডেটা / ইউনিট / ইউআই টেস্টগুলি অন্তর্ভুক্ত বা বাদ দেওয়ার জন্য বেছে নিতে পারেন, কারণ আমি এখানে তাদের coveringেকে রাখব না।

পডস সহ নতুন প্রকল্প তৈরি করা হচ্ছে

একটি একক দর্শন অ্যাপ্লিকেশন `FakeChat` তৈরি করুন`

এরপরে আমরা বিভিন্ন টি শুঁটি ইনস্টল করব যা এই টিউটোরিয়ালে ব্যবহৃত হবে:

পোড ইড খোলা পোডফিল - একটি এক্সকোড
প্রয়োজনীয় শুঁটি যুক্ত করুন
শুঁটি ইনস্টল

এখন আমরা প্রয়োজনীয় নির্ভরতাগুলি ইনস্টল করেছি, আসুন একটি নতুন ফায়ারবেস প্রকল্প তৈরি করুন।

ফায়ারবেস সেট আপ করা হচ্ছে

এখানে চলে যান এবং উপরের ডানদিকে কনসোল এ যান টিপুন (আপনি লগ ইন করেছেন তা নিশ্চিত করুন)।

এর পরে, ডিফল্ট সেটিংস এবং অবস্থানগুলি সহ প্রকল্প যুক্ত করুন ক্লিক করুন। প্রোডাকশন অ্যাপ্লিকেশনগুলিতে আপনি আপনার প্রয়োজনের উপর নির্ভর করে অবস্থানটি পরিবর্তন করতে পারেন।

প্রকল্পের ওভারভিউ নির্বাচন করুন এবং প্রকল্পে একটি নতুন আইওএস অ্যাপ যুক্ত করুন, আপনার আইওএস বান্ডে আইডি ব্যবহার নিশ্চিত করে নিন, যেহেতু এটি আমাদের অ্যাপ্লিকেশনটির জন্য অনন্য হতে হবে। Com.bilguun.FakeChat প্রতিস্থাপন করুন আপনার জন্য অনন্য কিছু যেমন com.yourorgname.FakeChat দিয়ে

রেজিস্টার অ্যাপ্লিকেশনটিতে ক্লিক করুন এবং গুগল সার্ভিস-ইনফো.লাইস্টটি ডাউনলোড করুন। আমরা এটি আমাদের প্রকল্পের মূলটিতে যুক্ত করব।

আমাদের টার্গেট হিসাবে ফেকচ্যাট যুক্ত করার বিষয়টি নিশ্চিত করুন

এখন আমাদের কেবলমাত্র যা করতে হবে তা হ'ল আমাদের অ্যাপডেলিগেট.সুইফ্ট ফাইলটি ফিনিশলঞ্চিং উইথঅপশন পদ্ধতিতে নিম্নলিখিতটি যুক্ত করা।

FirebaseApp.configure ()
ডাটাবেস = ডাটাবেস.ড্যাটাবেস ()। রেফারেন্স () দিন
database.setValue ( "টেস্টিং")

ডাটাবেস তৈরি করা হচ্ছে

এখন ফায়ারবেস 2 ধরণের ডাটাবেস অফার করে যা ক্লাউড সিঙ্ককে সমর্থন করে। এগুলি ক্লাউড ফায়ার স্টোর এবং রিয়েলটাইম ডেটাবেস। মূলত ক্লাউড ফায়ার স্টোর একটি আপগ্রেড করা রিয়েলটাইম ডেটাবেস।

ক্লাউড ফায়ার স্টোর মোবাইল অ্যাপ্লিকেশন বিকাশের জন্য ফায়ারবেসের নতুন ফ্ল্যাগশিপ ডাটাবেস। এটি একটি নতুন, আরও স্বজ্ঞাত ডেটা মডেল সহ রিয়েলটাইম ডেটাবেসের সাফল্যে উন্নতি করে। ক্লাউড ফায়ার স্টোরে রিয়েলটাইম ডেটাবেসগুলির চেয়ে আরও সমৃদ্ধ, দ্রুত প্রশ্ন এবং স্কেলগুলিও বৈশিষ্ট্যযুক্ত।

এটি স্কেল করা সহজ এবং জটিল মডেলগুলি মডেল করতে পারে এবং দীর্ঘমেয়াদে সামগ্রিকভাবে আরও ভাল। তবে বিষয়গুলিকে সহজ রাখতে, আমরা রিয়েলটাইম ডেটাবেসকে আঁকড়ে রাখব।

রিয়েলটাইম ডাটাবেস

এরপরে, ফায়ারবেস কনসোলে ফিরে যান এবং নিম্নলিখিতগুলি করুন:

এটি টেস্টিং মোডে একটি রিয়েলটাইম ডেটাবেস তৈরি করবে, যার অর্থ ব্যবহারকারীদের এই ডাটাবেসটি পড়তে এবং লিখতে প্রমাণীকরণ করতে হবে না। আমরা শেষ পর্যন্ত নিয়মগুলি পরিবর্তন করব তবে আসুন আমরা এটির সাথে এগিয়ে চলি যাতে আমরা আমাদের অ্যাপটি পরীক্ষা করতে পারি।

এগিয়ে যান এবং একটি সিমুলেটারে আমাদের iOS অ্যাপ্লিকেশন চালান। এটি শুরু হয়ে গেলে, আপনি যখন ফায়ারবেসে ডেটাবেস-এ ক্লিক করেন, আপনার নীচের মতো কিছু দেখতে হবে:

আমাদের সেট মান পদ্ধতি কার্যকর!

গ্রেট! আমাদের অ্যাপ্লিকেশনটি চালু হওয়ার পরে, আমরা আমাদের রিয়েলটাইম ডাটাবেসের মূলটি উল্লেখ করেছি এবং একটি নতুন মান পরীক্ষার সেট করেছি

আমরা এখন ফায়ারবেস ডাটাবেস আলাদা করে রেখে দেব এবং যখন আমরা বার্তা প্রেরণের জন্য প্রস্তুত হই তখন এটিতে আবার ফিরে আসব। আসুন আমরা এখন আমাদের ব্যবহারকারীর জন্য আমাদের ভিউকন্ট্রোলার এবং সাইনআপ / লগইন যুক্তি প্রয়োগ করি।

নিবন্ধন এবং লগ ইন

আসুন প্রমাণীকরণে যান এবং ইমেল / পাসওয়ার্ডে ক্লিক করুন এবং এটি সক্ষম করুন। আমরা এখানে যা করছি তা হ'ল আমরা আমাদের ব্যবহারকারীদের ইমেল বা পাসওয়ার্ড ব্যবহার করে সাইন আপ করার ক্ষমতা দিচ্ছি। আমরা এই টিউটোরিয়ালে ইমেলের বৈধতা বা ব্যবহারকারীর সত্যতা যাচাই করব না।

ব্যবহারকারীদের সাইন আপ / লগইন করতে, ফ্রি অন্বেষণ করতে এবং আপনার অ্যাপ্লিকেশনটিতে এটি অন্তর্ভুক্ত করার জন্য ফায়ারবেসে আরও অনেক বিকল্প রয়েছে।

ভিউকন্ট্রোলার তৈরি করা হচ্ছে

এটি আমাদের প্রাথমিক স্টোরিবোর্ড হবে

চলুন শুরু করা যাক এবং আমাদের প্রাথমিক স্টোরিবোর্ড তৈরি করুন। এখানে আমাদের নেভিগেশন কন্ট্রোলারে এম্বেড করা থাকবে মাত্র 2 টি স্ক্রিন। আমাদের স্বাগত স্ক্রিনে ইমেল এবং পাসওয়ার্ডের জন্য ইনপুট ক্ষেত্র রয়েছে। এরপরে আমরা হয় লগইন বা নিবন্ধন করতে পারি। একবার আমরা এর মধ্যে একটির কাজ শেষ করার পরে আমরা আমাদের চ্যাট ভিউ কন্ট্রোলার উপস্থাপন করতে পারি

বর্তমান প্রবাহের সারাংশ পেতে উপরের স্ক্রিন রেকর্ডিংটি দেখুন।

নিবন্ধকরণ এবং লগ ইন হ্যান্ডলিং

এটির মতো হতে আপনার মূল ভিউকন্ট্রোলআর সুইফট আপডেট করুন। ক্র্যাশ হওয়া রোধ করতে স্টোরিবোর্ডে আইবিউটলেট এবং আইবিএ ক্রিয়াকলাপগুলি সংযুক্ত করে নিশ্চিত করুন।

আসুন এখন অ্যাপটি চালিয়ে একটি নতুন ব্যবহারকারীর নিবন্ধন করুন

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

প্রমাণীকরণ পৃষ্ঠা

ফায়ারবেসে, প্রমাণীকরণ পৃষ্ঠাটি রিফ্রেশ করুন এবং আপনার নতুন ব্যবহারকারীর দেখা উচিত যা আমরা সবেমাত্র নিবন্ধভুক্ত করেছি। আমাদের যা আছে তা হ'ল:

  • সনাক্তকারী - ইমেল আমরা ব্যবহার করি
  • সরবরাহকারী - আইকনটি কী ধরণের প্রমাণীকরণ তা দেখাচ্ছে
  • তৈরি - তৈরি তারিখ
  • সাইন ইন - তারিখ ব্যবহারকারী সর্বশেষ সাইন ইন করেছেন
  • ব্যবহারকারী ইউইউডিউ - প্রতিটি ব্যবহারকারীর জন্য নির্ধারিত অনন্য সনাক্তকারী
  • এটি সংবেদনশীল ডেটা হওয়ায় পাসওয়ার্ড কলামটি প্রদর্শিত হয়নি। এটি হ্যাশ এবং সেই অনুযায়ী সংরক্ষণ করা হবে।

মূল পৃষ্ঠায় ফিরে যান এবং লগ ইন করার চেষ্টা করুন Once ব্যবহারকারী একবার সফলভাবে লগ ইন করার পরে আমরা আবার চ্যাটভিউ কনট্রোলারটি প্রদর্শন করি।

ChatsViewController

দেখতে বেশ শালীন!

এটিই আমরা আমাদের চ্যাটভিউ নিয়ন্ত্রণকারীকে প্রয়োগ করব। নিম্নরূপ মৌলিক ধারণা:

  1. এমন একটি কাস্টম মডেল তৈরি করুন যা বার্তা, আগত, প্রেরককে ধারণ করবে
  2. প্রাপ্ত মডেলটির উপর ভিত্তি করে বার্তা প্রান্তিককরণ এবং পটভূমির রঙ নির্ধারণ করতে কাস্টম টেবিল ভিউ সেল তৈরি করুন। যদি সেখানে প্রেরক আপনি না হন তবে বার্তার উপরে প্রেরকের নামটি দেখান
  3. সারণী দৃশ্যে ঘরগুলি প্রদর্শন করুন।

সেই অনুযায়ী বার্তাগুলি প্রদর্শন করা আমাদের সত্যই দরকার। আসুন এখন আমাদের টেবিলভিউ ডেটা ফায়ারবেসের সাথে সংযুক্ত করি! আমরা একটি বার্তা প্রেরণ করব এবং নিশ্চিত করব যে আমরা এটি অন্য সিমুলেটারে ফিরে পেতে পারি।

ফায়ারবেস ডাটাবেসে সংযুক্ত হচ্ছে

ফায়ারবেস ডাটাবেসগুলির সাথে যোগাযোগ করতে আমরা দুটি নতুন পদ্ধতি যুক্ত করতে যাচ্ছি:

  1. প্রেরণ বোতামটি ক্লিক করা হলে ফায়ারবেসে বার্তা প্রেরণ করুন।
  2. ডাটাবেস পরিবর্তনগুলি পর্যবেক্ষণ করতে শ্রোতার যোগ করুন।

আমি আপনাকে অনেক শব্দ দিয়ে বিরক্ত করব না, সুতরাং আসল বাস্তবায়ন এখানে

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

বার্তাগুলি তাত্ক্ষণিকভাবে প্রেরণ করা হয় এবং তাত্ক্ষণিকভাবে গ্রহণ করা হয়।

সমাপ্তি চিন্তা

আমাদের অ্যাপ সম্পর্কে

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

আপনার নিজের সার্ভার পাওয়ার জন্য প্রয়োজনীয় দক্ষতা বা সংস্থান না থাকলে রিয়েল টাইম তথ্য বিনিময় শুরু করতে ফায়ারবেস সত্যই শক্তিশালী একটি সরঞ্জাম হতে পারে। ভবিষ্যতে আমি এটি আপডেট করব বা একটি নতুন টিউটোরিয়াল তৈরি করব যা ফায়ারবেসের পরিবর্তে সকেট / মঙ্গোডিবি ব্যবহার করে আমাদের নিজস্ব পরিষেবাটি বাস্তবায়িত করে। তবে শুরু করার জন্য, ফায়ারবেস রিয়েল টাইম তথ্য ভাগ করে নেওয়ার অনুমতি দেওয়ার একটি দুর্দান্ত ঝরঝরে উপায় সরবরাহ করে।

চূড়ান্ত উত্স কোডটি এখানে পাওয়া যাবে।

যদি কারও এগুলি দরকারী মনে হয় তবে এটিকে নির্দ্বিধায় ভাগ করে নিন বা কোনও ত্রুটি / খারাপ অনুশীলন / বাস্তবায়ন হওয়া উচিত আমাকে জানান।

মজা কোডিং আছে!

আরো দেখুন

ইনস্টাগ্রাম (পণ্য): ইনস্টাগ্রাম প্রভাবকরা অন্য কারও মতামতের চেয়ে পরামর্শ বা পরামর্শ দেওয়ার বিষয়ে লোকেরা কি আরও বেশি গুরুত্ব দেবে? কেন অথবা কেন নয়?যদি একজন গড়পড়তা ছেলে পঞ্চাশবার টিন্ডারের ডানদিকে সোয়াইপ করে, তবে প্রায় সোয়াইপগুলির মধ্যে কতটি ম্যাচ হবে?হোয়াটসঅ্যাপে আপনার নতুন বার্তা থাকতে পারে তা কেন দেখায় কিন্তু আমি অ্যাপটি খুললে কোনও নতুন বার্তা আসে না?আমি কীভাবে আমার এইচপি ল্যাপটপে ইনস্টাগ্রাম পাব?যখন আপনার প্রাক্তন আপনার নম্বর, ইমেল এবং আপনার ইনস্টাগ্রাম বার্তাগুলি নিষ্ক্রিয় করে, কিন্তু ইনস্টাগ্রামে আপনাকে অবরোধ করে না / তাদের অ্যাকাউন্টটি বেসরকারী করে তোলে, এর অর্থ কী? আমি ভুতুড়ে বোধ করি তবে পুরোপুরি নয়, যেহেতু আমি এখনও তার জীবন 'দেখতে' পারি।টেন্ডার, বাম্বল, এবং পিওএফ-এর মতো ফ্রি ডেটিং অ্যাপগুলিতে এমন লোকেরা কেন বোধ হয় যারা সত্যিকারের সাথে ডেটিং / সম্পর্কের ক্ষেত্রে থাকার বিষয়ে সিরিয়াস নন?গড়ে, কতগুলি অনুগামী একটি দৈনিক স্বয়ংক্রিয়ভাবে 50k অনুসরণ করে একটি ইনস্টাগ্রাম পৃষ্ঠাতে থাকে?কীভাবে আমি ইনস্টাগ্রামে ব্যস্ততা বাড়াতে পারি? আমি চেষ্টা করি এমন কিছুই এখনও পর্যন্ত কাজ করে নি।