مخاطبین

مخاطبین به Glassware شما اجازه می‌دهند آیتم‌های جدول زمانی را که ایجاد نکرده است، دریافت کند. کاربران باید با ضربه زدن روی آیتم منوی اشتراک‌گذاری کارت، صریحاً یک آیتم جدول زمانی را با مخاطب شما به اشتراک بگذارند.

چگونه کار می‌کنند

پس از ایجاد یک مخاطب اشتراک‌گذاری، اشتراک‌گذاری کارت‌های جدول زمانی از این جریان کلی پیروی می‌کند:

  1. یک مخاطب ایجاد کنید و انواع MIME را که مخاطب شما پشتیبانی می‌کند، تعریف کنید.
  2. مخاطب را به جدول زمانی کاربر خود وارد کنید.
  3. کاربر یک آیتم جدول زمانی دریافت می‌کند که دارای یک آیتم منوی اشتراک‌گذاری است. Glassware باید صراحتاً به کاربران اجازه دهد تا آیتم‌های خود را با این آیتم منو به اشتراک بگذارند.
  4. کاربر روی آیتم تایم‌لاین ضربه می‌زند، آیتم منوی اشتراک‌گذاری را انتخاب می‌کند و مخاطب شما را انتخاب می‌کند.
  5. رابط برنامه‌نویسی کاربردی آینه (Mirror API) یک کپی از کارت جدول زمانی مشترک ایجاد می‌کند، به مخاطب شما دسترسی به آن کپی را می‌دهد و آن کپی را در جدول زمانی کاربر قرار می‌دهد. Glassware شما نمی‌تواند به آیتم جدول زمانی اصلی دسترسی داشته باشد.
  6. اگر در اعلان‌های اشتراک‌گذاری مشترک شده باشید، یک payload حاوی اطلاعات شناسایی کارت جدول زمانی دریافت می‌کنید. سپس می‌توانید آیتم جدول زمانی را با Timeline.get بازیابی کنید.
  7. شما کارت جدول زمانی مشترک را تغییر می‌دهید و کارت جدول زمانی موجود را با Timeline.update به‌روزرسانی می‌کنید.

چه زمانی از آنها استفاده کنیم

به طور پیش‌فرض، Glassware نمی‌تواند به آیتم‌های جدول زمانی که خودش ایجاد نکرده است دسترسی داشته باشد، بنابراین مخاطبین به Glassware اجازه می‌دهند تا با رضایت کاربر، داده‌های Glassware را به اشتراک بگذارد.

دو روش اصلی وجود دارد که Glassware شما می‌تواند از مخاطبین استفاده کند:

  • به کاربران اجازه دهید موارد جدول زمانی شما را با سایر مخاطبین به اشتراک بگذارند : مورد منوی داخلی SHARE به یک کارت جدول زمانی اضافه کنید. وقتی کاربران روی مورد منوی اشتراک گذاری ضربه می زنند، Glass لیستی از مخاطبین ممکن برای اشتراک گذاری را نمایش می دهد.

  • به کاربران اجازه دهید موارد جدول زمانی را با Glassware شما به اشتراک بگذارند : یک مخاطب ایجاد کنید که Glassware شما را نشان دهد. وقتی کاربران می‌خواهند یک کارت جدول زمانی را به اشتراک بگذارند، مخاطب شما به عنوان یک گزینه ظاهر می‌شود. همچنین می‌توانید لیستی از انواع MIME قابل قبول را اعلام کنید تا مخاطب شما فقط برای کارت‌هایی که به آنها علاقه دارید ظاهر شود. برای اینکه از اشتراک‌گذاری کارت جدول زمانی توسط کاربران با مخاطب خود مطلع شوید، می‌توانید در اعلان‌های جدول زمانی مشترک شوید.

ایجاد یک مخاطب

برای اینکه کاربران بتوانند آیتم‌های جدول زمانی را با Glassware شما به اشتراک بگذارند، با ارسال یک نمایش JSON از یک مخاطب به نقطه انتهایی insert REST، یک مخاطب را وارد کنید.

همه مخاطبین باید یک id مشخص کنند که مخاطب را به Glassware که اعلان‌ها را دریافت می‌کند، معرفی می‌کند. همچنین باید یک displayName و حداقل یک imageUrls مشخص کنید که Glass از آن برای نمایش اطلاعات مخاطب به کاربر استفاده می‌کند.

HTTP خام

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
}

اشتراک در اعلان‌های اشتراک‌گذاری

API آینه‌ای به شما امکان می‌دهد در اعلان‌هایی که هنگام انجام اقدامات خاص توسط کاربر روی یک آیتم جدول زمانی یا به‌روزرسانی موقعیت مکانی کاربر ارسال می‌شوند، مشترک شوید. وقتی در یک اعلان مشترک می‌شوید، یک URL فراخوانی ارائه می‌دهید که اعلان را پردازش می‌کند.

یک اعلان از Mirror API به عنوان یک درخواست POST به نقطه پایانی مشترک ارسال می‌شود که حاوی یک بدنه درخواست JSON است.

HTTP خام

{
  "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>"
          ]
      }
  ]
}

اگر خطایی رخ نداده باشد، سرویس شما باید با کد وضعیت HTTP 200 OK به API پاسخ دهد. اگر سرویس شما با کد خطا پاسخ دهد، ممکن است Mirror API سعی کند اعلان را دوباره به سرویس شما ارسال کند.

دریافت رونویسی سخنرانی

کاربران می‌توانند از طریق منوی صوتی اصلی، گفتار رونویسی‌شده را با مخاطب شما به اشتراک بگذارند. در حال حاضر دو دستور صوتی وجود دارد که مخاطب شما می‌تواند از آنها استفاده کند:

  • «یادداشت برداری»
  • "ارسال به‌روزرسانی"

برای مثال، یک کاربر می‌تواند با این عبارت، تولد چیپوتله را به ما اطلاع دهد: «باشه گلس... یه به‌روزرسانی برای... استریم گربه بذار... تولد چیپوتله فرداست!»

برای استفاده از دستورات صوتی:

  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 آیتم جدول زمانی با عنوان رونویسی شده کاربر تنظیم می‌شود.