Je pense que la seule façon fiable de faire ceci est que chaque utilisateur contacte un serveur régulièrement (Firebase peut-être) afin de "s'inscrire" comme l'installation actuellement autorisée.
Je l'ai vu avec certains jeux où toute tentative d'exécuter le jeu deux fois pour le même utilisateur provoque l'affichage d'un message d'erreur.
Vous devez disposer d'un mécanisme de «déconnexion», mais aussi de déconnexion forcée lorsqu'une application se bloque et qu'aucune déconnexion n'est effectuée. Peut-être appelez-vous au serveur toutes les 30 secondes environ pour lui dire que vous êtes toujours en usage sur cet appareil.
En ce qui concerne IMEI. Voir https://developer.android.com/training/articles/user-data-ids.html
Étant donné que chaque périphérique possède une adresse MAC unique, vous pouvez en tirer parti pour vous aider à résoudre ce problème. –
vous voulez dire qu'un seul utilisateur peut exécuter une seule instance? Donc, si 10 personnes ont votre application, seulement une d'entre elles peut l'utiliser simultanément? –