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'}
瞭解詳情
- 如要進一步瞭解硬體 ID,請參閱
DeviceIdentifier
的 API 參考說明文件。 - 如要查看允許的製造商名稱和裝置型號清單,請參閱製造商名稱參考資料。
- 如要查看相容的 ChromeOS 裝置清單,請前往 ChromeO 說明中心