DeviceMarketName 2026.4.48
dotnet add package DeviceMarketName --version 2026.4.48
NuGet\Install-Package DeviceMarketName -Version 2026.4.48
<PackageReference Include="DeviceMarketName" Version="2026.4.48" />
<PackageVersion Include="DeviceMarketName" Version="2026.4.48" />
<PackageReference Include="DeviceMarketName" />
paket add DeviceMarketName --version 2026.4.48
#r "nuget: DeviceMarketName, 2026.4.48"
#:package DeviceMarketName@2026.4.48
#addin nuget:?package=DeviceMarketName&version=2026.4.48
#tool nuget:?package=DeviceMarketName&version=2026.4.48
DeviceMarketName
DeviceMarketName is a lightweight and user-friendly .NET library that enables you to look up Android device marketing names based on their model identifiers, leveraging Google's official supported_devices.csv data.
✅ Ready to use – no extra steps, no CSV files, no scripts.
All device mappings are pre-generated and embedded within the package. Just install the NuGet package and call a simple method.
Library Features
- 🧩 Simple, lightweight, and efficient
- 🔍 Based on Google's official supported_devices.csv for accuracy and reliability
- ⚡ Fast lookups without loading the entire dataset into memory
- 🔧 Compatible with all .NET project types—including Console, Web, Desktop, MAUI, Xamarin.Android, etc.—without dependencies on Android-specific libraries
- 📂 No need to download or manage CSV files manually—everything is pre-built and embedded
- 🚀 No runtime dependency on external CSV resources
Installation 🛠️
Add the package to your project via the command line:
dotnet add package DeviceMarketName
Basic Usage (Ready-to-Use) 🚀
Simply reference the library and call the lookup method. No additional setup, scripts, or configuration are required. Look up a device’s marketing name with a single line. Just include the namespace and call the lookup method:
using DeviceMarketName;
string deviceModel = "Pixel 4";
string marketingName = DeviceLookup.GetMarketingName(deviceModel);
Console.WriteLine($"Device Model: {deviceModel}, Marketing Name: {marketingName}");
That’s all you need.
The library works immediately after installation — there is absolutely no additional setup required. You do not need to download, inspect, or interact with Google’s supported_devices.csv file, and you never need to run any generation scripts and
All device mappings are pre‑generated at build time and compiled directly into the assembly. The NuGet package does not include the supported_devices.csv file at all, and it is not used at runtime in any way. Everything is embedded and optimized for fast lookups out of the box.
.NET for Android Usage
In a .NET for Android (Xamarin.Android) application you can directly use Android.OS.Build.Model to retrieve the device model and resolve its marketing name.
using Android.OS;
using DeviceMarketName;
string marketingName = DeviceLookup.GetMarketingName(Build.Model);
Customizing the Device Mappings (for Library Maintainers & Advanced Users) 🛠️
If you want to modify the source code, add new devices, or regenerate the lookup tables from the latest Google spreadsheet, the DeviceMapGen.ps1 script is provided for that purpose.
⚠️ Normal use of the library does not require running this script. It is only for those who need to update or change the built-in mappings.
How DeviceMapGen.ps1 Works
DeviceMapGen.ps1 is a PowerShell script that:
- Downloads the latest
supported_devices.csvfrom Google (or uses a local copy if already present). - Generates multiple partial C# files (
DeviceLookup_PartNNN.cs) containingswitchexpressions for fast device lookup. - Ensures the first matching marketing name is returned for each device model.
Steps to Regenerate the Lookups
- Run the script from the repository root:
.\DeviceMapGen.ps1
Regular users of the NuGet package do not need to run this script.
- The script will download the CSV (if needed) and generate/update the partial C# files in the project folder.
- Rebuild the library – the new mappings will be compiled in. After regeneration, the updated library can be packaged and distributed (or used locally) just like the official release.
Script Features
- Reads supported devices from the official CSV file
- Automatically downloads the file if it is missing
- Splits large mappings into multiple partial classes
- Generates efficient C# switch expressions for fast lookup
- Keeps the device database easy to update and maintain This step is only required if you want to regenerate or modify the device mapping data.
Contributing 🤝
Contributions are highly encouraged! Feel free to submit issues or pull requests to help improve this project.
License ⚖️
This project is licensed under the MIT License.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2026.4.48 | 115 | 4/29/2026 |
| 2026.4.47 | 110 | 4/28/2026 |
| 2025.12.46 | 250 | 12/24/2025 |
| 2025.11.45 | 285 | 11/16/2025 |
| 2025.11.44 | 174 | 11/1/2025 |