IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Questions à propos de LicenceChecker


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut Questions à propos de LicenceChecker
    Bonjour,

    J'ignore ce que c'est, mais il faut que je l'implémente dans mes projets.
    Bon apparemment c'est un système qui permet de vérifier que l'utilisateur à bien acheter son application.

    J'ai importé :
    android-sdks\extras\google\play_licensing\library
    android-sdks\extras\google\play_licensing\sample

    library est une librairie.
    sample utilise cette librairie..

    J'ai remplacé la valeur de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private static final String BASE64_PUBLIC_KEY
    Par ma clé.
    Apparemment le téléphone que j'utilise correspond à l'adresse eMail qu'il faut.

    Quand je clique sur Check licence j'ai : Application error: 3.

    Avec Licence Test Response = Respond normally, mais si je met n'importe quoi d'autre ça répond pareil.

    J'ai essayé de mettre ça dans mon projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private static final String BASE64_PUBLIC_KEY = "";
    private LicenseCheckerCallback mLicenseCheckerCallback;
    private LicenseChecker mChecker;
    private static final byte[] SALT = new byte[] {-46, 65, 30, -128, -103, -57, 74, -64, 51, 88, -95, -45, 77, -117, -36, -113, -11, 31, -64, 89};
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    mLicenseCheckerCallback = new MyLicenseCheckerCallback();
     
    String deviceId = Secure.getString(getContentResolver(), Secure.ANDROID_ID);
     
    mChecker = new LicenseChecker(
         this, new ServerManagedPolicy(this,
              new AESObfuscator(SALT, getPackageName(), deviceId)),
         BASE64_PUBLIC_KEY);
     
    mChecker.checkAccess(mLicenseCheckerCallback);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    private class MyLicenseCheckerCallback implements LicenseCheckerCallback {
         public void allow(int policyReason) {
              if (isFinishing()) {
                   return;
              }
              Log.v("MyLicenceCheckerCallback", "Should allow user access : "+policyReason);
         }
     
         public void dontAllow(int policyReason) {
              if (isFinishing()) {
                   return;
              }
              Log.v("MyLicenceCheckerCallback", "Should not allow user access : "+policyReason);
         }
     
         public void applicationError(int errorCode) {
              if (isFinishing()) {
                   return;
              }
              Log.v("MyLicenceCheckerCallback", "The developer made a mistake : "+errorCode);
         }
    }
    Et là c'est pareil, j'ai The developer made a mistake : 3.

    Est-ce que vous savez ce que l'erreur 3 signifie ?
    Si vous avez des infos sur la vérification de licence.
    La doc est bien documenté, voir trop peut être, c'est trop beaucoup trop long.

    Merci.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Hehe, moi je m'y suis plongé pendant plusieurs heures il y a quelques mois.
    En fait, je crois que tu as oublié une étape importante.

    Si mes souvenirs sont bons, il faut avoir mis ton application (avec son propre package name) en tant que draft dans ton espace de publication https://market.android.com/publish/Home

  3. #3
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut
    Merci pour votre réponse.

    J'ai uploadé mon APK sur Google Play, là il est en tant que brouillon.

    J'ai toujours l'erreur 3.
    Est-ce que je peux modifier mon projet, l'envoyer sur mon téléphone et que ça fonctionne ?

    L'erreur 3 c'est :
    LicenseCheckerCallback.ERROR_NOT_MARKET_MANAGED
    Apparemment.

    Donc vous avez raison.
    Cela dit ce n'est pas la seule j'ose que j'ai oublié de faire...

    Edit :
    Au lieu de passer par Eclipse, j'ai pris l'APK que j'ai envoyé sur Google Play et j'ai toujours l'erreur 3.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Ce qu'il faut faire c'est signer l'application depuis eclipse :
    Clic-droit -> Android Tools -> export signed APK.
    Ensuite, upload cet APK sur le market en tant que Draft, et installe cet APK sur ton mobile.

    Autre chose, as-tu un quelconque message d'erreur dans le LogCat qui pourrait nous mettre sur la piste ?

  5. #5
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut
    C'est ce que j'ai fais.

    Le logcat m'indiquait que tout fonctionnait normalement.
    Ça allait jusqu'au Log.v que j'avais mis dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public void applicationError(int errorCode)
    Et l'errorCode c'était 3.

    Par contre, le message vient de changer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    07-20 09:37:22.593: I/LicenseChecker(2958): Calling checkLicense on service for com.
    07-20 09:37:22.597: I/LicenseChecker(2958): Start monitoring timeout.
    07-20 09:37:22.785: I/LicenseChecker(2958): Received response.
    07-20 09:37:22.785: I/LicenseChecker(2958): Clearing timeout.
    07-20 09:37:22.785: W/LicenseValidator(2958): Error contacting licensing server.
    07-20 09:37:22.804: V/MyLicenceCheckerCallback(2958): Should not allow user access : 291
    Ça m'a déjà fait ça hier, probablement parce que je spam de requête.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Par défaut
    Autre chose :
    Es-tu bien certain que ton compte principal de ton smartphone correspond bien à celui de ton compte publisher ?
    Active la synchro automatique (on sait-jamais)

    Ensuite, dans ton profil de compte publisher, va dans Modifier mon profil.
    As-tu bien recopié la clé publique ?
    Ajoute ton adresse email de ton smartphone dans les comptes de test, puis sélectionne LICENSED dans le résultat du test de license.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Question à propos des compilateurs
    Par elf dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 20/07/2005, 17h00
  2. Question à propos des niveaux de transaction
    Par davy.g dans le forum Oracle
    Réponses: 3
    Dernier message: 18/01/2005, 15h31
  3. Petite question à propos du redbook...
    Par Michaël dans le forum OpenGL
    Réponses: 3
    Dernier message: 04/11/2004, 12h54
  4. Petite question à propos d'une requete
    Par ViBy dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/09/2004, 12h21
  5. Une question à propos des thread
    Par tscoops dans le forum C++Builder
    Réponses: 4
    Dernier message: 07/11/2003, 14h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo