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

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

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

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

একটি কাস্টম ডোমেন সেট আপ করতে আপনার ফায়ারবেস প্রকল্পে সম্পাদক বা মালিকের অনুমতি প্রয়োজন৷

ডায়নামিক লিঙ্কের জন্য আপনার ওয়েব ডোমেন ব্যবহার করা

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

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

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

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

কিন্তু নিম্নলিখিত দীর্ঘ-ফর্মের ডায়নামিক লিঙ্কগুলি (এবং সমতুল্য সংক্ষিপ্ত লিঙ্কগুলি) কাজ করতে পারে, কারণ 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 হোস্টিং সেট আপ না করে থাকেন, তাহলে Firebase কনসোলের হোস্টিং পৃষ্ঠাটি খুলুন, Get Started এ ক্লিক করুন এবং সেটআপ নির্দেশাবলীর মাধ্যমে ক্লিক করুন৷ আপনাকে এই সময়ে নির্দেশিত পদক্ষেপগুলি সম্পূর্ণ করতে হবে না।

  2. Firebase কনসোলের ডায়নামিক লিঙ্ক পৃষ্ঠা খুলুন।

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

    তারপর, সেটআপ উইজার্ডটি সম্পূর্ণ করুন, প্রম্পট করার সময় আপনি যে ডোমেন এবং পাথ উপসর্গটি ব্যবহার করতে চান তা নির্দিষ্ট করে।

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

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

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

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

তাই না:

  1. আপনার ডোমেনটিকে Firebase হোস্টিং-এর সাথে সংযুক্ত করুন যদি আপনি ইতিমধ্যে এটি না করে থাকেন৷

    Firebase হোস্টিংয়ের সাথে আপনার ডোমেন সেট আপ করার মধ্যে আপনার স্থানীয় প্রকল্প ডিরেক্টরিতে কনফিগারেশন ফাইল firebase.json তৈরি করা অন্তর্ভুক্ত।

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

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

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

    • ডায়নামিক লিঙ্কের জন্য আপনি যে পাথ উপসর্গগুলি ব্যবহার করতে চান তা নির্দিষ্ট করুন dynamicLinks true সেট করে পুনর্লিখনের নিয়ম সেট করে। এই পথগুলির অনুরোধগুলি ডায়নামিক লিঙ্কগুলিতে প্রক্সি করা হয়৷

      ইউআরএল-এর পাথ পুনর্লিখনের নিয়মগুলির বিপরীতে, ডায়নামিক লিঙ্ক পুনর্লিখনের নিয়মে রেগুলার এক্সপ্রেশন থাকতে পারে না।

      যদি আপনার সাইটের জন্য একাধিক পুনর্লিখনের নিয়ম থাকে, তাহলে সচেতন থাকুন যে হোস্টিং অনুরোধের সাথে মেলে এমন প্রথম পুনর্লিখনের নিয়মটি কার্যকর করে।

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

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

    উপরের কনফিগারেশনের সাথে, আপনি নিম্নলিখিত উদাহরণগুলির মতো ইউআরএল উপসর্গ সহ ডায়নামিক লিঙ্ক তৈরি করতে পারেন:

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

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

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

    উপরের নিয়মের সাহায্যে, আপনি নিম্নলিখিত উদাহরণের মত ডায়নামিক লিঙ্ক তৈরি করতে পারেন:

    https://your-domain/link-suffix

  4. আপনার হোস্টিং কনফিগারেশন পরিবর্তনগুলি স্থাপন করুন:

    firebase deploy --only hosting

    (ঐচ্ছিক) আপনি হোস্টিং REST API ব্যবহার করে নিয়োজিত firebase.json বিষয়বস্তু পরীক্ষা করতে পারেন।

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

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

ডায়নামিক লিঙ্ক এবং হোস্টিংয়ের জন্য অগ্রাধিকার অর্ডার

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

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

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

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

  • একটি পথ উপসর্গ মেলে আপনার source বৈশিষ্ট্য সেট করুন. উদাহরণস্বরূপ, আপনার যদি example.com এর একটি কাস্টম ডোমেন থাকে, তাহলে আপনার পুনর্লিখনের নিয়ম হতে পারে:

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

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