यदि वन टैप साइन-इन आपकी आवश्यकताओं को पूरा करता है, तो इसके बजाय इसका उपयोग करने पर विचार करें। वन टैप में एक अद्यतन उपयोगकर्ता अनुभव और अन्य सुधार हैं।

एप्लिकेशन और वेबसाइटों पर स्वचालित साइन-इन सक्षम करें

यदि आपका ऐप जो पासवर्ड के लिए स्मार्ट लॉक का उपयोग करता है, आपकी वेबसाइट के साथ एक उपयोगकर्ता डेटाबेस साझा करता है - या यदि आपका ऐप और वेबसाइट Google साइन-इन जैसे फ़ेडरेटेड प्रदाताओं का उपयोग करते हैं, तो आप ऐप को वेबसाइट के साथ जोड़ सकते हैं ताकि उपयोगकर्ता अपनी साख बचा सकें एक बार और फिर स्वचालित रूप से ऐप और वेबसाइट दोनों पर हस्ताक्षर करें।

किसी वेबसाइट के साथ एक ऐप को जोड़ने के लिए, अपनी वेबसाइट पर एक डिजिटल एसेट लिंक JSON फ़ाइल की मेजबानी करके, और अपने ऐप के प्रकटन के लिए डिजिटल एसेट लिंक फ़ाइल के लिंक को जोड़कर संघों की घोषणा करें।

अपनी वेबसाइट पर एक डिजिटल एसेट लिंक घोषणा की मेजबानी करके, आप एंड्रॉइड 8.0 और नए पर चलने के दौरान अपनी वेबसाइट को अपने ऐप के साथ ऑटोफिल डेटा साझा करने के लिए भी सक्षम करते हैं।

आवश्यक शर्तें

आपकी वेबसाइट का साइन-इन डोमेन HTTPS के माध्यम से उपलब्ध होना चाहिए।

अपनी वेबसाइट के साथ अपने एप्लिकेशन को संबद्ध करें

  1. एक डिजिटल एसेट लिंक JSON फ़ाइल बनाएँ।

    उदाहरण के लिए, यह घोषित करने के लिए कि वेबसाइट https://signin.example.com और पैकेज नाम com.example साथ एक Android ऐप साइन-इन क्रेडेंशियल्स को साझा कर सकता है, निम्नलिखित सामग्री के साथ एक फ़ाइल नाम 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 पूरी तरह से योग्य होना चाहिए।, और optional_port जब HTTPS के लिए पोर्ट 443 का उपयोग कर छोड़ देना चाहिए।

    एक site लक्ष्य केवल एक रूट डोमेन हो सकता है: आप किसी ऐप एसोसिएशन को किसी विशिष्ट उपनिर्देशिका तक सीमित नहीं कर सकते। URL में एक पथ शामिल न करें, जैसे कि अनुगामी स्लैश।

    उप-डोमेन से मेल नहीं माना जाता है: अर्थात, यदि आप 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 पर होस्ट 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. Android ऐप में एसोसिएशन की घोषणा करें।

    1. निम्नलिखित फ़ाइल को <application> तहत प्रकट फ़ाइल में जोड़ें:

        <meta-data android:name="asset_statements" android:resource="@string/asset_statements" />
      
    2. एक जोड़े asset_statements को स्ट्रिंग संसाधन strings.xml फ़ाइल। 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. ऐप को Google Play Store पर प्रकाशित करें। इसे उठाए जाने वाले संघों के लिए सार्वजनिक चैनल में रिलीज़ करने की आवश्यकता है।

  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>