You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter 2.5.3版本中如何获取device_id与device_token?

解决方案

字段获取逻辑

  • device_id 可通过你已经引入的 device_info 包获取,安卓端取AndroidDeviceInfo.androidId,iOS端取IosDeviceInfo.identifierForVendor即可
  • device_token 不属于设备基础信息字段,你需求里的这个字段是谷歌/Facebook生态对应的推送设备令牌,需要集成对应推送服务SDK获取,对接谷歌服务场景下一般取FCM令牌即可

示例代码(Dart)

import 'dart:io';
import 'package:device_info/device_info.dart';
// 集成FCM后引入对应包即可调用获取token逻辑
// import 'package:firebase_messaging/firebase_messaging.dart';

final DeviceInfoPlugin deviceInfoPlugin = DeviceInfoPlugin();
Map<String, dynamic> deviceInfoMap = {};
String? deviceToken;

// 获取device_id
if (Platform.isAndroid) {
  AndroidDeviceInfo androidInfo = await deviceInfoPlugin.androidInfo;
  deviceInfoMap['device_id'] = androidInfo.androidId;
} else if (Platform.isIOS) {
  IosDeviceInfo iosInfo = await deviceInfoPlugin.iosInfo;
  deviceInfoMap['device_id'] = iosInfo.identifierForVendor;
}

// 获取device_token(集成FCM后可放开以下注释调用)
// deviceToken = await FirebaseMessaging.instance.getToken();
deviceInfoMap['device_token'] = deviceToken ?? '实际获取到的设备token值';

// 组装完整请求体
final requestBody = {
  "token": "接口要求的登录态字符串",
  "device_info": deviceInfoMap
};

请求体结构参考

{
  "token": "string",
  "device_info": {
    "device_token": "lfkjklfl",
    "device_id": "jgkfjdgkfjdlgfd"
  }
}

内容的提问来源于stack exchange,提问作者Vamsee.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:15:05