An Angular 2 (and beyond) powered AOT compatible device detector that helps to identify browser, os and other useful information regarding the device using the app. The processing is based on user-agent.
To install this library, run:
$ npm install ngx-device-detector --save
Import DeviceDetectorModule
in your app.module.ts
import { NgModule } from '@angular/core';
import { DeviceDetectorModule } from 'ngx-device-detector';
...
@NgModule({
declarations: [
...
LoginComponent,
SignupComponent
...
],
imports: [
CommonModule,
FormsModule,
DeviceDetectorModule.forRoot()
],
providers:[
AuthService
]
...
})
In your component where you want to use the Device Service
import { Component } from '@angular/core';
...
import { DeviceDetectorService } from 'ngx-device-detector';
...
@Component({
selector: 'home', // <home></home>
styleUrls: [ './home.component.scss' ],
templateUrl: './home.component.html',
...
})
export class HomeComponent {
deviceInfo = null;
...
constructor(..., private http: Http, private deviceService: DeviceDetectorService) {
this.epicFunction();
}
...
epicFunction() {
console.log('hello `Home` component');
this.deviceInfo = this.deviceService.getDeviceInfo();
console.log(this.deviceInfo);
}
...
}
Holds the following properties
- browser
- os
- device
- userAgent
- os_version
To generate all *.js
, *.js.map
and *.d.ts
files:
$ npm run tsc
To lint all *.ts
files:
$ npm run lint
To run unit tests
$ npm run test
To build the library
$ npm run build
Make sure you have @angular/cli installed
$ npm install -g @angular/cli
$ cd demo
$ npm install
$ ng serve
the demo will be up at localhost:4200
The library is inspired by and based on the work from ng-device-detector . Also used a typescript wrapper of the amazing work in ReTree for regex based needs and an Angular2 Library Creator boilerplate to get the work started fast. I.e. Generator Angular2 library.
MIT © Ahsan Ayaz
#1.2.2 (contains breaking changes)
- Removing the SSR (Universal) support because of the raising issues.
- Will be revisiting SSR support properly in April.
#1.2.1
- moved @angular/platform-server to peer-dependencies
#1.2.0
- minor fixes
- fixed #27.
#1.1.7
- minor fixes
#1.1.6
- fixes. Readme Updated with Angular Universal dependency info
#1.1.5
- fixes #22, #23
#1.1.4
- fixes
- Support added for Angular Universal
#1.1.3
- fixes
#1.1.2
- fixes
#1.1.1
- fixes
#1.1.0 (contains breaking changes)
- Added official support to Angular5
- The package name has been changed to
ngx-device-detector
- Renamed the Service from
Ng2DeviceService
toDeviceDetectorService
- Renamed the Module from
Ng2DeviceDetector
toDeviceDetectorModule
#1.0.0 (contains breaking changes)
- Renamed the Service from
Device
toNg2DeviceService
- Renamed the Module from
Ng2DeviceDetector
toNg2DeviceDetectorModule
- Import has changed from
imports: [Ng2DeviceDetectorModule]
toimports: [Ng2DeviceDetectorModule.forRoot()]