The answer varies by client platform:
- Android: The Pushy Android SDK makes use of the device's
ANDROID_ID
in combination with its manufacturer name and model name to recognize the device between app reinstalls. - iOS: The Pushy iOS SDK persists the device credentials in the
iOS Keychain
to recognize the device between app reinstalls. - Web Push: The Pushy Web Push SDK persists device tokens in the
HTML5 Local Storage
(which can be cleared by the user manually). - Electron: The Pushy Electron SDK persists device tokens on local disk, in a directory which varies by platform:
%APPDATA%
on Windows,$XDG_CONFIG_HOME
or~/.config
on Linux, and~/Library/Application Support
on macOS.
The next time your app is reinstalled on the same device, or if the same user's browser accesses your website in the future, our SDK will attempt to determine the previously-assigned device token, instead of generating a new one and charging you twice for the same device.