@techbana/device-type-capture
TypeScript icon, indicating that this package has built-in type declarations

2.0.0 • Public • Published

@techbana/device-type-capture

This package helps identify and capture the device type (High/Medium/Low end based on connection quality, cpu, ram, saveData mode etc.) to give an option to use it for A/B test on client side, feature enable/disable etc.

Note: This package can do what it promises, however this package is still under active development for feature enhancements. Please contribute back if you are able to find bugs/issues or want to contribute feature update to the package.

Keeping this package as open source for everyone to know how identification of device type or tier could be done. Runs on Github actions.

Installation

npm i @techbana/device-type-capture

Usage

Simple


import deviceTypeCapture from "@techbana/device-type-capture";

const tier =  deviceTypeCapture();
console.log(tier)

Client side device capture


{
    "tier": "high-end",
    "tierLevel": "H",
    "clientInfo": {
        "userAgent": "Mozilla/5.0 (Macintosh;) AppleWebKit/5 (KHTML, like Gecko) Chrome/11.0.0.0 Safari/5.36",
        "language": "en-GB",
        "platform": "Mac",
        "screenWidth": 1290,
        "screenHeight": 900,
        "browserName": "Firefox",
        "browserVersion": "12.0.0.0"
    },
    "tierDetails": {
        "cpu": 8,
        "ram": 8,
        "connection": "4g",
        "connectionRTT": 50,
        "connectionDownlink": 1.5,
        "saveDataMode": false
    }
}

Features:

  • Notify if the device is high-end, low-end, mid-range device based on cpu, ram and network information
  • Captures below information:
    • CPU
    • RAM
    • connection
    • connection RTT
    • connectionDownlink
    • saveDataMode
    • clientInfo

Contributing

The main purpose of this repository is to continue evolving @techbana/device-type-capture, making it faster and easier to use. Development of @techbana/device-type-capture happens in the open on GitHub, and we are grateful to the community for contributing bugfixes and improvements. Read below to learn how you can take part in improving @techbana/device-type-capture.

Code of Conduct

We have adopted a Code of Conduct that we expect project participants to adhere to. Please read CODE_OF_CONDUCT.md so that you can understand what actions will and will not be tolerated.

Contributing Guide

Read our contributing guide to learn about our development process, how to propose bugfixes and improvements, and how to build and test your changes to @techbana/device-type-capture.

Good First Issues

To help you get your feet wet and get you familiar with our contribution process, we have a list of good first issues that contain bugs that have a relatively limited scope. This is a great place to get started.

License

@techbana/device-type-capture is MIT licensed.

Package Sidebar

Install

npm i @techbana/device-type-capture

Weekly Downloads

8

Version

2.0.0

License

MIT

Unpacked Size

25 kB

Total Files

7

Last publish

Collaborators

  • manishekhawat