অ্যাপ এবং ওয়েবসাইট জুড়ে স্বয়ংক্রিয় সাইন-ইন সক্ষম করুন

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

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

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

পূর্বশর্ত

আপনার ওয়েবসাইটের সাইন-ইন ডোমেন অবশ্যই HTTPS-এর মাধ্যমে উপলব্ধ হতে হবে।

আপনার ওয়েবসাইটের সাথে আপনার অ্যাপ যুক্ত করুন

  1. একটি ডিজিটাল সম্পদ লিঙ্ক JSON ফাইল তৈরি করুন।

    উদাহরণস্বরূপ, https://signin.example.com ওয়েবসাইট এবং com.example প্যাকেজ নামের একটি অ্যান্ড্রয়েড অ্যাপ সাইন-ইন শংসাপত্র শেয়ার করতে পারে তা ঘোষণা করতে, নিম্নলিখিত বিষয়বস্তু সহ assetlinks.json নামে একটি ফাইল তৈরি করুন:

    [{
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "web",
        "site": "https://signin.example.com"
      }
     },
     {
      "relation": ["delegate_permission/common.get_login_creds"],
      "target": {
        "namespace": "android_app",
        "package_name": "com.example",
        "sha256_cert_fingerprints": [
          "F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
        ]
      }
     }]
    

    relation ফিল্ড হল এক বা একাধিক স্ট্রিংয়ের একটি অ্যারে যা ঘোষণা করা সম্পর্ক বর্ণনা করে। অ্যাপ্লিকেশান এবং সাইটগুলি সাইন-ইন শংসাপত্রগুলি ভাগ করে তা ঘোষণা করতে, delegate_permission/common.get_login_creds স্ট্রিংটি নির্দিষ্ট করুন।

    target ক্ষেত্র হল একটি বস্তু যা ঘোষণার প্রযোজ্য সম্পদ নির্দিষ্ট করে। নিম্নলিখিত ক্ষেত্রগুলি একটি ওয়েবসাইট সনাক্ত করে:

    namespace web
    site

    ওয়েবসাইটের URL, https:// domain [: optional_port ] ; উদাহরণস্বরূপ, https://www.example.com

    domain সম্পূর্ণরূপে-যোগ্য হতে হবে। এবং HTTPS-এর জন্য পোর্ট 443 ব্যবহার করার সময় optional_port বাদ দিতে হবে।

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

    সাবডোমেনগুলিকে মেলে বলে মনে করা হয় না: অর্থাৎ, আপনি যদি domain www.example.com হিসাবে উল্লেখ করেন, তাহলে www.counter.example.com ডোমেন আপনার অ্যাপের সাথে যুক্ত নয়৷

    নিম্নলিখিত ক্ষেত্রগুলি একটি Android অ্যাপ সনাক্ত করে:

    namespace android_app
    package_name অ্যাপের ম্যানিফেস্টে ঘোষিত প্যাকেজের নাম। উদাহরণস্বরূপ, com.example.android
    sha256_cert_fingerprints আপনার অ্যাপের স্বাক্ষর শংসাপত্রের SHA256 আঙ্গুলের ছাপ। আঙ্গুলের ছাপ তৈরি করতে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:
    $ keytool -list -v -keystore my-release-key.keystore

    বিস্তারিত জানার জন্য ডিজিটাল সম্পদ লিঙ্ক রেফারেন্স দেখুন.

  2. সাইন-ইন ডোমেনে নিম্নলিখিত অবস্থানে ডিজিটাল সম্পদ লিঙ্ক JSON ফাইল হোস্ট করুন:

    https://domain[:optional_port]/.well-known/assetlinks.json

    উদাহরণস্বরূপ, যদি আপনার সাইন-ইন ডোমেন হয় signin.example.com , JSON ফাইলটি https://signin.example.com/.well-known/assetlinks.json এ হোস্ট করুন।

    ডিজিটাল সম্পদ লিঙ্ক ফাইলের জন্য MIME প্রকার JSON হতে হবে। নিশ্চিত করুন যে সার্ভার একটি Content-Type: application/json হেডার প্রতিক্রিয়ায়।

  3. নিশ্চিত করুন যে আপনার হোস্ট Google কে আপনার ডিজিটাল সম্পদ লিঙ্ক ফাইল পুনরুদ্ধার করার অনুমতি দেয়। আপনার যদি একটি robots.txt ফাইল থাকে, তাহলে এটি অবশ্যই Googlebot এজেন্টকে /.well-known/assetlinks.json পুনরুদ্ধার করার অনুমতি দেবে। বেশিরভাগ সাইটই যেকোন স্বয়ংক্রিয় এজেন্টকে /.well-known/ পাথে ফাইল পুনরুদ্ধার করার অনুমতি দিতে পারে যাতে অন্যান্য পরিষেবাগুলি সেই ফাইলগুলির মেটাডেটা অ্যাক্সেস করতে পারে:

    User-agent: *
    Allow: /.well-known/
    

  4. অ্যান্ড্রয়েড অ্যাপে অ্যাসোসিয়েশন ঘোষণা করুন।

    1. <application> এর অধীনে ম্যানিফেস্ট ফাইলে নিম্নলিখিত লাইন যোগ করুন:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. strings.xml ফাইলে একটি asset_statements স্ট্রিং রিসোর্স যোগ করুন। asset_statements স্ট্রিং হল একটি JSON অবজেক্ট যা assetlinks.json ফাইলগুলিকে লোড করার জন্য নির্দিষ্ট করে৷ স্ট্রিং-এ আপনি যে কোনো অ্যাপোস্ট্রফিস এবং উদ্ধৃতি চিহ্ন ব্যবহার করেন তা অবশ্যই এড়িয়ে যাবেন। উদাহরণ স্বরূপ:

        <string name="asset_statements" translatable="false">
        [{
          \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
        }]
        </string>
      
        > GET /.well-known/assetlinks.json HTTP/1.1
        > User-Agent: curl/7.35.0
        > Host: signin.example.com
      
        < HTTP/1.1 200 OK
        < Content-Type: application/json
      
  5. অ্যাপটি গুগল প্লে স্টোরে প্রকাশ করুন। অ্যাসোসিয়েশনগুলিকে তুলে নেওয়ার জন্য এটিকে পাবলিক চ্যানেলে প্রকাশ করা দরকার।

  6. (ঐচ্ছিক) আপনি যে প্রক্রিয়ার মধ্য দিয়ে গেছেন তা নির্দেশ করার জন্য পাসওয়ার্ডের জন্য স্মার্ট লক ফর্মটি পূরণ করুন এবং জমা দিন। Google পর্যায়ক্রমে যাচাই করে যে ফর্মের মাধ্যমে জমা দেওয়া অ্যাফিলিয়েশনগুলি আসলে কাজ করে কিনা এবং সমস্যার ক্ষেত্রে আপনার সাথে যোগাযোগ করতে পারে।

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

উদাহরণ: একটি ওয়েবসাইটের সাথে একাধিক অ্যাপ সংযুক্ত করুন

আপনি ডিজিটাল সম্পদ লিঙ্ক ফাইলে প্রতিটি অ্যাপ নির্দিষ্ট করে একটি ওয়েবসাইটের সাথে একাধিক অ্যাপ যুক্ত করতে পারেন। উদাহরণস্বরূপ, https://signin.example.com/ এ সাইটের সাথে com.example এবং com.example.pro অ্যাপগুলিকে সংযুক্ত করতে, https://signin.example.com/.well-known/assetlinks.json এ হোস্ট করা JSON ফাইলে উভয় অ্যাপ উল্লেখ করুন https://signin.example.com/.well-known/assetlinks.json :

[{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://signin.example.com"
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.pro",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
}]

তারপরে, উভয় অ্যাপে অ্যাসোসিয়েশন ঘোষণা করুন:

  1. <application> এর অধীনে ম্যানিফেস্ট ফাইলে নিম্নলিখিত লাইন যোগ করুন:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. strings.xml ফাইলে নিম্নলিখিত স্ট্রিং রিসোর্স যোগ করুন:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
    }]
    </string>
    

উদাহরণ: একাধিক ওয়েবসাইটের সাথে অ্যাসোসিয়েট অ্যাপ

আপনি ডিজিটাল সম্পদ লিঙ্ক ফাইলে প্রতিটি ওয়েবসাইট নির্দিষ্ট করে এবং প্রতিটি ওয়েবসাইটে ফাইল হোস্ট করে একাধিক ওয়েবসাইটের সাথে অ্যাপসকে সংযুক্ত করতে পারেন। উদাহরণ স্বরূপ, https://signin.example.com/ এবং https://m.example.com/ এ সাইটের সাথে com.example এবং com.example.pro অ্যাপ্লিকেশানগুলি সংযুক্ত করতে, উভয় অ্যাপ এবং উভয় সাইটই উল্লেখ করুন JSON ফাইলটি https://signin.example.com/.well-known/assetlinks.json এ হোস্ট করা হয়েছে:

[{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://signin.example.com"
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "web",
    "site": "https://m.example.com"
  },
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
},{
  "relation": ["delegate_permission/common.get_login_creds"],
  "target": {
    "namespace": "android_app",
    "package_name": "com.example.pro",
    "sha256_cert_fingerprints": [
"F2:52:4D:82:E7:1E:68:AF:8C:BC:EA:B0:A2:83:C8:FE:82:51:CF:63:09:6A:4C:64:AE:F4:43:27:20:40:D2:4B"
    ]
  }
}]

তারপর, https://m.example.com/.well-known/assetlinks.json এ হোস্ট করা JSON ফাইলে, প্রাথমিক ডিজিটাল সম্পদ লিঙ্ক ফাইল অন্তর্ভুক্ত করুন:

[{
  "include": "https://signin.example.com/.well-known/assetlinks.json"
}]

অবশেষে, উভয় অ্যাপে অ্যাসোসিয়েশন ঘোষণা করুন:

  1. <application> এর অধীনে ম্যানিফেস্ট ফাইলে নিম্নলিখিত লাইন যোগ করুন:

    <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
    
  2. strings.xml ফাইলে নিম্নলিখিত স্ট্রিং রিসোর্স যোগ করুন:

    <string name="asset_statements" translatable="false">
    [{
      \"include\": \"https://signin.example.com/.well-known/assetlinks.json\"
    }]
    </string>