我正在 ReactJS 中构建一个 chrome kiosk 应用程序,它需要访问它正在运行的设备的 deviceId 以进行日志记录。我使用以下代码调用 chrome.enterprise.deviceAttributes.getDirectoryDeviceId:
const getDeviceId = (cb) => {
if (!chrome.enterprise) {
if (cb) {
cb();
}
return;
}
// get device id
chrome.enterprise.deviceAttributes.getDirectoryDeviceId(assetId => {
deviceId = assetId;
if (cb) {
cb();
}
});
};
Run Code Online (Sandbox Code Playgroud)
之后,通过执行以下操作来调用该函数:
getDeviceId(() => {
debug('Got device id: %s', deviceId);
});
Run Code Online (Sandbox Code Playgroud)
现在,我知道此代码只能在已注册的 ChromeOS 设备上运行。我也知道 chrome.enterprise.deviceAttributes 仅适用于通过策略预安装的扩展程序。因此,我只能在将其提交到 ChromeOS 商店并通过开发人员仪表板安装后对其进行测试。
长话短说:上面的代码没有返回 deviceId,这导致我所有的 api 调用失败,我无法真正调试它,因为它被安装为 kiosk 应用程序。我想知道这里是否有人可以告诉我我做错了什么以及如何解决这个问题。
提前致谢!
javascript google-chrome-os google-chrome-extension google-chrome-app reactjs