mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-16 15:36:12 -04:00
285 lines
9.3 KiB
Protocol Buffer
285 lines
9.3 KiB
Protocol Buffer
// Copyright 2022 Google LLC
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// https://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
|
|
syntax = "proto3";
|
|
|
|
// Proto defined in this file needs be consistent with proto defined in
|
|
// google3/google/internal/location/nearby/device/v1/rpcs.proto.
|
|
|
|
package nearby.fastpair.proto;
|
|
|
|
option optimize_for = LITE_RUNTIME;
|
|
|
|
// Represents the type of device that is being registered.
|
|
enum DeviceType {
|
|
// Unspecified device type.
|
|
DEVICE_TYPE_UNSPECIFIED = 0;
|
|
// Headphones or Earbuds.
|
|
HEADPHONES = 1;
|
|
// Speaker.
|
|
SPEAKER = 2;
|
|
// Wearable such as a watch.
|
|
WEARABLE = 3;
|
|
// Input devices such as keyboards, mice, etc.
|
|
INPUT_DEVICE = 4;
|
|
// Cars.
|
|
AUTOMOTIVE = 5;
|
|
// OTHER (referencing how Status is structured).
|
|
OTHER = 6;
|
|
// True Wireless headphones (these include additional configuration options).
|
|
TRUE_WIRELESS_HEADPHONES = 7;
|
|
// WearOS watch. This should trigger explicit functionality on clients when
|
|
// used, such as specifying BR/EDR transport type when creating a bond. It is
|
|
// a subset of wearables working around specific issues on that platform.
|
|
WEAR_OS = 8;
|
|
// Android Auto has the particular Fast Pair UX flows which may not be bought
|
|
// in by some car manufacturers (e.g. BMW). Sees go/fastpair-android-auto for
|
|
// more details.
|
|
ANDROID_AUTO = 9;
|
|
// Glass has the particular Fast Pair UX requiring passkey confirmation
|
|
// to show up on the screen in order to pair it with a smartphone.
|
|
GLASS = 10;
|
|
// Locator tags.
|
|
LOCATOR_TAG = 11;
|
|
// ChromeOS device.
|
|
CHROME_OS = 12;
|
|
// Android phone.
|
|
ANDROID_PHONE = 13;
|
|
}
|
|
|
|
// Represents the format of the final device notification (which is directly
|
|
// correlated to the action taken by the notification).
|
|
enum NotificationType {
|
|
// Unspecified notification type.
|
|
NOTIFICATION_TYPE_UNSPECIFIED = 0;
|
|
// Notification launches the fast pair intent.
|
|
// Example Notification Title: "Bose SoundLink II"
|
|
// Notification Description: "Tap to pair with this device"
|
|
FAST_PAIR = 1;
|
|
// Notification launches an app.
|
|
// Notification Title: "[X]" where X is type/name of the device.
|
|
// Notification Description: "Tap to setup this device"
|
|
APP_LAUNCH = 2;
|
|
// Notification launches for Nearby Setup. The notification title and
|
|
// description is the same as APP_LAUNCH.
|
|
NEARBY_SETUP = 3;
|
|
// Notification launches the fast pair intent, but doesn't include an anti-
|
|
// spoofing key. The notification title and description is the same as
|
|
// FAST_PAIR.
|
|
FAST_PAIR_ONE = 4;
|
|
// Notification launches Smart Setup on devices.
|
|
// These notifications are identical to APP_LAUNCH except that they always
|
|
// launch Smart Setup intents within GMSCore.
|
|
SMART_SETUP = 5;
|
|
}
|
|
|
|
message Device {
|
|
// Output only. The server-generated ID of the device.
|
|
int64 id = 1;
|
|
|
|
// The pantheon project number the device is created under. Only Nearby admins
|
|
// can change this.
|
|
int64 project_number = 2;
|
|
|
|
// How the notification will be displayed to the user
|
|
NotificationType notification_type = 3;
|
|
|
|
// The image to show on the notification.
|
|
string image_url = 4;
|
|
|
|
// The name of the device.
|
|
string name = 5;
|
|
|
|
// The intent that will be launched via the notification.
|
|
string intent_uri = 6;
|
|
|
|
// The transmit power of the device's BLE chip.
|
|
int32 ble_tx_power = 7;
|
|
|
|
// The distance that the device must be within to show a notification.
|
|
// If no distance is set, we default to 0.6 meters. Only Nearby admins can
|
|
// change this.
|
|
float trigger_distance = 8;
|
|
|
|
// Output only. Fast Pair only - The anti-spoofing key pair for the device.
|
|
AntiSpoofingKeyPair anti_spoofing_key_pair = 9;
|
|
|
|
// Fast Pair only - The type of device being registered.
|
|
DeviceType device_type = 13;
|
|
|
|
// Name of the device that is displayed on the console.
|
|
string display_name = 21;
|
|
}
|
|
|
|
// An anti-spoofing key pair for a device that allows us to verify the device is
|
|
// broadcasting legitimately.
|
|
message AntiSpoofingKeyPair {
|
|
// The private key (restricted to only be viewable by trusted clients).
|
|
bytes private_key = 1;
|
|
|
|
// The public key.
|
|
bytes public_key = 2;
|
|
}
|
|
|
|
// Strings to be displayed in notifications surfaced for a device.
|
|
message ObservedDeviceStrings {
|
|
// The locale of all of the strings.
|
|
string locale = 1;
|
|
|
|
// The notification description for when the device is initially discovered.
|
|
string initial_notification_description = 2;
|
|
|
|
// The notification description for when the device is initially discovered
|
|
// and no account is logged in.
|
|
string initial_notification_description_no_account = 3;
|
|
|
|
// The notification description for once we have finished pairing and the
|
|
// companion app has been opened. For Bisto devices, this string will point
|
|
// users to setting up the assistant.
|
|
string open_companion_app_description = 4;
|
|
|
|
// The notification description for once we have finished pairing and the
|
|
// companion app needs to be updated before use.
|
|
string update_companion_app_description = 5;
|
|
|
|
// The notification description for once we have finished pairing and the
|
|
// companion app needs to be installed.
|
|
string download_companion_app_description = 6;
|
|
|
|
// The notification title when a pairing fails.
|
|
string unable_to_connect_title = 7;
|
|
|
|
// The notification summary when a pairing fails.
|
|
string unable_to_connect_description = 8;
|
|
|
|
// The description that helps user initially paired with device.
|
|
string initial_pairing_description = 9;
|
|
|
|
// The description that let user open the companion app.
|
|
string connect_success_companion_app_installed = 10;
|
|
|
|
// The description that let user download the companion app.
|
|
string connect_success_companion_app_not_installed = 11;
|
|
|
|
// The description that reminds user there is a paired device nearby.
|
|
string subsequent_pairing_description = 12;
|
|
|
|
// The description that reminds users opt in their device.
|
|
string retroactive_pairing_description = 13;
|
|
|
|
// The description that indicates companion app is about to launch.
|
|
string wait_launch_companion_app_description = 14;
|
|
|
|
// The description that indicates go to bluetooth settings when connection
|
|
// fail.
|
|
string fail_connect_go_to_settings_description = 15;
|
|
|
|
// The title of the UI to ask the user to confirm the pin code.
|
|
string confirm_pin_title = 16;
|
|
|
|
// The description of the UI to ask the user to confirm the pin code.
|
|
string confirm_pin_description = 17;
|
|
|
|
// The title of the UI to ask the user to confirm to sync contacts.
|
|
string sync_contacts_title = 18;
|
|
|
|
// The description of the UI to ask the user to confirm to sync contacts.
|
|
string sync_contacts_description = 19;
|
|
|
|
// The title of the UI to ask the user to confirm to sync SMS.
|
|
string sync_sms_title = 20;
|
|
|
|
// The description of the UI to ask the user to confirm to sync SMS.
|
|
string sync_sms_description = 21;
|
|
|
|
// The description in half sheet to ask user setup google assistant
|
|
string assistant_setup_half_sheet = 22;
|
|
|
|
// The description in notification to ask user setup google assistant
|
|
string assistant_setup_notification = 23;
|
|
|
|
// Description of the connect device action on TV, when user is not logged in.
|
|
string fast_pair_tv_connect_device_no_account_description = 24;
|
|
|
|
// The description of the slice to ask user setup the wear os.
|
|
string wear_os_tap_to_set_up = 25;
|
|
|
|
string finder_enable_sheet_title = 26;
|
|
|
|
string finder_enable_sheet_find_device_toggle = 27;
|
|
|
|
string finder_enable_sheet_finder_network_title = 28;
|
|
|
|
string finder_enable_sheet_finder_network_toggle = 29;
|
|
|
|
string finder_enable_sheet_description_find_nearby_devices_info = 30;
|
|
|
|
string finder_enable_sheet_description_location_anonymous_info = 31;
|
|
|
|
string finder_enable_sheet_description_location_encrypted_info = 32;
|
|
|
|
string finder_enable_sheet_description_turn_off_in_settings = 33;
|
|
|
|
// If present then this title will be used for the initial connect half sheet.
|
|
string initial_connect_sheet_title = 36;
|
|
|
|
// Deleted fields.
|
|
reserved 34, 35;
|
|
}
|
|
|
|
// Request for getting an observed device.
|
|
message GetObservedDeviceRequest {
|
|
// The mode the requesting device is currently in, eg release or debug.
|
|
enum Mode {
|
|
// Unknown mode.
|
|
MODE_UNKNOWN = 0;
|
|
|
|
// Release mode.
|
|
MODE_RELEASE = 1;
|
|
|
|
// Debug mode.
|
|
MODE_DEBUG = 2;
|
|
}
|
|
|
|
// The ID of the device to find.
|
|
int64 device_id = 1;
|
|
|
|
// The request mode for the device.
|
|
Mode mode = 2;
|
|
|
|
// The locale to get a translated description for.
|
|
string locale = 3;
|
|
|
|
// 6-hexdigit Device Id and will be auto-converted and used instead of
|
|
// device_id. If both device_id and hex_device_id, device_id will be used and
|
|
// hex_device_id will be ignored
|
|
string hex_device_id = 4;
|
|
|
|
// The max size of an icon to be displayed in pixels.
|
|
int64 max_icon_size_pixels = 5;
|
|
}
|
|
|
|
// Response containing an observed device.
|
|
message GetObservedDeviceResponse {
|
|
// The device from the request.
|
|
Device device = 1;
|
|
|
|
// The image icon that shows in the notification
|
|
bytes image = 3;
|
|
|
|
ObservedDeviceStrings strings = 4;
|
|
|
|
reserved 2;
|
|
}
|