Google 致力于为黑人社区推动种族平等。查看具体举措

ইমেল অ্যাকশন লিঙ্ক তৈরি করা

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

ফায়ারবেস অ্যাডমিন এসডিকে ব্যবহারকারীদের লিংকযুক্ত ইমেলগুলি পাসওয়ার্ড পুনরায় সেট করতে, ইমেল ঠিকানা যাচাইকরণ এবং ইমেল ভিত্তিক সাইন-ইন প্রেরণের ক্ষমতা সরবরাহ করে। এই ইমেলগুলি গুগল প্রেরণ করেছে এবং সীমিত নিজস্বকরণযোগ্যতা রয়েছে।

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

এটি নিম্নলিখিত সুবিধার সাথে আসে:

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

অ্যাকশনকোডসেটেটিংগুলি শুরু করুন

আপনি কোনও ইমেল অ্যাকশন লিঙ্ক তৈরি করার আগে আপনাকে ActionCodeSettings উদাহরণটি শুরু করতে হবে need

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

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

ActionCodeSettings উদাহরণটি সূচনা করতে, নিম্নলিখিত ডেটা সরবরাহ করুন:

প্যারামিটার প্রকার বর্ণনা
url স্ট্রিং

লিঙ্কটি সেট করুন (রাজ্য / চালিয়ে যাওয়া ইউআরএল) যার বিভিন্ন প্রসঙ্গে বিভিন্ন অর্থ রয়েছে:

  • লিঙ্কটি ওয়েব অ্যাকশন উইজেটগুলিতে পরিচালনা করা হয়, এটি continueUrl যাওয়া continueUrl ক্যোয়ারী প্যারামিটারের গভীর লিঙ্ক।
  • লিঙ্কটি সরাসরি অ্যাপ্লিকেশনে হ্যান্ডেল করা হয়, এটি ডায়নামিক লিঙ্কের গভীর লিঙ্কে continueUrl যাওয়া continueUrl ক্যোয়ারী প্যারামিটার।
iOS ({বান্ডিলআইড: স্ট্রিং} | অপরিবর্তিত) আইওএস বান্ডেল আইডি সেট করে। এটি কোনও আইওএস অ্যাপ্লিকেশনটিতে লিঙ্কটি খোলার চেষ্টা করবে যদি এটি ইনস্টল করা থাকে। আইওএস অ্যাপ্লিকেশনটি কনসোলে নিবন্ধিত হওয়া দরকার।
android ({প্যাকেজনাম: স্ট্রিং, ইনস্টল অ্যাপ: বুলিয়ান | অপরিজ্ঞাত, ন্যূনতম সংস্করণ: স্ট্রিং | অপরিবর্তিত} | অপরিবর্তিত) অ্যান্ড্রয়েড প্যাকেজের নাম সেট করে। এটি অ্যান্ড্রয়েড অ্যাপে লিঙ্কটি ইনস্টল করা থাকলে এটি খোলার চেষ্টা করবে। তাহলে installApp পাস করা হয়েছে, এটা ডিভাইসটি সমর্থন করে এবং একটি অ্যাপ্লিকেশান ইতিমধ্যেই ইনস্টল করা নেই যদি Android অ্যাপ্লিকেশান ইনস্টল করা হবে কিনা তা নির্দিষ্ট করে। যদি এই ক্ষেত্রটি কোনও packageName ছাড়াই সরবরাহ করা হয় তবে এই ক্ষেত্রের সাথে একত্রে packageName সরবরাহ করতে হবে তা বোঝাতে একটি ত্রুটি নিক্ষেপ করা হয়। যদি minimumVersion সংস্করণ নির্দিষ্ট করা থাকে এবং অ্যাপটির একটি পুরানো সংস্করণ ইনস্টল করা থাকে তবে অ্যাপটিকে আপগ্রেড করতে ব্যবহারকারীকে প্লে স্টোরে নিয়ে যাওয়া হয়। অ্যান্ড্রয়েড অ্যাপ্লিকেশনটি কনসোলে নিবন্ধিত হওয়া দরকার।
handleCodeInApp (বুলিয়ান | অপরিবর্তিত) ইমেল অ্যাকশন লিঙ্কটি কোনও মোবাইল অ্যাপে খোলা হবে বা প্রথমে একটি ওয়েব লিঙ্ক। ডিফল্ট মিথ্যা। সত্য হিসাবে সেট করা থাকলে, অ্যাকশন কোড লিঙ্কটি ইউনিভার্সাল লিঙ্ক বা অ্যান্ড্রয়েড অ্যাপ লিঙ্ক হিসাবে প্রেরণ করা হবে এবং ইনস্টল করা থাকলে অ্যাপ্লিকেশন দ্বারা খোলার হবে। মিথ্যা ক্ষেত্রে, কোডটি প্রথমে ওয়েব উইজেটে প্রেরণ করা হবে এবং তারপরে চালিয়ে গেলে ইনস্টল করা থাকলে অ্যাপটিতে পুনর্নির্দেশ করা হবে।
dynamicLinkDomain (স্ট্রিং | অপরিবর্তিত) বর্তমান লিঙ্কটি যদি ফায়ারবেস ডায়নামিক লিঙ্কগুলি ব্যবহার করে খোলা হয় তবে ডায়নামিক লিঙ্ক ডোমেন (বা সাবডোমেন) সেট করে। যেহেতু একাধিক গতিশীল লিংক ডোমেনগুলি প্রতি প্রকল্প হিসাবে কনফিগার করা যায়, এই ক্ষেত্রটি স্পষ্টভাবে একটি চয়ন করার ক্ষমতা সরবরাহ করে। যদি কোনও সরবরাহ না করা হয় তবে সবচেয়ে পুরানো ডোমেনটি ডিফল্টরূপে ব্যবহৃত হয়।

নীচের উদাহরণটি ইমেল যাচাইকরণ লিঙ্কটি কীভাবে প্রেরণ করবেন তা একটি ফায়ারবেস ডায়নামিক লিঙ্ক (আইওএস অ্যাপ্লিকেশন com.example.ios বা অ্যান্ড্রয়েড অ্যাপ com.example.android যেখানে অ্যাপ্লিকেশনটি ইতিমধ্যে ইনস্টল না থাকলে ইনস্টল হবে সেটিকে প্রথমে কোনও মোবাইল অ্যাপে খুলবে কীভাবে প্রেরণ করা যায় তা ব্যাখ্যা করে com.example.android সর্বনিম্ন সংস্করণ 12)। গভীর লিঙ্কটিতে চলমান URL পেডলোড https://www.example.com/checkout?cartId=1234 । ব্যবহৃত ডায়নামিক লিঙ্ক ডোমেন হ'ল coolapp.page.link , যা অবশ্যই coolapp.page.link ডায়নামিক লিঙ্কগুলির সাথে ব্যবহারের জন্য কনফিগার করা উচিত।

নোড.জেএস

const actionCodeSettings = {
  // URL you want to redirect back to. The domain (www.example.com) for
  // this URL must be whitelisted in the Firebase Console.
  url: 'https://www.example.com/checkout?cartId=1234',
  // This must be true for email link sign-in.
  handleCodeInApp: true,
  iOS: {
    bundleId: 'com.example.ios',
  },
  android: {
    packageName: 'com.example.android',
    installApp: true,
    minimumVersion: '12',
  },
  // FDL custom domain.
  dynamicLinkDomain: 'coolapp.page.link',
};

জাভা

ActionCodeSettings actionCodeSettings = ActionCodeSettings.builder()
    .setUrl("https://www.example.com/checkout?cartId=1234")
    .setHandleCodeInApp(true)
    .setIosBundleId("com.example.ios")
    .setAndroidPackageName("com.example.android")
    .setAndroidInstallApp(true)
    .setAndroidMinimumVersion("12")
    .setDynamicLinkDomain("coolapp.page.link")
    .build();

পাইথন

action_code_settings = auth.ActionCodeSettings(
    url='https://www.example.com/checkout?cartId=1234',
    handle_code_in_app=True,
    ios_bundle_id='com.example.ios',
    android_package_name='com.example.android',
    android_install_app=True,
    android_minimum_version='12',
    dynamic_link_domain='coolapp.page.link',
)

যাওয়া

actionCodeSettings := &auth.ActionCodeSettings{
	URL:                   "https://www.example.com/checkout?cartId=1234",
	HandleCodeInApp:       true,
	IOSBundleID:           "com.example.ios",
	AndroidPackageName:    "com.example.android",
	AndroidInstallApp:     true,
	AndroidMinimumVersion: "12",
	DynamicLinkDomain:     "coolapp.page.link",
}

সি #

var actionCodeSettings = new ActionCodeSettings()
{
    Url = "https://www.example.com/checkout?cartId=1234",
    HandleCodeInApp = true,
    IosBundleId = "com.example.ios",
    AndroidPackageName = "com.example.android",
    AndroidInstallApp = true,
    AndroidMinimumVersion = "12",
    DynamicLinkDomain = "coolapp.page.link",
};

আরও জানতে, ইমেল পদক্ষেপে পাসিং স্টেট দেখুন।

পাসওয়ার্ড পুনরায় সেট করার লিঙ্কটি তৈরি করতে, বিদ্যমান ব্যবহারকারীর ইমেল এবং একটি ActionCodeSettings সামগ্রী সরবরাহ করুন। ক্রিয়াকলাপটি ইমেল ক্রিয়া লিঙ্কের সাথে সমাধান করবে। ব্যবহৃত ইমেলটি অবশ্যই বিদ্যমান ব্যবহারকারীর অন্তর্ভুক্ত।

নোড.জেএস

// Admin SDK API to generate the password reset link.
const userEmail = 'user@example.com';
admin
  .auth()
  .generatePasswordResetLink(userEmail, actionCodeSettings)
  .then((link) => {
    // Construct password reset email template, embed the link and send
    // using custom SMTP server.
    return sendCustomPasswordResetEmail(userEmail, displayName, link);
  })
  .catch((error) => {
    // Some error occurred.
  });

জাভা

String email = "user@example.com";
try {
  String link = FirebaseAuth.getInstance().generatePasswordResetLink(
      email, actionCodeSettings);
  // Construct email verification template, embed the link and send
  // using custom SMTP server.
  sendCustomEmail(email, displayName, link);
} catch (FirebaseAuthException e) {
  System.out.println("Error generating email link: " + e.getMessage());
}

পাইথন

email = 'user@example.com'
link = auth.generate_password_reset_link(email, action_code_settings)
# Construct password reset email from a template embedding the link, and send
# using a custom SMTP server.
send_custom_email(email, link)

যাওয়া

email := "user@example.com"
link, err := client.PasswordResetLinkWithSettings(ctx, email, actionCodeSettings)
if err != nil {
	log.Fatalf("error generating email link: %v\n", err)
}

// Construct password reset template, embed the link and send
// using custom SMTP server.
sendCustomEmail(email, displayName, link)

সি #

var email = "user@example.com";
var link = await FirebaseAuth.DefaultInstance.GeneratePasswordResetLinkAsync(
    email, actionCodeSettings);
// Construct email verification template, embed the link and send
// using custom SMTP server.
SendCustomEmail(email, displayName, link);

লিঙ্কটি তৈরি হওয়ার পরে, এটি কাস্টম পাসওয়ার্ড রিসেট ইমেলের মধ্যে sertedোকানো যেতে পারে এবং তারপরে একটি কাস্টম এসএমটিপি সার্ভার ব্যবহার করে সংশ্লিষ্ট ব্যবহারকারীকে ইমেল করা যেতে পারে।

আপনি যদি ডিফল্ট পাসওয়ার্ড পুনরায় সেট করার ল্যান্ডিং পৃষ্ঠা ব্যবহার না করে এবং নিজস্ব কাস্টম হ্যান্ডলার তৈরি না করে থাকেন তবে কাস্টম ইমেল অ্যাকশন হ্যান্ডলারগুলি তৈরি দেখুন।

কোনও ইমেল যাচাইকরণ লিঙ্কটি তৈরি করতে, বিদ্যমান ব্যবহারকারীর যাচাই করা ইমেল এবং একটি ActionCodeSettings অবজেক্ট সরবরাহ করুন। ক্রিয়াকলাপটি ইমেল ক্রিয়া লিঙ্কের সাথে সমাধান করবে। ব্যবহৃত ইমেলটি অবশ্যই বিদ্যমান ব্যবহারকারীর অন্তর্ভুক্ত।

নোড.জেএস

// Admin SDK API to generate the email verification link.
const useremail = 'user@example.com';
admin
  .auth()
  .generateEmailVerificationLink(useremail, actionCodeSettings)
  .then((link) => {
    // Construct email verification template, embed the link and send
    // using custom SMTP server.
    return sendCustomVerificationEmail(useremail, displayName, link);
  })
  .catch((error) => {
    // Some error occurred.
  });

জাভা

String email = "user@example.com";
try {
  String link = FirebaseAuth.getInstance().generateEmailVerificationLink(
      email, actionCodeSettings);
  // Construct email verification template, embed the link and send
  // using custom SMTP server.
  sendCustomEmail(email, displayName, link);
} catch (FirebaseAuthException e) {
  System.out.println("Error generating email link: " + e.getMessage());
}

পাইথন

email = 'user@example.com'
link = auth.generate_email_verification_link(email, action_code_settings)
# Construct email from a template embedding the link, and send
# using a custom SMTP server.
send_custom_email(email, link)

যাওয়া

email := "user@example.com"
link, err := client.EmailVerificationLinkWithSettings(ctx, email, actionCodeSettings)
if err != nil {
	log.Fatalf("error generating email link: %v\n", err)
}

// Construct email verification template, embed the link and send
// using custom SMTP server.
sendCustomEmail(email, displayName, link)

সি #

0 বি 44990320

লিঙ্কটি তৈরি হওয়ার পরে, এটি কাস্টম যাচাইকরণ ইমেলের মধ্যে sertedোকানো যেতে পারে এবং তারপরে একটি কাস্টম এসএমটিপি সার্ভার ব্যবহার করে সংশ্লিষ্ট ব্যবহারকারীর কাছে ইমেল করা যেতে পারে।

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

আপনি ইমেল লিঙ্ক সাইন-ইন ব্যবহারকারীদের প্রমাণীকরণ করার আগে, আপনার ফায়ারবেস প্রকল্পের জন্য আপনাকে ইমেল লিঙ্ক সাইন-ইন সক্ষম করতে হবে।

একটি সাইন-ইন লিঙ্ক তৈরি করতে, ব্যবহারকারীর ইমেল এবং একটি ActionCodeSettings অবজেক্ট সরবরাহ করুন। সাইন-ইন সমাপ্তির জন্য লিঙ্কটি ক্লিক করার পরে ব্যবহারকারীকে কোথায় ফিরিয়ে আনতে হবে সে সম্পর্কিত তথ্য সরবরাহ করার জন্য এই ক্ষেত্রে ActionCodeSettings অবজেক্টটির প্রয়োজন। ক্রিয়াকলাপটি ইমেল ক্রিয়া লিঙ্কের সাথে সমাধান করবে।

পাসওয়ার্ড পুনরায় সেট করা এবং ইমেল যাচাইকরণের বিপরীতে, ব্যবহৃত ইমেলটি কোনও বিদ্যমান ব্যবহারকারীর অন্তর্ভুক্ত নয়, কারণ এই ক্রিয়াকলাপটি ইমেল লিঙ্কের মাধ্যমে আপনার অ্যাপে নতুন ব্যবহারকারীদের সাইন আপ করতে ব্যবহার করা যেতে পারে।

নোড.জেএস

// Admin SDK API to generate the sign in with email link.
const usremail = 'user@example.com';
admin
  .auth()
  .generateSignInWithEmailLink(usremail, actionCodeSettings)
  .then((link) => {
    // Construct sign-in with email link template, embed the link and
    // send using custom SMTP server.
    return sendSignInEmail(usremail, displayName, link);
  })
  .catch((error) => {
    // Some error occurred.
  });

জাভা

String email = "user@example.com";
try {
  String link = FirebaseAuth.getInstance().generateSignInWithEmailLink(
      email, actionCodeSettings);
  // Construct email verification template, embed the link and send
  // using custom SMTP server.
  sendCustomEmail(email, displayName, link);
} catch (FirebaseAuthException e) {
  System.out.println("Error generating email link: " + e.getMessage());
}

পাইথন

email = 'user@example.com'
link = auth.generate_sign_in_with_email_link(email, action_code_settings)
# Construct email from a template embedding the link, and send
# using a custom SMTP server.
send_custom_email(email, link)

যাওয়া

email := "user@example.com"
link, err := client.EmailSignInLink(ctx, email, actionCodeSettings)
if err != nil {
	log.Fatalf("error generating email link: %v\n", err)
}

// Construct sign-in with email link template, embed the link and send
// using custom SMTP server.
sendCustomEmail(email, displayName, link)

সি #

var email = "user@example.com";
var link = await FirebaseAuth.DefaultInstance.GenerateSignInWithEmailLinkAsync(
    email, actionCodeSettings);
// Construct email verification template, embed the link and send
// using custom SMTP server.
SendCustomEmail(email, displayName, link);

লিঙ্কটি তৈরি হওয়ার পরে, এটি কাস্টম সাইন-ইন ইমেলের মধ্যে sertedোকানো যেতে পারে এবং তারপরে একটি কাস্টম এসএমটিপি সার্ভার ব্যবহার করে সংশ্লিষ্ট ব্যবহারকারীর কাছে ইমেল করা যেতে পারে।

ইমেল লিঙ্কগুলি ব্যবহার করে ফায়ারবেস ব্যবহারকারীদের অনুমোদনের বিষয়ে আরও জানুন। ব্যবহারকারী লিঙ্কটি ক্লিক করার পরে এবং অ্যাপ্লিকেশনটিতে পুনঃনির্দেশিত হওয়ার পরে কীভাবে সাইন-ইন সম্পূর্ণ করবেন সে সম্পর্কিত তথ্য সরবরাহ করতে সহায়তা করবে।