Android unique device identifier to use with google's firebase token generator
<p>I am creating an application that uses goolg's firebase as its push notification service. I am just using the push notifications server and DON'T WANT TO use its other services (such as database, authentication and etc).</p>

<p>In my application, a user that signs up can have multiple devices and thus multiple firebase tokens. The problem occurs when <code>onRefreshToken</code> is called. I should know which device the user is using and update that specific device's token in my database. So I should know a unique identifier for each device that does not change in device's lifetime.</p>

<p>I was wondering if there are any better ways to tackle this problem and if not, I am so confused about an android unique ID. The two options are <code>Settings.Secure.ANDROID_ID</code> which may have some issues (so I am not sure if I should use it) and <code>TelephonyManger.getDeviceId()</code> which return null sometimes and for devices that have no sim slots (such as tablets).</p>

<p>So what do you suggest me to do?</p>