2017-07-11 62 views

回答

0

如果您正在投放廣告,則可以使用ASIdentifierManager。您應該只將其用於廣告。出於隱私的原因,iOS上的操作系統沒有提供通用的UDID機制。

如果您使用的是firebase_auth插件,您可以匿名登錄,然後使用FirebaseUser的ID。這會爲您提供一個特定於您的Firebase應用的標識符。

+0

我沒有使用Firebase,也沒有提供廣告。我需要一個唯一的標識符來識別設備,如android中的Settings.Secure.ANDROID_ID。我想知道這裏是否有插件,或者我需要爲此做一個新的插件嗎? –

+0

我不認爲你在iOS上可能要求什麼。不過,您可以通過向文件寫入一個GUID來輕鬆識別應用程序安裝。 –

0

有一個名爲device_info的插件。你可以得到它here。在iOS中,您無法獲得唯一的設備ID。這裏有一個炒鍋。

static Future<List<String>> getDeviceDetails() async { 
    String deviceName; 
    String deviceVersion; 
    String identifier; 
    final DeviceInfoPlugin deviceInfoPlugin = new DeviceInfoPlugin(); 
    try { 
     if (Platform.isAndroid) { 
     var build = await deviceInfoPlugin.androidInfo; 
     deviceName = build.model; 
     deviceVersion = build.version.toString(); 
     } else if (Platform.isIOS) { 
     var data = await deviceInfoPlugin.iosInfo; 
     deviceName = data.name; 
     deviceVersion = data.systemVersion; 
     identifier = data.identifierForVendor;//UUID for iOS 
     } 
    } on PlatformException { 
     print('Failed to get platform version'); 
    } 

//if (!mounted) return; 
return [deviceName, deviceVersion, identifier]; 
} 

您可以將此UUID存儲在鑰匙串中。這樣你可以爲你的設備設置一個唯一的ID。