Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Mirror API cung cấp một bộ thành phần mà bạn có thể dùng để tạo các dịch vụ cho Glass. Do các dịch vụ của Glass có thể khác với phần mềm khác mà bạn đã phát triển, nên có thể bạn không rõ cách kết hợp các tính năng của Mirror API với nhau.
Nhiều dịch vụ thuộc một số danh mục sử dụng API. Sau đây là một số câu chuyện minh hoạ cách kết hợp các tính năng của Mirror API để tạo ra các dịch vụ của Glass.
Thông tin về mèo
Cung cấp nội dung lên dòng thời gian trên Glass là một cách sử dụng Google Mirror API đơn giản nhưng mạnh mẽ.
Mẫu sự kiện về mèo mang thông tin về mèo cho người dùng và có thể
có thể thực hiện theo quy trình này:
Người dùng truy cập vào ứng dụng web của bạn và đăng ký bằng cách xác thực bằng OAuth 2.0.
Mỗi giờ, vào mỗi giờ, dịch vụ của bạn cung cấp một Thông tin về mèo mới cho mỗi người dùng của bạn Thuỷ tinh.
Thông tin về mèo sẽ được triển khai bằng phương thức chèn dòng thời gian:
Người dùng đăng ký bằng cách xác thực bằng OAuth 2.0
Cat Facts lưu trữ chỉ mục về người dùng và thông tin đăng nhập của họ
Mỗi giờ, Cat Facts xuất bản một thông tin mới về Cat Facts. API thực hiện việc này bằng cách lặp lại qua tất cả người dùng được lưu trữ và chèn một mục trong dòng thời gian vào dòng thời gian của họ.
Thêm một chú mèo vào đó
Mỗi bước trong tiến bộ kỹ thuật của con người đều cung cấp các phương pháp cải tiến để phân phối ảnh về mèo. Project Glass cũng vậy.
Vì mỗi bức ảnh đều đẹp hơn với một con mèo, dịch vụ này cho phép người dùng kết hợp một hình ảnh mèo ngẫu nhiên và một bức ảnh mà họ đã chụp bằng Glass.
Người dùng truy cập vào ứng dụng web của bạn rồi cài đặt ứng dụng Thêm mèo vào ứng dụng đó bằng cách xác thực bằng OAuth 2.0.
Dịch vụ của bạn tạo một người liên hệ mới trên Glass của người dùng có tên là "Thêm mèo vào đó".
Khi người dùng của bạn chụp ảnh, họ sẽ chia sẻ các ảnh đó với tính năng Thêm mèo vào đó.
Dịch vụ của bạn sẽ kết hợp một hình ảnh ngẫu nhiên của một chú mèo vào bức ảnh được chia sẻ.
Cuối cùng, dịch vụ của bạn gửi ảnh đã được cải thiện về mèo đến Glass của người dùng.
Về mặt kiến trúc, dịch vụ này sẽ tuân theo quy trình API sau:
Người dùng của bạn cho phép bằng OAuth 2.0. Dịch vụ của bạn lưu trữ thông tin đăng nhập của họ.
Ngay sau khi nhảy OAuth 2.0 hoàn tất, dịch vụ của bạn sẽ chèn một mục liên hệ có tên "Add a Cat to That".
Tiếp theo, dịch vụ của bạn đăng ký nhận thông tin cập nhật trong dòng thời gian của người dùng này bằng cách chèn một gói thuê bao cho bộ sưu tập timeline. Tính năng Thêm chú mèo vào tài khoản That hiện đã được thiết lập đầy đủ.
Theo thời gian, người dùng sẽ chụp ảnh.
Người dùng của bạn chia sẻ ảnh với tính năng Thêm mèo vào đó. Thao tác này giúp dịch vụ của bạn có thể truy cập vào thẻ dòng thời gian được liên kết với ảnh này.
Vì dịch vụ của bạn đã đăng ký nhận thông tin cập nhật về dòng thời gian nên dịch vụ của bạn sẽ nhận được thông báo. Thông báo này liên kết đến mục dòng thời gian chứa ảnh đã chia sẻ.
Dịch vụ của bạn sẽ kiểm tra thông báo và sử dụng id đi kèm để tìm nạp thẻ dòng thời gian chứa ảnh.
Tiếp theo, dịch vụ của bạn sẽ kiểm tra mục trong dòng thời gian và sử dụng mã nhận dạng tệp đính kèm để tìm nạp các byte của ảnh chụp.
Dịch vụ của bạn chọn một hình ảnh ngẫu nhiên về một chú mèo rồi ghép hình ảnh đó vào bức ảnh được chia sẻ.
Cuối cùng, dịch vụ của bạn tạo một thẻ dòng thời gian mới và chèn thẻ đó vào thẻ dòng thời gian của người dùng có đính kèm ảnh nâng cao về mèo.
Cửa hàng thú cưng lân cận
Chỉ có một điều tốt hơn sự thật về mèo hoặc hình ảnh của mèo, đó là những con mèo có lông thực tế. Mirror API có thể giúp bạn thực hiện việc này dễ dàng hơn bằng cách đảm bảo bạn luôn biết cửa hàng thú cưng gần nhất ở đâu.
Việc sử dụng tuân theo quy trình sau:
Người dùng truy cập vào ứng dụng web của bạn và đăng ký bằng cách xác thực bằng OAuth 2.0.
Dịch vụ của bạn sẽ xác định vị trí của người dùng.
Dịch vụ của bạn tìm những cửa hàng thú cưng gần vị trí đó.
Dịch vụ của bạn sẽ chèn một thẻ vào bên trái đồng hồ, trong đó có danh sách những cửa hàng thú cưng ở gần đó.
Glass sẽ thông báo cho dịch vụ của bạn về vị trí của người dùng.
Đối với mỗi thông báo, dịch vụ của bạn sẽ lặp lại nội dung tìm kiếm cửa hàng thú cưng và cập nhật thẻ đã ghim để phản ánh tập hợp mới các cửa hàng thú cưng gần nhất.
Việc triển khai dịch vụ này tuân theo quy trình API sau:
Người dùng của bạn cho phép bằng OAuth 2.0. Ngoài phạm vi glass.timeline thông thường, ứng dụng của bạn cũng yêu cầu quyền truy cập vào phạm vi glass.location.
Ngay sau khi nhảy OAuth 2.0 hoàn tất, dịch vụ của bạn sẽ đăng ký nhận thông tin cập nhật về vị trí của người dùng.
Tiếp theo, dịch vụ của bạn tìm nạp thông tin vị trí mới nhất của người dùng từ điểm cuối vị trí.
Dịch vụ của bạn tìm kiếm những cửa hàng thú cưng gần người dùng của bạn.
Dịch vụ của bạn tạo một thẻ timeline liệt kê kết quả tìm kiếm cửa hàng thú cưng. Để giữ thẻ này ở bên trái màn hình đồng hồ, dịch vụ của bạn sẽ ghim thẻ này.
Khi người dùng của bạn di chuyển xung quanh, vị trí mới nhất của họ sẽ được cập nhật.
Vì dịch vụ của bạn đã đăng ký nhận thông tin cập nhật vị trí nên dịch vụ đó sẽ nhận được thông báo. Thông báo này liên kết đến mục latest trong bộ sưu tập location.
Dựa trên thông báo này, dịch vụ của bạn sẽ tìm nạp latestlocation của người dùng từ bộ sưu tập location.
Tiếp theo, dịch vụ của bạn sẽ tìm những cửa hàng thú cưng gần người dùng của bạn.
Cuối cùng, dịch vụ của bạn sử dụng phương thức patch để cập nhật phần nội dung của mục dòng thời gian được chèn trong bước 5.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 UTC."],[[["\u003cp\u003eThe Google Mirror API enables you to build services for Glass that deliver content, enhance photos, and provide location-based information.\u003c/p\u003e\n"],["\u003cp\u003eServices utilize OAuth 2.0 for user authentication and authorization to access Glass features.\u003c/p\u003e\n"],["\u003cp\u003eTimeline cards are central to displaying information and can be updated dynamically based on user interactions or location changes.\u003c/p\u003e\n"],["\u003cp\u003eThe API supports subscriptions to user actions like taking photos or changes in their location, triggering service responses.\u003c/p\u003e\n"],["\u003cp\u003eLocation services can be integrated to deliver real-time, context-aware information to the user's Glass.\u003c/p\u003e\n"]]],[],null,["# API Usage Stories\n\nThe Mirror API provides a set of building blocks that you can use to build services for Glass. Because Glass services are probably different than other software you have developed, it may not be obvious how to fit features of the Mirror API together.\n\nMany services fall into a few categories of API usage. Here are some stories that illustrate how to combine the features of the Mirror API to create Glass services.\n\nCat Facts\n---------\n\nDelivering content to the Glass timeline is a simple yet powerful use of the Google Mirror API.\nThe Cat Facts sample Glassware delivers facts about cats to users and could\npotentially follow this flow:\n\n1. Your user visits your web application and subscribes by authenticating with OAuth 2.0.\n2. Every hour, on the hour, your service delivers a new Cat Fact to each of your users' Glass.\n\nCat Facts would be implemented using the timeline insert method:\n\n1. Users subscribe by authenticating with OAuth 2.0\n2. Cat Facts stores an index of users and their credentials\n3. Every hour, Cat Facts publishes a new Cat Fact. It does this by iterating through all stored users and inserting a timeline item into their timelines.\n\nAdd a cat to that\n-----------------\n\nEach step in human technological advancement provides improved methods for the distribution of cat photos. Project Glass is no different.\n\nSince every photograph is better with a cat, this service allows users to composite a random cat image and a photograph that they've taken with Glass.\n\n1. Your user visits your web application and installs Add a Cat to That by authenticating with OAuth 2.0.\n2. Your service creates a new contact on your user's Glass called \"Add a Cat to That.\"\n3. As your user takes photos, they share them with Add a Cat to That.\n4. Your service composites a random image of a cat on to the shared photograph.\n5. Finally, your service delivers the cat-enhanced photo to your user's Glass.\n\nArchitecturally, this service would follow this API flow:\n\n1. Your user authorizes with OAuth 2.0. Your service stores their credentials.\n2. Just after the OAuth 2.0 dance completes, your service inserts a contact called \"Add a Cat to That\".\n3. Next, your service subscribes to updates in this user's timeline by inserting a subscription for the `timeline` collection. Add a Cat to That is now fully set up.\n4. Over time, your user takes photographs.\n5. Your user shares a photo with Add a Cat to That. This makes the timeline card associated with this photo accessible to your service.\n6. Because your service is subscribed to timeline updates, a notification is sent to your service. This notification links to the timeline item containing the shared photo.\n7. Your service examines the notification and uses the included `id` to fetch the timeline card that contains the photo.\n8. Next, your service examines the timeline item and uses the attachment ID to fetch the bytes of the photograph.\n9. Your service selects a random image of a cat, and composites it into the shared photograph.\n10. Finally, your service constructs a new timeline card and inserts it into your user's timeline card with the cat-enhanced photo attached.\n\n| **Note:** As an added silly bonus, you can add the `SHARE` built in menu item to the timeline card. This allows cat-enhanced photos to be shared with other services or repeatedly shared with Add a Cat to That to add multiple cats to a photo.\n\nNearby pet stores\n-----------------\n\nThere's only one thing better than facts about cats or pictures of cats, and that's actual, physical, furry cats. The Mirror API can make this easier by making sure you always know where the nearest pet store is.\n\nUsage follows this flow:\n\n1. Your user visits your web application and subscribes by authenticating with OAuth 2.0.\n2. Your service determines the user's location.\n3. Your service searches for pet stores near that location.\n4. Your service inserts a card to the left of the clock that lists these nearby pet stores.\n5. Glass notifies your service about your user's location.\n6. For each notification, your service repeats the pet store search and updates the pinned card to reflect the new set of nearest pet stores.\n\nImplementing this service follows this API flow:\n\n1. Your user authorizes with OAuth 2.0. In addition to the usual `glass.timeline` scope, your application also requests the `glass.location` scope access.\n2. Just after the OAuth 2.0 dance completes, your service subscribes to updates on your user's location.\n3. Next, your service fetches your user's latest location from the location endpoint.\n4. Your service searches for pet stores near your user.\n5. Your service creates a `timeline` card that lists the pet store search results. To keep this card on the left side of the clock screen, your service pins this card.\n6. As your user moves around, their latest location is updated.\n7. Because your service is subscribed to location updates, a notification is sent to your service. This notification links to the `latest` item in the `location` collection.\n8. Based on the notification, your service fetches your user's `latest` `location` from the `location` collection.\n9. Next, your service searches for pet stores near your user.\n10. Finally, your service uses the `patch` method to update the body of the timeline item inserted in step 5."]]