ID

DeviceIdentifier 會封裝硬體 ID,以識別製造裝置。本文說明如何使用零接觸註冊機制 API 中的 ID。

DeviceIdentifier 結合了可明確識別裝置所需的硬體中繼資料或 ID。

貴機構會在透過入口網站或呼叫 API 上傳裝置資料時加入裝置 ID 值。由於 DeviceIdentifier 執行個體無法變更,因此您無法使用 API 變更欄位值。

必填欄位

Android 裝置

零接觸註冊機制通常會透過 IMEI (或 MEID) 行動數據機 ID 識別裝置。但是,為了支援沒有行動網路數據機的裝置 (例如平板電腦),您也可以使用不同欄位組合來識別裝置。下表列出各個裝置類型的必填欄位:

ID 行動網路 僅限 Wi-Fi 附註
hardware_id 這個欄位必須是 IMEI 或 MEID 號碼。透過 API 引數傳遞 IMEI 值時,零接觸註冊機制會驗證 IMEI 值的格式。如果裝置有多個行動網路數據機,請參閱「雙 SIM 卡裝置」。
serialNumber 裝置的製造商序號。序號有區分大小寫,且與 Build.getSerial() 傳回的值相同。
model 裝置型號值必須與 Build.MODEL 傳回的裝置內建值相符。如需各個製造商的可用值清單,請參閱模型名稱參考資料。
manufacturer 如要讓零接觸註冊機制適用於僅支援 Wi-Fi 的裝置,manufacturer 欄位值必須與 Build.MANUFACTURER 回傳的裝置內建值相符。對於行動裝置,manufacturer 為選用欄位,但建議填寫,因為方便客戶識別裝置。詳情請參閱「製造商名稱」參考資料。

如果裝置沒有行動數據數據機 (例如平板電腦或倉儲庫存掃描器),請使用僅限 Wi-Fi 的欄位。如為其他裝置,請使用行動欄位。

雙 SIM 卡裝置

雙 SIM 卡裝置搭載兩個獨立數據機,且具備兩個 IMEI 號碼。請使用數值最低的 IMEI 號碼,因為零接觸註冊機制能更穩定地搭配最低的 IMEI 運作。

ChromeOS 裝置

如果是 ChromeOS 裝置,僅限行動數據和 Wi-Fi 的裝置採用相同的必要 ID:

ID 附註
serialNumber 裝置的製造商序號。
model 裝置型號值必須與裝置的內建值相符。請參閱 ChromeOS 模型值清單
chromeOsAttestedDeviceId 已驗證裝置 ID。請參閱相容的 ChromeOS 裝置清單

參照裝置

尋找或聲明裝置擁有權時,請使用 DeviceIdentifier。您必須加入裝置類型指定的必填欄位。

下列程式碼片段顯示透過呼叫 partners.devices.findByIdentifier 搜尋特定裝置的 IMEI 號碼:

Java

// Create a DeviceIdentifier.
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
deviceIdentifier.setImei("123456789012347");

// Perform the search using the zero-touch enrollment API.
FindDevicesByDeviceIdentifierRequest body = new FindDevicesByDeviceIdentifierRequest();
body.setLimit(1L);
body.setDeviceIdentifier(deviceIdentifier);

FindDevicesByDeviceIdentifierResponse response = service
    .partners()
    .devices()
    .findByIdentifier(PARTNER_ID, body)
    .execute();

.NET

// Create a DeviceIdentifier.
var deviceIdentifier = new DeviceIdentifier
{
    Imei = "123456789012347"
};

// Perform the search using the zero-touch enrollment API.
var body = new FindDevicesByDeviceIdentifierRequest
{
    Limit = 1,
    DeviceIdentifier = deviceIdentifier
};
var response = service.Partners.Devices.FindByIdentifier(body, PartnerId).Execute();

Python

# Create a DeviceIdentifier.
device_identifier = {'imei':'123456789012347'}

# Perform the search using the zero-touch enrollment API.
response = service.partners().devices().findByIdentifier(
    partnerId=PARTNER_ID, body={'deviceIdentifier':device_identifier, \
    'limit':1}).execute()

下列程式碼片段說明如何建立僅限 Wi-Fi 的裝置 ID:

Java

// Create a device identifier to find a Wi-Fi-only device.
DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
deviceIdentifier.setManufacturer("Honeywell");
deviceIdentifier.setModel("VM1A");
deviceIdentifier.setSerialNumber("ABcd1235678");

.NET

// Create a device identifier to find a Wi-Fi-only device.
var deviceIdentifier = new DeviceIdentifier
{
    Manufacturer = "Honeywell",
    Model = "VM1A",
    SerialNumber = "ABcd1235678"
};

Python

# Create a device identifier to find a Wi-Fi-only device.
device_identifier = {'manufacturer':'Honeywell', \
    'model':'VM1A', 'serialNumber':'ABcd1235678'}

瞭解詳情