Domanda

Sto provando il servizio di licenza del mercato e sto riscontrando alcuni problemi con l'applicazione di esempio.

Quando ho eseguito l'esempio per la prima volta, ho ricevuto un errore che informava che l'applicazione non disponeva di licenza.Ho collegato il mio account al simulatore per ottenere la risposta al test e ora ricevo un errore che dice "Errore dell'applicazione:NOT_MARKET_MANAGED"

Ciò significa che devo caricare l'app sul market per testare se funziona?

È stato utile?

Soluzione

Si vostra applicazione deve essere sul mercato e se non lo sia già, è necessario disporre di un numero di codice di versione che è maggiore o uguale a quello già pubblicato.

Altri suggerimenti

Ci può essere un altro modo. I commenti su MainActivity del campione leggere:

 * The first thing you need to do is get your hands on your public key.
 * Update the BASE64_PUBLIC_KEY constant below with your encoded public key,
 * which you can find on the
 * <a href="http://market.android.com/publish/editProfile">Edit Profile</a>
 * page of the Market publisher site.
 * <p>
 * Log in with the same account on your Cupcake (1.5) or higher phone or
 * your FroYo (2.2) emulator with the Google add-ons installed. Change the
 * test response on the Edit Profile page, press Save, and see how this
 * application responds when you check your license.

E quando si accede a http://market.android.com/publish/editProfile si vedrà un'opzione per cambiare il License Test Response:

entrare descrizione dell'immagine qui

Testualmente dicendo:

  

Questa Licenza di risposta di prova sarà   inviato ad apparecchiature con @ gmail.com   o agli account di prova elencati sopra per   le applicazioni che hai caricato a   Mercato. Inoltre, questo account   (Ma non agli account di prova) sarà   ricevere questa risposta per le applicazioni   che non sono ancora stati caricati   Mercato.

Se si fa clic su quella lista di selezione, si vedrà diverse opzioni:

entrare descrizione dell'immagine qui

Credo che tutto quello che dovete fare, per quel campione iniziale LVL esercitazione programma, è cambiare la risposta da Respond normally a LICENSED o qualsiasi altra impostazione che si desidera testare.

UPDATE: Si scopre che la misura di cui sopra è insufficiente. Ancora ottengo l'errore NOT_MARKET_MANAGED. Credo che "mercato delle licenze Esempio" deve essere caricato come risposte precedenti hanno suggerito. Si noti, tuttavia, che non può essere la versione di debug:

entrare descrizione dell'immagine qui

Oh , e non si può davvero caricare che "mercato delle licenze Esempio" come è . È necessario almeno cambiare il nome del pacchetto:

entrare descrizione dell'immagine qui

Posso vedere come il sistema di campionamento / esempio di Google potrebbe essere migliorata per diventare più developer-friendly ...

Strano. Dopo aver caricato l'applicazione (solo upload e salvare progetto, non il riempimento di qualsiasi altri campi obbligatori), il "Esempio Licensing mercato" smette di emissione l'errore NOT_MARKET_MANAGED, nonostante il fatto che chiaramente selezionato NOT_LICENSED . Invece risponde con il messaggio Allow the user access. Ho anche provato a installare (per la prova e fini dell'apprendimento) a ERROR_SERVER_FAILURE ma ottengo lo stesso messaggio Allow the user access.

Perché?

Si sarebbe potuto pensare "Progetto Saved" sarebbe proprio quello che questo è per. In caso contrario, si sta vendendo un app che, per definizione, non può sono state completamente testate dal vivo.

Carica la tua app (.apk) per il mercato. Lo stato di default sarà "Progetto Saved", quindi non sarà visibile al pubblico, ma è ancora possibile testare la licenza.

Un altro potenziale problema:

Assicurarsi che la versione che si stanno testando / corsa ha lo stesso Android: versionCode nel AndroidManifest.xml come la bozza sul mercato. Se le versioni sono diverse, si riceverà un errore di NOT_MARKET_MANAGED. (A quanto pare la coppia di chiavi RSA utilizzata per la licenza controlli è in una base per-app / per-versione.)

Dopo un po 'di fatica ho ottenuto questo lavoro. Non è possibile utilizzare il campione LVL come è.

Ecco quello che ho fatto:

  • modificare il pacchetto del progetto a qualcos'altro (io ho usato: lvl.test)
  • impostato BASE64_PUBLIC_KEY di MainActivity a quella per sviluppatori profilo Console.
  • esportare l'applicazione firmato
  • vai alla Console per gli sviluppatori e caricare l'applicazione (creare immagini fittizie e dargli un nome fittizio e la descrizione ecc solo in modo che si salva e viene indicato come 'Inedito')
  • installare l'applicazione esportata (dal file system) per il dispositivo di test (vale a dire adb installare bin / path / to / your.apk)
  • sul dispositivo, aprire Android Market vai a: Impostazioni> Account> e selezionare quella che corrisponde al vostro conto Developer Console
  • è ora possibile selezionare una licenza statica Response Test nella tua Console per gli sviluppatori profilo e salvarlo. Quando si esegue l'esempio LVL sul dispositivo la risposta sarà conforme a quello che hai scelto!

Dalla mia esperienza, l'app deve essere pubblicata prima che LVL inizi a funzionare, incl.test di risposta statica.Per me ERROR_NOT_MARKET_MANAGED se ne andò solo dopo la pubblicazione i documenti di' che puoi Debug e testare l'implementazione delle licenze di un'applicazione, prima di pubblicare l'applicazione.

La parte interessante è puoi pubblicare avendo solo build alpha/beta -- l'app non funzionerà davvero vivere, solo gli account di prova potranno utilizzarlo.

Quando ti stai preparando per il rilascio iniziale, potrebbe sembrare innaturale colpire Pubblicare prima di essere completamente sicuro che tutto funzioni (e il fatto di dover inserire la descrizione e gli screenshot prima di poterlo fare è ancora più allarmante: penseresti che siano gli ultimi ritocchi) - ma dovresti , assicurati solo di aver fatto una scelta sensata riguardo al nome del pacchetto e se l'app è a pagamento o gratuita: questi elementi non possono essere modificati dopo la pubblicazione. Editoria da solo non rende pubblica l'app;a meno che tu non abbia un Produzione build non preoccuparti di rendere accidentalmente disponibile una versione non testata.

Questo è legato in modo che possa aiutare qualcuno:

stavo testando su un trasformatore di Asus e dovuto cancellare tutti i non-sviluppatori account per ottenere test licenza per il lavoro (compreso il mio conto yahoo). Una volta che gli altri account sono stati eliminati tutti i passaggi lavorato senza problemi.

Nel mio caso mi è stato sempre a causa della differenza di codice di versione come .. codice della versione di apk già pubblicato 2 =

e dopo un po 'il rilascio di test del nuovo apk ho avuto set di codici per la versione 5

, che stava causando questo errore come differenza versione dovrebbe essere esattamente 1 con apk attualmente pubblicata .. stesso è stato applicato con nome della versione troppo ..

Se hai già provato tutti i suggerimenti di cui sopra provare questo:

Ho avuto la stessa risposta per un po 'e non riuscivo a capire perché questo era il caso. Ho letto l'intera documentazione sul App Licensing e ricevendo sempre la stessa fastidiosa codice di risposta NOT_MARKET_MANAGED.

Mi è stato finalmente Abe per risolvere il problema cambiando la mia ApplicationID nel file AndroidManifest.xml. Ho riscritto un app da zero a partire con un nuovo progetto vuoto. Il problema era che non ho usato l'esatto corretto applicationID. Il problema era che l'applicazione originale sul Google Play Store utilizzato una lettera maiuscola, mentre scrivevo tutte le lettere in minuscolo nel progetto appena creato.

Da quando ho corretto l'ApplicationId in modo che corrisponda al 100% (tra cui involucro) ottengo il comportamento previsto del servizio di gestione licenze.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top