संपर्क

Contacts की मदद से, Glassware को टाइमलाइन के वे आइटम मिल सकते हैं जिन्हें उसने नहीं बनाया है. उपयोगकर्ताओं को किसी कार्ड के शेयर करें मेन्यू आइटम पर टैप करके, टाइमलाइन का कोई आइटम आपके संपर्क के साथ शेयर करना होगा.

इनके काम करने का तरीका

शेयर करने के लिए संपर्क बनाने के बाद, टाइमलाइन कार्ड शेयर करने की सामान्य प्रोसेस इस तरह होती है:

  1. कोई संपर्क बनाएं और MIME टाइप तय करें. ये वे टाइप होने चाहिए जिन्हें आपका संपर्क इस्तेमाल कर सकता है.
  2. उपयोगकर्ता की टाइमलाइन में संपर्क जोड़ें.
  3. उपयोगकर्ता को टाइमलाइन का एक आइटम मिलता है, जिसमें शेयर करें मेन्यू आइटम होता है. Glassware को उपयोगकर्ताओं को यह अनुमति साफ़ तौर पर देनी होगी कि वे इस मेन्यू आइटम की मदद से अपने आइटम शेयर कर सकें.
  4. उपयोगकर्ता, टाइमलाइन के आइटम पर टैप करता है, शेयर करें मेन्यू आइटम चुनता है, और आपका संपर्क चुनता है.
  5. Mirror API, शेयर किए गए टाइमलाइन कार्ड की एक कॉपी बनाता है. साथ ही, आपके संपर्क को उस कॉपी का ऐक्सेस देता है. इसके बाद, वह कॉपी उपयोगकर्ता की टाइमलाइन में जोड़ दी जाती है. आपका Glassware, टाइमलाइन के ओरिजनल आइटम को ऐक्सेस नहीं कर सकता.
  6. अगर आपने शेयर करने से जुड़ी सूचनाएं पाने की सुविधा के लिए सदस्यता ली है, तो आपको एक पेलोड मिलता है. इसमें टाइमलाइन कार्ड की पहचान करने वाली जानकारी होती है. इसके बाद, Timeline.get की मदद से टाइमलाइन का आइटम वापस पाया जा सकता है.
  7. शेयर किए गए टाइमलाइन कार्ड में बदलाव करें और मौजूदा टाइमलाइन कार्ड को Timeline.update की मदद से, अपडेट करें.

इनका इस्तेमाल कब करना चाहिए

डिफ़ॉल्ट रूप से, Glassware उन टाइमलाइन आइटम को ऐक्सेस नहीं कर सकता जिन्हें उसने नहीं बनाया है. इसलिए, Contacts की मदद से Glassware, उपयोगकर्ता की अनुमति से Glassware के बीच डेटा शेयर कर सकता है.

आपका Glassware, Contacts का इस्तेमाल दो मुख्य तरीकों से कर सकता है:

  • उपयोगकर्ताओं को अपनी टाइमलाइन के आइटम, अन्य संपर्कों के साथ शेयर करने की अनुमति देना: किसी टाइमलाइन कार्ड में, SHARE इन-बिल्ट मेन्यू आइटम जोड़ें. जब उपयोगकर्ता, शेयर करने के मेन्यू आइटम पर टैप करते हैं, तो Glass, शेयर किए जा सकने वाले संपर्कों की सूची दिखाता है.

  • उपयोगकर्ताओं को टाइमलाइन के आइटम, अपने Glassware के साथ शेयर करने की अनुमति देना: एक ऐसा संपर्क बनाएं जो आपके Glassware को दिखाता हो. जब उपयोगकर्ता, टाइमलाइन का कोई कार्ड शेयर करना चाहते हैं, तो आपका संपर्क एक विकल्प के तौर पर दिखता है. स्वीकार किए जा सकने वाले MIME टाइप की सूची भी तय की जा सकती है, ताकि आपका संपर्क सिर्फ़ उन कार्ड के लिए दिखे जिनमें आपकी दिलचस्पी हो. जब उपयोगकर्ता, टाइमलाइन का कोई कार्ड आपके संपर्क के साथ शेयर करते हैं, तो इसकी सूचना पाने के लिए, टाइमलाइन की सूचनाएं पाने की सुविधा के लिए सदस्यता ली जा सकती है.

संपर्क बनाना

उपयोगकर्ताओं को अपनी टाइमलाइन के आइटम, अपने Glassware के साथ शेयर करने की अनुमति देने के लिए, कोई संपर्क जोड़ें. इसके लिए, संपर्क के JSON फ़ॉर्मैट को, insert REST एंडपॉइंट पर POST करें.

सभी संपर्कों के लिए, id तय करना ज़रूरी है. इससे, सूचनाएं पाने वाले Glassware को संपर्क की पहचान मिलती है. displayName और कम से कम एक imageUrls भी तय करना ज़रूरी है. Glass, इनका इस्तेमाल करके उपयोगकर्ता को संपर्क की जानकारी दिखाता है.

रॉ एचटीटीपी

POST /mirror/v1/contacts HTTP/1.1
Authorization: Bearer {auth token}
Content-Type: application/json
Content-Length: {length}

{
  "id": "harold"
  "displayName": "Harold Penguin",
  "iconUrl": "https://developers.google.com/glass/images/harold.jpg"
  "priority": 7
}

शेयर करने से जुड़ी सूचनाएं पाने की सुविधा के लिए सदस्यता लेना

Mirror API की मदद से, उन सूचनाओं के लिए सदस्यता ली जा सकती है जो तब भेजी जाती हैं, जब उपयोगकर्ता टाइमलाइन के किसी आइटम पर कोई खास कार्रवाई करता है या जब उपयोगकर्ता की जगह की जानकारी अपडेट की जाती है. किसी सूचना के लिए सदस्यता लेते समय, आपको एक कॉलबैक यूआरएल देना होता है. यह यूआरएल, सूचना को प्रोसेस करता है.

Mirror API से मिलने वाली सूचना, सदस्यता लिए गए एंडपॉइंट पर POST अनुरोध के तौर पर भेजी जाती है. इसमें JSON अनुरोध बॉडी शामिल होती है.

रॉ एचटीटीपी

{
  "collection": "timeline",
  "itemId": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
  "operation": "INSERT",
  "userToken": "harold_penguin",
  "verifyToken": "random_hash_to_verify_referer",
  "userActions": [
    {
      "type": "SHARE"
    }
  ]
}

itemId एट्रिब्यूट, शेयर किए गए टाइमलाइन आइटम का ID होता है. इसका इस्तेमाल, Timeline.get के साथ करके टाइमलाइन आइटम पाया जा सकता है. यहां दिए गए उदाहरण में, फ़ोटो अटैचमेंट वाला सामान्य टाइमलाइन आइटम दिखाया गया है:

{
  "id": "3hidvm0xez6r8_dacdb3103b8b604_h8rpllg",
  "attachments": [
      {
          "contentType": "image/jpeg",
          "id": "<ATTACHMENT_ID>"
      }
  ],
  "recipients": [
      {
          "kind": "glass#contact",
          "source": "api:<SERVICE_ID>",
          "id": "<CONTACT_ID>",
          "displayName": "<CONTACT_DISPLAY_NAME>",
          "imageUrls": [
              "<CONTACT_ICON_URL>"
          ]
      }
  ]
}

अगर कोई गड़बड़ी नहीं हुई है, तो आपकी सेवा को एपीआई को 200 OK एचटीटीपी स्टेटस कोड के साथ जवाब देना होगा. अगर आपकी सेवा, गड़बड़ी कोड के साथ जवाब देती है, तो Mirror API आपकी सेवा को सूचना दोबारा भेज सकता है.

बोली गई बात की ट्रांसक्रिप्ट पाना

उपयोगकर्ता, मुख्य वॉइस मेन्यू की मदद से, बोली गई बात की ट्रांसक्रिप्ट को आपके संपर्क के साथ शेयर कर सकते हैं. फ़िलहाल, दो ऐसे वॉइस कमांड हैं जिनका इस्तेमाल आपका संपर्क कर सकता है:

  • "नोट बनाओ"
  • "अपडेट पोस्ट करो"

उदाहरण के लिए, कोई उपयोगकर्ता इस वाक्यांश का इस्तेमाल करके, Chipotle के आने वाले जन्मदिन के बारे में बता सकता है: "Ok Glass... post an update to... Cat Stream... Chipotle's birthday is tomorrow!"

वॉइस कमांड का इस्तेमाल करने के लिए:

  1. acceptCommands प्रॉपर्टी को सही typeके साथ तय करें:

    {
      ...
    
      "displayName": "Cat Stream",
      "id": "CAT_STREAM",
      "acceptCommands": [
        {"type": "POST_AN_UPDATE"}
      ]
    }
    
  2. बोली गई बात की ट्रांसक्रिप्ट उपलब्ध होने की सूचना पाने के लिए, टाइमलाइन की सूचनाएं पाने की सुविधा के लिए सदस्यता लें. ऐसा होने पर, आपके Glassware को एक सूचना मिलती है:

    {
      "collection": "timeline",
      "operation": "UPDATE",
      "userToken": "<USER_TOKEN>",
      "verifyToken": "<VERIFY_TOKEN>",
      "itemId": "<ITEM_ID>",
      "userActions": [
        {"type": "LAUNCH"}
      ]
    }
    
  3. टाइमलाइन आइटम पाने के लिए, itemId का इस्तेमाल करें:

    {
      "id": "<ITEM_ID>",
      "text": "Chipotle's birthday is tomorrow",
      "recipients": [
        {"id": "CAT_STREAM"}
      ]
    }
    
  4. अगर एक से ज़्यादा Glassware, एक ही वॉइस कमांड के साथ कोई संपर्क रजिस्टर करते हैं, तो Glass, दूसरे लेवल का एक मेन्यू दिखाता है. इसमें हर संपर्क का displayName दिखता है. इसके बाद, उपयोगकर्ता अपनी पसंद के संपर्क के बारे में बोल सकते हैं. अगर आपके संपर्क के displayName में ऐसे वर्ण शामिल हैं जिनका उच्चारण नहीं किया जा सकता या वह फ़ोनेटिक नहीं है, तो शेयर करने वाले संपर्क के अनुमानित उच्चारण के बारे में बताने के लिए, speakableName प्रॉपर्टी का इस्तेमाल करें.

शेयर की गई फ़ोटो के कैप्शन

उपयोगकर्ताओं के पास, अपने Glassware के साथ फ़ोटो शेयर करने की सुविधा होती है. इसके लिए, वे बोलकर कैप्शन डालते हैं. उपयोगकर्ता की सामान्य प्रोसेस इस तरह होती है:

  1. उपयोगकर्ता, फ़ोटो वाले टाइमलाइन आइटम पर टैप करता है, शेयर करें मेन्यू आइटम चुनता है, और आपका संपर्क चुनता है.
  2. फ़ोटो में कैप्शन जोड़ने के लिए, उपयोगकर्ता कुछ समय के अंदर दोबारा टैप करता है.
  3. उपयोगकर्ता, कैप्शन बोलता है.
  4. टाइमलाइन आइटम को आपके Glassware के साथ शेयर किया जाता है. इसके बारे में, पहले इनके काम करने का तरीका सेक्शन में बताया गया है. इसके अलावा, टाइमलाइन आइटम की text प्रॉपर्टी को, उपयोगकर्ता के बोले गए कैप्शन के साथ सेट किया जाता है.