2016-11-22 2 views
0

Je souhaite créer une connexion spécifique au périphérique dans l'application mobile Android, de sorte qu'une licence pour un utilisateur mobile puisse être obtenue (limiter l'installation pour un périphérique).Android Installation et licence uniques

Je l'ai utilisé id android mais il a changé après réinitialisation d'usine adresse .MAC et IMEI Non disponible en versions Android plus. UUID ne peut pas être stocké dans le stockage privé car il peut être altéré avec le périphérique enraciné.

Comment créer une connexion spécifique au périphérique et si je souhaite utiliser une clé unique pour la même clé?

+1

Vous ne pouvez pas, au moins pas de manière fiable. Il y a un bon argument à faire qu'après une réinitialisation d'usine, c'est vraiment un nouvel appareil. Aussi, vous pourriez vouloir repenser votre approche. Le modèle Android indique que les applications sont concédées sous licence à l'utilisateur et non à l'appareil. Voulez-vous vraiment dire à vos utilisateurs qu'ils n'ont plus de licence pour l'application s'ils doivent remplacer leur appareil? –

Répondre

0

Google Play offre un moyen de restreindre les appareils: utilisez la bibliothèque de vérification des licences et implement a DeviceLimiter. J'ai trouvé the interface et il a une certaine documentation:

La réponse AUTORISÉ du serveur contient un identifiant d'utilisateur unique à la paire d'applications <, l'utilisateur >. Le développeur peut envoyer cet identifiant à leur propre serveur avec un certain identifiant de l'appareil (un nombre aléatoire généré et stocké une fois par installation de l'application, {@link android.telephony.TelephonyManager # GetDeviceID GetDeviceID}, { @link android.provider .Settings.Secure # ANDROID_ID ANDROID_ID}, etc). Plus il y a de sources pour identifier le périphérique, plus il sera difficile pour un attaquant d'usurper.