typescript 无法从Android上的电容器/设备获取设备UUID

njthzxwz  于 2023-03-24  发布在  TypeScript
关注(0)|答案(1)|浏览(148)

我正在尝试获取我的设备UUID,以便我可以使用设备UUID通过Firebase向特定设备发送通知。我已连接前端和后端,以便后端可以使用Firebase向前端发送通知。在尝试获取设备UUID时,我得到的只是一个包含数字和单词的16个字符的值。
这些是我在package.json中的依赖项

"dependencies": {
    "@angular/animations": "^15.2.0",
    "@angular/common": "^15.2.0",
    "@angular/compiler": "^15.2.0",
    "@angular/core": "^15.2.0",
    "@angular/forms": "^15.2.0",
    "@angular/platform-browser": "^15.2.0",
    "@angular/platform-browser-dynamic": "^15.2.0",
    "@angular/router": "^15.2.0",
    "@capacitor/android": "^4.1.0",
    "@capacitor/core": "^4.1.0",
    "@capacitor/device": "^4.1.0",
    "@capacitor/ios": "^4.1.0",
    "device-uuid": "^1.0.4",
    "primeicons": "^6.0.1",
    "primeng": "^15.2.0",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.12.0"
  },

我正在使用电容器/设备以获取UUID。
这是我的代码,在app.component.ts中,我试图获取设备UUID。

import { Component } from '@angular/core';
import { AppService } from './app.service';
import { Device } from '@capacitor/device';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {
  title!: string;

  checked: boolean = false;
  deviceId: any;
  result: any;
  platform: any;
  info: any;

  constructor (private appService: AppService) {}

  sendNotification () {
    Device.getInfo().then((info) => {
      this.info = info
      this.platform = info.platform
      Device.getId().then((deviceId) => {
        this.deviceId = deviceId.uuid
        this.result = this.appService.sendNotification(this.platform, this.deviceId);
      })
    })
  }
}

我在应用程序上有一个按钮,当它被点击时,它应该显示设备UUID和设备信息,但从这个代码中,我从我的设备中得到的只是一个16个字符的值,如(9 c 08 a2578 a6475 d9),我不知道这个值是什么。

有人能帮助我如何从我的设备获取36字符UUID吗?
另外,如果不是设备UUID,我检索的16个字符的值是什么?

我试过在网上搜索,也浏览过类似的stackoverflow问题,如Best possible way to get device Id in Androidhow can I get a unique device ID in javascript?Unique ID of Android device,但这些似乎都不适合我,因为我用了不同的方法,我也用过android模拟器和物理android设备,但结果总是一样。

b1payxdu

b1payxdu1#

电容器设备UUID不是我们用于发送推送通知的ID,电容器设备UUID针对来自应用商店的每个应用安装而改变。
你正在寻找的设备id是fcm id firebase提供给用户如果你正在建立一个ios web应用程序你可以使用apn和android web应用程序你可以使用fcm
在android中firebase给每个用户一个fcm token,每次重新安装应用程序时该token可能会更改,因此每当用户打开应用程序尝试更新token并使用fcms /apns时,他们都有自己的方法来获取token
当用户有一个令牌,我们可以向他们发送通知第一次尝试从firebase的测试推送通知选项的官方网站的测试通知

相关问题