Appearance
获取设备 ID
获取当前设备的唯一标识符。如果不存在则自动生成并保存。
基本用法
javascript
const deviceId = sdk.getDeviceId();
console.log('设备 ID:', deviceId);
// 输出示例: "550e8400-e29b-41d4-a716-446655440000"方法说明
getDeviceId() - 获取设备 UUID
获取当前设备的唯一标识符。如果不存在则自动生成并保存。
参数: 无
返回值:
typescript
string // 设备 UUID(格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)示例:
javascript
const deviceId = sdk.getDeviceId();
console.log('设备 ID:', deviceId);
// 输出示例: "550e8400-e29b-41d4-a716-446655440000"使用场景
1. 显示设备信息
javascript
function UserProfile() {
const deviceId = sdk.getDeviceId();
return (
<div>
<h1>用户信息</h1>
<p>设备 ID: {deviceId}</p>
</div>
);
}2. 调试和日志记录
javascript
// 在错误日志中包含设备 ID
try {
await sdk.reportSession({ urlPath: '/dashboard' });
} catch (error) {
const deviceId = sdk.getDeviceId();
console.error('会话上报失败', {
error: error.message,
deviceId: deviceId,
timestamp: new Date().toISOString()
});
}3. 用户支持
javascript
// 在用户反馈中包含设备 ID
function submitFeedback(message) {
const deviceId = sdk.getDeviceId();
const feedback = {
message: message,
deviceId: deviceId,
userAgent: navigator.userAgent,
timestamp: Date.now()
};
// 发送反馈到服务器
sendFeedbackToServer(feedback);
}React 示例
javascript
import { useState, useEffect } from 'react';
import DingYueSDK from 'dingyue-web-sdk';
const sdk = new DingYueSDK({
baseUrl: 'https://mobile.dingyue.io',
appId: 'your-app-id',
apiKey: 'your-api-key'
});
function App() {
const [deviceId, setDeviceId] = useState('');
useEffect(() => {
// 获取设备 ID
const id = sdk.getDeviceId();
setDeviceId(id);
}, []);
return (
<div>
<h1>设备信息</h1>
<p>设备 ID: {deviceId}</p>
</div>
);
}Vue 示例
vue
<template>
<div>
<h1>设备信息</h1>
<p>设备 ID: {{ deviceId }}</p>
</div>
</template>
<script>
import DingYueSDK from 'dingyue-web-sdk';
const sdk = new DingYueSDK({
baseUrl: 'https://mobile.dingyue.io',
appId: 'your-app-id',
apiKey: 'your-api-key'
});
export default {
data() {
return {
deviceId: ''
};
},
mounted() {
// 获取设备 ID
this.deviceId = sdk.getDeviceId();
}
};
</script>注意事项
自动生成和保存
- 设备 ID 会自动生成并保存到
localStorage - 如果设备 ID 不存在,SDK 会自动生成一个新的 UUID
- 设备 ID 存储在
localStorage中,键名为dingyue_device_id
- 设备 ID 会自动生成并保存到
持久性
- 同一浏览器同一域名下,设备 ID 保持不变
- 清除浏览器数据后,设备 ID 会重新生成
- 不同域名下的设备 ID 是独立的
格式
- 设备 ID 是标准的 UUID 格式:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - 如果无法生成 UUID,SDK 会使用设备指纹作为备选方案
- 设备 ID 是标准的 UUID 格式:
无需登录
- 获取设备 ID 不需要用户登录
- 可以在 SDK 初始化后立即调用
自动使用
- SDK 会在所有 API 请求中自动包含设备 ID(通过
X-USER-IDheader) - 无需手动传递设备 ID
- SDK 会在所有 API 请求中自动包含设备 ID(通过
与设备信息的关系
SDK 在认证请求(注册、登录、OAuth)时会自动添加设备信息(uniqueUser 对象),其中包含:
- 操作系统版本
- 设备类型
- 语言设置
- 网络连接信息
- 设备 ID
这些信息会自动添加到请求中,无需手动处理。