ডায়নামিক লিঙ্কের জন্য একটি কাস্টম ডোমেন সেট আপ করুন

page.link সাবডোমেনের পরিবর্তে আপনার নিজস্ব ডোমেন ব্যবহার করে আপনি আপনার Dynamic Links ব্র্যান্ডিংয়ের উপর আরও বেশি নিয়ন্ত্রণ রাখতে পারেন। কাস্টম ডোমেনের সাহায্যে, আপনি নিম্নলিখিত উদাহরণগুলির মতো Dynamic Links তৈরি করতে পারেন:

https://example.com/link-suffix
https://example.com/links/promos/link-suffix
https://links.example.com/link-suffix
https://ex.amp.le/link-suffix

URL-এর link-suffix এর আগের অংশকে URL প্রিফিক্স বলা হয় এবং এতে আপনার কাস্টম Dynamic Link ডোমেইন ও একটি পাথ প্রিফিক্স উভয়ই থাকে। Dynamic Links তৈরি করার সময় আপনাকে একটি URL প্রিফিক্স প্রদান করতে হবে।

কাস্টম ডোমেইন সেট আপ করার জন্য আপনার ফায়ারবেস প্রজেক্টে এডিটর বা ওনার পারমিশন প্রয়োজন।

Dynamic Links জন্য আপনার ওয়েব ডোমেইন ব্যবহার করা

আপনি আপনার Dynamic Links এবং ওয়েব পেজ, ইউনিভার্সাল লিঙ্ক ও অ্যাপ লিঙ্কের জন্য একই ডোমেইন ব্যবহার করতে পারেন, কিন্তু যদি তা করেন, তবে আপনাকে অবশ্যই খেয়াল রাখতে হবে যেন আপনার Dynamic Link ইউআরএলগুলো আপনার ওয়েব ইউআরএলগুলোর সাথে সাংঘর্ষিক না হয়। যখন আপনি কোনো নির্দিষ্ট ইউআরএল প্রিফিক্স ব্যবহার করার জন্য Dynamic Links কনফিগার করেন, তখন সেই প্রিফিক্স দিয়ে শুরু হওয়া সমস্ত ইউআরএল Dynamic Links হিসেবে গণ্য হয়, তাই আপনি সাধারণ হোস্টেড কন্টেন্টের দিকে নির্দেশ করার জন্য সেই প্রিফিক্সযুক্ত ইউআরএল ব্যবহার করতে পারবেন না।

উদাহরণস্বরূপ, যদি আপনি https://example.com/my-resource রিসোর্সটির জন্য একটি Dynamic Link (একটি ওয়েব পেজ, ইউনিভার্সাল লিঙ্ক, বা অ্যাপ লিঙ্ক) তৈরি করতে চান, তাহলে আপনি Dynamic Links URL প্রিফিক্স হিসেবে https://example.com/ ব্যবহার করতে পারবেন না, কারণ তা করলে https://example.com/my-resource একটি Dynamic Link হিসেবে গণ্য করা হবে। এর পরিবর্তে, আপনাকে অবশ্যই একটি ভিন্ন ডোমেইন অথবা একটি ভিন্ন পাথ প্রিফিক্স সহ একটি URL প্রিফিক্স ব্যবহার করতে হবে।

সুতরাং, নিম্নলিখিত দীর্ঘ Dynamic Links (এবং সমতুল্য সংক্ষিপ্ত লিঙ্কগুলি) উদ্দেশ্য অনুযায়ী কাজ করবে না, কারণ link প্যারামিটার দ্বারা নির্দিষ্ট URL গুলি Dynamic Link URL প্রিফিক্স, https://example.com/ দিয়ে শুরু হয়:

 https://example.com/?link=https://example.com/my-resource
 https://example.com/?link=https://example.com/resources/my-resource

কিন্তু নিম্নলিখিত দীর্ঘ Dynamic Links (এবং সমতুল্য সংক্ষিপ্ত লিঙ্কগুলি) কাজ করতে পারে, কারণ URL প্রিফিক্সগুলি link URL-গুলির সাথে সাংঘর্ষিক হয় না:

 https://link.example.com/?link=https://example.com/my-resource
 https://example.com/links/?link=https://example.com/my-resource
 https://ex.amp.le/?link=https://example.com/my-resource

Firebase কনসোলে একটি কাস্টম ডোমেইন সেট আপ করুন।

আপনি সাধারণত Firebase কনসোলে একটি কাস্টম ডোমেইন সম্পূর্ণরূপে সেট আপ করতে পারেন। তা করতে:

  1. আপনি যদি আপনার প্রোজেক্টের জন্য Firebase Hosting সেট আপ না করে থাকেন, তাহলে Firebase কনসোলের Hosting পেজটি খুলুন, 'Get Started'-এ ক্লিক করুন এবং সেট আপের নির্দেশাবলী অনুসরণ করুন। এই মুহূর্তে নির্দেশিত ধাপগুলো সম্পন্ন করার প্রয়োজন নেই।

  2. Firebase কনসোলের Dynamic Links পৃষ্ঠাটি খুলুন।

  3. আপনি যদি আগে Dynamic Links ব্যবহার না করে থাকেন, তাহলে 'Get Started'-এ ক্লিক করুন। অন্যথায়, ড্রপ-ডাউন মেনু থেকে 'Add URL prefix'-এ ক্লিক করুন।

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

  4. শুধুমাত্র iOS এর জন্য : আপনার Xcode প্রোজেক্টের Info.plist ফাইলে, FirebaseDynamicLinksCustomDomains নামে একটি কী (key) তৈরি করুন এবং এটিকে আপনার অ্যাপের Dynamic Links URL প্রিফিক্সগুলিতে সেট করুন। উদাহরণস্বরূপ:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/link</string>
      <string>https://example.com/promos</string>
    </array>
    

ম্যানুয়ালি একটি কাস্টম ডোমেইন সেট আপ করুন

কিছু পরিস্থিতিতে, যেমন যখন আপনার Dynamic Links জন্য আগে থেকেই একটি কাস্টম ডোমেইন সেট আপ করা থাকে এবং আপনি আরেকটি ডোমেইন যোগ করতে চান, অথবা যখন আপনি এমন একটি ডোমেইন যোগ করছেন যা ইতিমধ্যেই কোনো Hosting সাইটের সাথে সংযুক্ত, তখন আপনাকে আপনার কাস্টম ডোমেইনটি ম্যানুয়ালি সেট আপ করতে হবে।

তা করতে:

  1. আপনার ডোমেইনটি Firebase Hosting সাথে সংযুক্ত করুন, যদি আগে থেকে তা না করে থাকেন।

    Firebase Hosting সাথে আপনার ডোমেইন সেট আপ করার জন্য আপনার স্থানীয় প্রজেক্ট ডিরেক্টরিতে firebase.json কনফিগারেশন ফাইলটি তৈরি করতে হবে।

  2. Firebase CLI-এর সর্বশেষ সংস্করণে (v6.5.0 বা তার পরবর্তী) আপডেট করুন

  3. আপনার প্রোজেক্টের firebase.json ফাইলে Dynamic Links জন্য আপনার Hosting সাইটটি কনফিগার করুন। যদি আপনার প্রোজেক্টে একাধিক সাইট থাকে, তবে আপনি যে ডোমেইনটি ব্যবহার করতে চান, সেটির সাথে সংযুক্ত সাইটটি কনফিগার করা নিশ্চিত করুন।

    • appAssociation কে AUTO তে সেট করুন। এই সেটিং-এর মাধ্যমে, অনুরোধ করা হলে Hosting স্বয়ংক্রিয়ভাবে assetlinks.json এবং apple-app-site-association ফাইলগুলো তৈরি করে।

    • Dynamic Links জন্য আপনি যে পাথ প্রিফিক্সগুলো ব্যবহার করতে চান, তা নির্দিষ্ট করতে রিরাইট রুল সেট করুন এবং dynamicLinks কে ` true সেট করুন। এই পাথগুলোতে করা অনুরোধগুলো Dynamic Links মাধ্যমে প্রক্সি করা হয়।

      যেসব নিয়ম পাথকে ইউআরএল-এ পরিবর্তন করে, তার থেকে ভিন্নভাবে, Dynamic Link রিরাইট নিয়মে রেগুলার এক্সপ্রেশন থাকতে পারে না।

      আপনার সাইটের জন্য একাধিক রিরাইট রুল থাকলে, মনে রাখবেন যে Hosting অনুরোধের সাথে মিলে যাওয়া প্রথম রিরাইট রুলটিই কার্যকর করে।

    উদাহরণস্বরূপ:

    "hosting": {
      // ...
      "appAssociation": "AUTO",
      "rewrites": [
        {
          "source": "/promos/**",
          "dynamicLinks": true
        },
        {
          "source": "/links/share/**",
          "dynamicLinks": true
        }
      ]
    }
    

    উপরোক্ত কনফিগারেশনের মাধ্যমে, আপনি নিম্নলিখিত উদাহরণগুলির মতো URL প্রিফিক্স সহ Dynamic Links তৈরি করতে পারেন:

    https://your-domain/promos/link-suffix
    https://your-domain/links/share/link-suffix
    

    আপনি যদি এই ডোমেইনটি শুধুমাত্র Dynamic Links জন্য ব্যবহার করেন, তাহলে কোনো পাথ প্রিফিক্স ছাড়া Dynamic Links তৈরি করতে /** সোর্স পাথ ব্যবহার করতে পারেন:

    {
      "source": "/**",
      "dynamicLinks": true
    }
    

    উপরের নিয়মটি ব্যবহার করে আপনি নিচের উদাহরণের মতো Dynamic Links তৈরি করতে পারেন:

    https://your-domain/link-suffix

  4. আপনার Hosting কনফিগারেশনের পরিবর্তনগুলো প্রয়োগ করুন:

    firebase deploy --only hosting

    (ঐচ্ছিক) আপনি Hosting REST API ব্যবহার করে ডেপ্লয় করা firebase.json ফাইলের বিষয়বস্তু যাচাই করতে পারেন।

  5. শুধুমাত্র iOS এর জন্য : আপনার Xcode প্রোজেক্টের Info.plist ফাইলে, FirebaseDynamicLinksCustomDomains নামে একটি কী (key) তৈরি করুন এবং এটিকে আপনার অ্যাপের Dynamic Links URL প্রিফিক্সগুলিতে সেট করুন। উদাহরণস্বরূপ:

    <key>FirebaseDynamicLinksCustomDomains</key>
    <array>
      <string>https://example.com/promos</string>
      <string>https://example.com/links/share</string>
    </array>
    

Dynamic Links এবং Hosting এর অগ্রাধিকার ক্রম

Dynamic Links ক্ষেত্রে, হোস্টিংয়ের অগ্রাধিকার ক্রম সম্পর্কে বিশেষভাবে সচেতন থাকুন।

  • নিশ্চিত করুন যে আপনার Dynamic Links ইউআরএল প্রিফিক্স উচ্চ অগ্রাধিকারের হোস্টিং কনফিগারেশনের সাথে সাংঘর্ষিক না হয় (উদাহরণস্বরূপ, হোস্টেড স্ট্যাটিক কন্টেন্ট সর্বদা রিরাইটের চেয়ে অগ্রাধিকার পায়)।
  • rewrites অ্যাট্রিবিউটের মধ্যে, Hosting রেসপন্সটি প্রথম source গ্লোব দ্বারা নির্দিষ্ট নিয়মটি মেনে চলবে, যেটি অনুরোধ করা পাথটিকে ধারণ করে

উদাহরণস্বরূপ, যদি আপনি your-domain / source-path / link-suffix এর জন্য একটি Dynamic Link সেট আপ করেন, কিন্তু আপনার your-domain / source-path /index.html এ স্ট্যাটিক কন্টেন্টও থাকে, তাহলে স্ট্যাটিক কন্টেন্টটি অগ্রাধিকার পাবে। একজন ব্যবহারকারী Dynamic Link পরিবর্তে index.html দেখতে পাবেন। একইভাবে, যদি আপনার your-domain / source-path / link-suffix এ স্ট্যাটিক কন্টেন্ট থাকে, তাহলে ব্যবহারকারী Dynamic Link পরিবর্তে সেই স্ট্যাটিক কন্টেন্টটিই দেখতে পাবেন।

আপনি যদি Dynamic Links এবং Hosting উভয়ের জন্য একই ব্র্যান্ডিং ব্যবহার করতে চান, তাহলে আপনার Dynamic Links ইউআরএল প্রিফিক্সের জন্য নিম্নলিখিত বিকল্পগুলির মধ্যে একটি বিবেচনা করতে পারেন:

  • আপনার source অ্যাট্রিবিউটকে একটি পাথ প্রিফিক্সের সাথে মেলানোর জন্য সেট করুন। উদাহরণস্বরূপ, যদি আপনার example.com এর মতো একটি কাস্টম ডোমেইন থাকে, তাহলে আপনার রিরাইট রুলটি হতে পারে:

    // Domain is example.com
    "rewrites": [ {
      "source": "/links/**",  // Dynamic Links start with "https://example.com/links/"
      "dynamicLinks": true
    } ]
    
  • Dynamic Links জন্য একটি সাবডোমেইন সেট আপ করুন, তারপর আপনার source অ্যাট্রিবিউটটি সেই সাবডোমেইনের সাথে মিলিয়ে সেট করুন। উদাহরণস্বরূপ, যদি আপনার links.example.com এর মতো একটি সাবডোমেইন থাকে, তাহলে আপনার রিরাইট রুলটি হতে পারে:

    // Domain is links.example.com
    "rewrites": [ {
      "source": "/**",  // Dynamic Links start with "https://links.example.com/"
      "dynamicLinks": true
    } ]