Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

ইউনিটির সাথে একটি Firebase ক্লাউড মেসেজিং ক্লায়েন্ট অ্যাপ সেট আপ করুন

সেভ করা পৃষ্ঠা গুছিয়ে রাখতে 'সংগ্রহ' ব্যবহার করুন আপনার পছন্দ অনুযায়ী কন্টেন্ট সেভ করুন ও সঠিক বিভাগে রাখুন।

ইউনিটির সাথে আপনার ক্রস-প্ল্যাটফর্ম Firebase ক্লাউড মেসেজিং ক্লায়েন্ট অ্যাপ লিখতে, Firebase ক্লাউড মেসেজিং API ব্যবহার করুন। ইউনিটি SDK প্রতিটি প্ল্যাটফর্মের জন্য প্রয়োজনীয় কিছু অতিরিক্ত সেটআপ সহ Android এবং Apple উভয়ের জন্যই কাজ করে।

তুমি শুরু করার আগে

পূর্বশর্ত

  • ইউনিটি 2018.4 বা তার পরে ইনস্টল করুন। আগের সংস্করণগুলিও সামঞ্জস্যপূর্ণ হতে পারে তবে সক্রিয়ভাবে সমর্থিত হবে না৷ ইউনিটি 2018.4-এর জন্য সমর্থন অবমূল্যায়িত বলে বিবেচিত হয় এবং পরবর্তী বড় রিলিজের পরে আর সক্রিয়ভাবে সমর্থন করা হবে না।

  • (শুধুমাত্র iOS) নিম্নলিখিতগুলি ইনস্টল করুন:

    • Xcode 13.3.1 বা উচ্চতর
    • CocoaPods 1.10.0 বা উচ্চতর
  • নিশ্চিত করুন যে আপনার ইউনিটি প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:

    • iOS এর জন্য — লক্ষ্য iOS 11 বা উচ্চতর
    • Android এর জন্য — লক্ষ্য API স্তর 19 (KitKat) বা উচ্চতর

  • আপনার ইউনিটি প্রকল্প চালানোর জন্য একটি ডিভাইস সেট আপ করুন বা একটি এমুলেটর ব্যবহার করুন৷

    • iOS এর জন্য - আপনার অ্যাপ চালানোর জন্য একটি ফিজিক্যাল iOS ডিভাইস সেট আপ করুন এবং এই কাজগুলি সম্পূর্ণ করুন:

    • অ্যান্ড্রয়েডের জন্যএমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।

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

ধাপ 1: একটি ফায়ারবেস প্রকল্প তৈরি করুন

আপনার ইউনিটি প্রোজেক্টে ফায়ারবেস যোগ করার আগে, আপনার ইউনিটি প্রোজেক্টের সাথে সংযোগ করার জন্য আপনাকে একটি ফায়ারবেস প্রোজেক্ট তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷

ধাপ 2: Firebase-এ আপনার অ্যাপ নিবন্ধন করুন

আপনার Firebase প্রকল্পের সাথে সংযোগ করতে আপনি এক বা একাধিক অ্যাপ বা গেম নিবন্ধন করতে পারেন।

  1. ফায়ারবেস কনসোলে যান।

  2. প্রকল্প ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে ইউনিটি আইকনে ক্লিক করুন ( )।

    আপনি যদি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ যোগ করে থাকেন, তাহলে প্ল্যাটফর্মের বিকল্পগুলি প্রদর্শন করতে অ্যাপ যোগ করুন -এ ক্লিক করুন।

  3. আপনার ইউনিটি প্রজেক্টের কোন বিল্ড টার্গেট আপনি নিবন্ধন করতে চান তা নির্বাচন করুন, অথবা আপনি এখন একই সময়ে উভয় লক্ষ্যমাত্রা নিবন্ধন করতে নির্বাচন করতে পারেন।

  4. আপনার ইউনিটি প্রকল্পের প্ল্যাটফর্ম-নির্দিষ্ট আইডি(গুলি) লিখুন।

    • iOS এর জন্যiOS বান্ডেল আইডি ক্ষেত্রে আপনার ইউনিটি প্রকল্পের iOS আইডি লিখুন।

    • অ্যান্ড্রয়েডের জন্য - অ্যান্ড্রয়েড প্যাকেজ নামের ক্ষেত্রে আপনার ইউনিটি প্রকল্পের অ্যান্ড্রয়েড আইডি লিখুন।
      পদ প্যাকেজ নাম এবং অ্যাপ্লিকেশন আইডি প্রায়ই বিনিময়যোগ্যভাবে ব্যবহার করা হয়.

  5. (ঐচ্ছিক) আপনার ইউনিটি প্রকল্পের প্ল্যাটফর্ম-নির্দিষ্ট ডাকনাম লিখুন।
    এই ডাকনামগুলি অভ্যন্তরীণ, সুবিধার শনাক্তকারী এবং শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান৷

  6. রেজিস্টার অ্যাপে ক্লিক করুন।

ধাপ 3: Firebase কনফিগারেশন ফাইল যোগ করুন

  1. Firebase কনসোল সেটআপ ওয়ার্কফ্লোতে আপনার প্ল্যাটফর্ম-নির্দিষ্ট Firebase কনফিগারেশন ফাইল(গুলি) পান।

    • iOS-এর জন্য - GoogleService-Info.plist ডাউনলোড করুন ক্লিক করুন।

    • অ্যান্ড্রয়েডের জন্যডাউনলোড google-services.json এ ক্লিক করুন।

  2. আপনার ইউনিটি প্রকল্পের প্রজেক্ট উইন্ডো খুলুন, তারপর আপনার কনফিগার ফাইল(গুলি) Assets ফোল্ডারে সরান।

  3. Firebase কনসোলে ফিরে, সেটআপ ওয়ার্কফ্লোতে, Next এ ক্লিক করুন।

ধাপ 4: Firebase Unity SDK যোগ করুন

  1. Firebase কনসোলে, Firebase Unity SDK ডাউনলোড করুন-এ ক্লিক করুন, তারপর সুবিধাজনক জায়গায় SDK আনজিপ করুন।

    • আপনি যে কোনো সময় আবার Firebase Unity SDK ডাউনলোড করতে পারেন।

    • ফায়ারবেস ইউনিটি SDK প্ল্যাটফর্ম-নির্দিষ্ট নয়।

  2. আপনার ওপেন ইউনিটি প্রকল্পে, সম্পদ > আমদানি প্যাকেজ > কাস্টম প্যাকেজে নেভিগেট করুন।

  3. আনজিপ করা SDK থেকে, সমর্থিত Firebase পণ্যগুলি নির্বাচন করুন যা আপনি আপনার অ্যাপে ব্যবহার করতে চান।

    Firebase ক্লাউড মেসেজিং এর সাথে একটি সর্বোত্তম অভিজ্ঞতার জন্য, আমরা আপনার প্রকল্পে Google Analytics সক্ষম করার পরামর্শ দিই। এছাড়াও, অ্যানালিটিক্স সেট আপ করার অংশ হিসাবে, আপনাকে আপনার অ্যাপে Analytics-এর জন্য Firebase প্যাকেজ যোগ করতে হবে।

    বিশ্লেষণ সক্রিয় করা হয়েছে

    • Google Analytics-এর জন্য Firebase প্যাকেজ যোগ করুন: FirebaseAnalytics.unitypackage
    • Firebase ক্লাউড মেসেজিংয়ের জন্য প্যাকেজ যোগ করুন: FirebaseMessaging.unitypackage

    অ্যানালিটিক্স সক্ষম করা নেই

    Firebase ক্লাউড মেসেজিংয়ের জন্য প্যাকেজ যোগ করুন: FirebaseMessaging.unitypackage

  4. ইম্পোর্ট ইউনিটি প্যাকেজ উইন্ডোতে, আমদানি ক্লিক করুন।

  5. Firebase কনসোলে ফিরে, সেটআপ ওয়ার্কফ্লোতে, Next এ ক্লিক করুন।

ধাপ 5: Google Play পরিষেবার সংস্করণের প্রয়োজনীয়তা নিশ্চিত করুন

Android-এর জন্য Firebase Unity SDK-এর জন্য Google Play পরিষেবার প্রয়োজন, যা SDK ব্যবহার করার আগে আপ-টু-ডেট হতে হবে।

আপনার আবেদনের শুরুতে নিম্নলিখিত কোড যোগ করুন। আপনি SDK-তে অন্য কোনও পদ্ধতিতে কল করার আগে Firebase Unity SDK-এর জন্য প্রয়োজনীয় সংস্করণে Google Play পরিষেবাগুলি পরীক্ষা করতে এবং বিকল্পভাবে আপডেট করতে পারেন।

Firebase.FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task => {
  var dependencyStatus = task.Result;
  if (dependencyStatus == Firebase.DependencyStatus.Available) {
    // Create and hold a reference to your FirebaseApp,
    // where app is a Firebase.FirebaseApp property of your application class.
       app = Firebase.FirebaseApp.DefaultInstance;

    // Set a flag here to indicate whether Firebase is ready to use by your app.
  } else {
    UnityEngine.Debug.LogError(System.String.Format(
      "Could not resolve all Firebase dependencies: {0}", dependencyStatus));
    // Firebase Unity SDK is not safe to use here.
  }
});

আপনার ইউনিটি প্রজেক্ট রেজিস্টার করা হয়েছে এবং Firebase ব্যবহার করার জন্য কনফিগার করা হয়েছে।

ধাপ 7: ব্যবহারকারীর বিজ্ঞপ্তি ফ্রেমওয়ার্ক যোগ করুন

  1. এক্সকোডে প্রকল্পটিতে ক্লিক করুন, তারপর সম্পাদক এলাকা থেকে সাধারণ ট্যাবটি নির্বাচন করুন।

  2. লিঙ্কড ফ্রেমওয়ার্ক এবং লাইব্রেরিতে নিচে স্ক্রোল করুন, তারপর একটি ফ্রেমওয়ার্ক যোগ করতে + বোতামে ক্লিক করুন।

  3. প্রদর্শিত উইন্ডোতে, UserNotifications.framework-এ স্ক্রোল করুন, সেই এন্ট্রিতে ক্লিক করুন, তারপর Add এ ক্লিক করুন

ধাপ 8: পুশ বিজ্ঞপ্তি সক্ষম করুন

  1. এক্সকোডে প্রকল্পটিতে ক্লিক করুন, তারপর সম্পাদক এলাকা থেকে সক্ষমতা ট্যাবটি নির্বাচন করুন।

  2. পুশ বিজ্ঞপ্তিগুলি চালু করুন।

  3. ব্যাকগ্রাউন্ড মোডে স্ক্রোল করুন, তারপর এটি চালু করুন।

  4. পটভূমি মোডের অধীনে দূরবর্তী বিজ্ঞপ্তি চেকবক্স নির্বাচন করুন।

Firebase ক্লাউড মেসেজিং শুরু করুন

TokenReceived বা MessageReceived ইভেন্টগুলির জন্য হ্যান্ডলার যোগ করার সময় Firebase ক্লাউড মেসেজ লাইব্রেরি আরম্ভ করা হবে।

আরম্ভ করার পরে, ক্লায়েন্ট অ্যাপের উদাহরণের জন্য একটি নিবন্ধন টোকেন অনুরোধ করা হয়। অ্যাপটি OnTokenReceived ইভেন্টের সাথে টোকেন পাবে, যা পরবর্তীতে ব্যবহারের জন্য ক্যাশে করা উচিত। আপনি যদি বার্তাগুলির জন্য এই নির্দিষ্ট ডিভাইসটিকে লক্ষ্য করতে চান তবে আপনার এই টোকেনটির প্রয়োজন হবে৷

এছাড়াও, আপনি যদি ইনকামিং বার্তাগুলি পেতে সক্ষম হতে চান তবে আপনাকে OnMessageReceived ইভেন্টের জন্য নিবন্ধন করতে হবে।

সম্পূর্ণ সেটআপ এই মত দেখায়:

public void Start() {
  Firebase.Messaging.FirebaseMessaging.TokenReceived += OnTokenReceived;
  Firebase.Messaging.FirebaseMessaging.MessageReceived += OnMessageReceived;
}

public void OnTokenReceived(object sender, Firebase.Messaging.TokenReceivedEventArgs token) {
  UnityEngine.Debug.Log("Received Registration Token: " + token.Token);
}

public void OnMessageReceived(object sender, Firebase.Messaging.MessageReceivedEventArgs e) {
  UnityEngine.Debug.Log("Received a new message from: " + e.Message.From);
}

একটি অ্যান্ড্রয়েড এন্ট্রি পয়েন্ট অ্যাক্টিভিটি কনফিগার করা হচ্ছে

অ্যান্ড্রয়েডে, ফায়ারবেস ক্লাউড মেসেজিং একটি কাস্টম এন্ট্রি পয়েন্ট অ্যাক্টিভিটি নিয়ে আসে যা ডিফল্ট UnityPlayerActivity প্রতিস্থাপন করে। আপনি যদি একটি কাস্টম এন্ট্রি পয়েন্ট ব্যবহার না করেন তবে এই প্রতিস্থাপনটি স্বয়ংক্রিয়ভাবে ঘটবে এবং আপনাকে কোনও অতিরিক্ত পদক্ষেপ নিতে হবে না। যে অ্যাপগুলি ডিফল্ট এন্ট্রি পয়েন্ট অ্যাক্টিভিটি ব্যবহার করে না বা যেগুলি তাদের নিজস্ব Assets/Plugins/AndroidManifest.xml সরবরাহ করে তাদের অতিরিক্ত কনফিগারেশনের প্রয়োজন হবে৷

অ্যান্ড্রয়েডে ফায়ারবেস ক্লাউড মেসেজিং ইউনিটি প্লাগইন দুটি অতিরিক্ত ফাইলের সাথে বান্ডিল করে আসে:

  • Assets/Plugins/Android/libmessaging_unity_player_activity.jarMessagingUnityPlayerActivity নামে একটি কার্যকলাপ রয়েছে যা স্ট্যান্ডার্ড UnityPlayerActivity প্রতিস্থাপন করে।
  • Assets/Plugins/Android/AndroidManifest.xml অ্যাপটিকে MessagingUnityPlayerActivity অ্যাপে প্রবেশের পয়েন্ট হিসেবে ব্যবহার করার নির্দেশ দেয়।

এই ফাইলগুলি প্রদান করা হয়েছে কারণ ডিফল্ট UnityPlayerActivity onStop অন-রিস্টার্ট অ্যাক্টিভিটি লাইফসাইকেল ট্রানজিশন বা onRestart প্রয়োগ করে না যা Firebase ক্লাউড onNewIntent জন্য সঠিকভাবে ইনকামিং বার্তাগুলি পরিচালনা করার জন্য প্রয়োজনীয়।

একটি কাস্টম এন্ট্রি পয়েন্ট অ্যাক্টিভিটি কনফিগার করা হচ্ছে

যদি আপনার অ্যাপটি ডিফল্ট UnityPlayerActivity ব্যবহার না করে তাহলে আপনাকে সরবরাহ করা AndroidManifest.xml সরিয়ে ফেলতে হবে এবং নিশ্চিত করতে হবে যে আপনার কাস্টম অ্যাক্টিভিটি অ্যান্ড্রয়েড অ্যাক্টিভিটি লাইফসাইকেলের সমস্ত রূপান্তর সঠিকভাবে পরিচালনা করে (এটি কীভাবে করবেন তার একটি উদাহরণ নীচে দেখানো হয়েছে)। যদি আপনার কাস্টম কার্যকলাপ UnityPlayerActivity প্রসারিত করে তবে আপনি এর পরিবর্তে com.google.firebase.MessagingUnityPlayerActivity প্রসারিত করতে পারেন যা সমস্ত প্রয়োজনীয় পদ্ধতি প্রয়োগ করে৷

আপনি যদি একটি কাস্টম কার্যকলাপ ব্যবহার করেন এবং com.google.firebase.MessagingUnityPlayerActivity প্রসারিত না করেন, তাহলে আপনার কার্যকলাপে নিম্নলিখিত স্নিপেটগুলি অন্তর্ভুক্ত করা উচিত৷

/**
 * Workaround for when a message is sent containing both a Data and Notification payload.
 *
 * When the app is in the background, if a message with both a data and notification payload is
 * received the data payload is stored on the Intent passed to onNewIntent. By default, that
 * intent does not get set as the Intent that started the app, so when the app comes back online
 * it doesn't see a new FCM message to respond to. As a workaround, we override onNewIntent so
 * that it sends the intent to the MessageForwardingService which forwards the message to the
 * FirebaseMessagingService which in turn sends the message to the application.
 */
@Override
protected void onNewIntent(Intent intent) {
  Intent message = new Intent(this, MessageForwardingService.class);
  message.setAction(MessageForwardingService.ACTION_REMOTE_INTENT);
  message.putExtras(intent);
  message.setData(intent.getData());
  // For older versions of Firebase C++ SDK (< 7.1.0), use `startService`.
  // startService(message);
  MessageForwardingService.enqueueWork(this, message);
}

/**
 * Dispose of the mUnityPlayer when restarting the app.
 *
 * This ensures that when the app starts up again it does not start with stale data.
 */
@Override
protected void onCreate(Bundle savedInstanceState) {
  if (mUnityPlayer != null) {
    mUnityPlayer.quit();
    mUnityPlayer = null;
  }
  super.onCreate(savedInstanceState);
}

Firebase C++ SDK (7.1.0 এর পর) এর নতুন সংস্করণ JobIntentService ব্যবহার করে যার জন্য AndroidManifest.xml ফাইলে অতিরিক্ত পরিবর্তনের প্রয়োজন।

<service android:name="com.google.firebase.messaging.MessageForwardingService"
     android:permission="android.permission.BIND_JOB_SERVICE"
     android:exported="false" >
</service>

Android এ বার্তা বিতরণ সম্পর্কে নোট করুন

যখন অ্যাপটি মোটেও চলছে না এবং একজন ব্যবহারকারী একটি বিজ্ঞপ্তিতে ট্যাপ করেন, তখন বার্তাটি ডিফল্টরূপে, FCM-এর অন্তর্নির্মিত কলব্যাকের মাধ্যমে রাউট করা হয় না। এই ক্ষেত্রে, অ্যাপ্লিকেশন শুরু করতে ব্যবহৃত একটি Intent মাধ্যমে বার্তা পেলোডগুলি প্রাপ্ত হয়।

অ্যাপটি ব্যাকগ্রাউন্ডে থাকাকালীন প্রাপ্ত বার্তাগুলিতে তাদের নোটিফিকেশন ফিল্ডের বিষয়বস্তু সিস্টেম ট্রে নোটিফিকেশন পপুলেট করার জন্য ব্যবহার করা হয়, কিন্তু সেই নোটিফিকেশন কন্টেন্ট FCM কে জানানো হবে না। অর্থাৎ, FirebaseMessage.Notification একটি নাল হবে।

সংক্ষেপে:

অ্যাপের অবস্থা বিজ্ঞপ্তি ডেটা উভয়
ফোরগ্রাউন্ড Firebase.Messaging.FirebaseMessaging.MessageReceived Firebase.Messaging.FirebaseMessaging.MessageReceived Firebase.Messaging.FirebaseMessaging.MessageReceived
পটভূমি সিস্টেম ট্রে Firebase.Messaging.FirebaseMessaging.MessageReceived বিজ্ঞপ্তি: সিস্টেম ট্রে
তথ্য: অভিপ্রায় অতিরিক্ত.

স্বয়ংক্রিয় সূচনা প্রতিরোধ করুন

FCM ডিভাইস লক্ষ্য করার জন্য একটি নিবন্ধন টোকেন তৈরি করে। যখন একটি টোকেন তৈরি হয়, তখন লাইব্রেরি শনাক্তকারী এবং কনফিগারেশন ডেটা Firebase-এ আপলোড করে। আপনি যদি টোকেন ব্যবহার করার আগে একটি স্পষ্ট অপ্ট-ইন পেতে চান, তাহলে আপনি FCM (এবং Android, Analytics-এ) অক্ষম করে কনফিগার করার সময় জেনারেশন প্রতিরোধ করতে পারেন। এটি করার জন্য, Apple-এ আপনার Info.plist (আপনার GoogleService-Info.plist নয়) বা Android-এ আপনার AndroidManifest.xml এ একটি মেটাডেটা মান যোগ করুন:

অ্যান্ড্রয়েড

<?xml version="1.0" encoding="utf-8"?>
<application>
  <meta-data android:name="firebase_messaging_auto_init_enabled"
             android:value="false" />
  <meta-data android:name="firebase_analytics_collection_enabled"
             android:value="false" />
</application>

সুইফট

FirebaseMessagingAutoInitEnabled = NO

FCM পুনরায় সক্ষম করতে, আপনি একটি রানটাইম কল করতে পারেন:

Firebase.Messaging.FirebaseMessaging.TokenRegistrationOnInitEnabled = true;

একবার সেট করার পরে এই মানটি অ্যাপ রিস্টার্ট জুড়ে থাকে।

FCM আপনার অ্যাপে একটি গভীর লিঙ্ক সহ বার্তা পাঠানোর অনুমতি দেয়। একটি গভীর লিঙ্ক রয়েছে এমন বার্তাগুলি পেতে, আপনাকে অবশ্যই একটি নতুন অভিপ্রায় ফিল্টার যোগ করতে হবে যা আপনার অ্যাপের জন্য গভীর লিঙ্কগুলি পরিচালনা করে৷ অভিপ্রায় ফিল্টারটি আপনার ডোমেনের গভীর লিঙ্কগুলিকে ধরতে হবে। যদি আপনার বার্তাগুলিতে একটি গভীর লিঙ্ক না থাকে তবে এই কনফিগারেশনের প্রয়োজন নেই৷ AndroidManifest.xml-এ:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="http"/>
  <data android:host="CHANGE_THIS_DOMAIN.example.com" android:scheme="https"/>
</intent-filter>

অভিপ্রায় ফিল্টারটিকে আরও নমনীয় করতে একটি ওয়াইল্ডকার্ড নির্দিষ্ট করাও সম্ভব। উদাহরণ স্বরূপ:

<intent-filter>
  <action android:name="android.intent.action.VIEW"/>
  <category android:name="android.intent.category.DEFAULT"/>
  <category android:name="android.intent.category.BROWSABLE"/>
  <data android:host="*.example.com" android:scheme="http"/>
  <data android:host="*.example.com" android:scheme="https"/>
</intent-filter>

ব্যবহারকারীরা যখন স্কিমের একটি লিঙ্ক সম্বলিত একটি বিজ্ঞপ্তিতে ট্যাপ করে এবং আপনার নির্দিষ্ট করা হোস্ট, তখন আপনার অ্যাপটি লিঙ্কটি পরিচালনা করতে এই উদ্দেশ্য ফিল্টার দিয়ে কার্যকলাপ শুরু করবে।

পরবর্তী পদক্ষেপ

ক্লায়েন্ট অ্যাপ সেট আপ করার পরে, আপনি Firebase-এর সাথে ডাউনস্ট্রিম এবং বিষয় বার্তা পাঠাতে প্রস্তুত। আরও জানতে, কুইকস্টার্ট নমুনা দেখুন যা এই কার্যকারিতা প্রদর্শন করে।

আপনার অ্যাপে অন্যান্য, আরও উন্নত আচরণ যোগ করতে, একটি অ্যাপ সার্ভার থেকে বার্তা পাঠানোর নির্দেশিকা দেখুন:

মনে রাখবেন যে এই বৈশিষ্ট্যগুলি ব্যবহার করতে আপনার একটি সার্ভার বাস্তবায়নের প্রয়োজন হবে৷