As you may have noticed, the last Pushlink.start parameter is "yourDeviceId".
PushLink.start(this, R.mipmap.ic_launcher, "yourApiKey", "yourDeviceID");
It's up to you to identify the device.
There is not a default and 100% guarantee way to retrieve the Device ID on Android. It depends on OS version, device brand, etc. That's why Pushlink externalizes the id generation.
However, Pushlink is designed for enterprise apps, and the developer has a certain control over which types of Devices and OS the application is going to run. Don't use an ID which is changed after every uninstall/install. Try to use a long live ID. Think and create your own strategy.
Be careful with not certified ROMs.
Fake IMEI like '004999010640000'.
Fake Settings.Secure.ANDROID_ID like '9774d56d682e549c'.
Be careful with Android releases. They use to change permissions and behaviors related to device identifiers.
Don't do that. You will not be able to manage your installations properly. This will create all sort of problems.
First, your information will be a mess. You will see a lot of installations on the web administration, and you won't be able manage them. Second, we charge based on installations, so you can be charge twice or more for one device running one application.