Innholdsfortegnelse:
- Opprette en ny Android-applikasjon
- Lisensieringsbiblioteket
- Få en lisensnøkkel for appen din
- Endre appen din for lisensiering
- Teste appens lisensiering
Video: OM Chanting @417 Hz | Removes All Negative Blocks 2024
Med Android-applisensiering kontrollerer hver enhet med en server for å sikre at denne enheten har tillatelse til å kjøre appen din. Lisensiering er viktig for alle betalte apper. Lisensiering er også en god forholdsregel med en gratis app (for å hjelpe deg med å opprettholde eierskapet til appens konsept). Denne artikkelen guider deg gjennom trinnene for å legge til en enkel lisensordning for Android-applikasjonen.
Opprette en ny Android-applikasjon
Opprett et nytt Android-prosjekt slik du vanligvis gjør det. Når du angir et Minimum SDK, velger du API Nivå 19 eller lavere. I den nye appens bygge. gradle fil, endre targetSdkVersion til 19 eller lavere. (Det krever mer arbeid å gjøre lisensiering når du målretter mot et nyere API-nivå.)
Lisensieringsbiblioteket
Her kan du legge til Googles lisensbibliotek til prosjektet ditt:
-
På verktøylinjen i Android Studio velger du Verktøy → Android → SDK Manager.
-
Velg SDK-lisensbiblioteket i SDK-administratorens SDK-verktøy.
-
Klikk OK for å laste ned og installere lisensieringsbiblioteket.
-
Når installasjonen er fullført, klikker du Fullfør for å avvise SDK Manager.
-
I hovedmenyen til Android Studio velger du Arkiv → Prosjektstruktur.
-
På venstre side av dialogboksen Prosjektstruktur velger du posisjonen SDK-plassering.
-
I hoveddelen av dialogboksen Prosjektstruktur skal du merke oppføringen i Android SDK-lokaliseringstekstfeltet.
Dette er stedet på harddisken din der Android SDK er installert.
-
Klikk OK for å avvise dialogboksen Prosjektstruktur.
-
Med utviklingsdatamaskinens File Explorer eller Finder, besøk stedet på harddisken din der Android SDK er installert.
-
Naviger nedover til ekstramaterialet / google / play_licensing / library / src / com-katalogen.
I den katalogen finner du en underkatalog som heter google.
-
Kopier google-katalogen til programmets app / src / main / java / com-katalog.
Nå har applikasjonens app / src / main / java / com-katalog to underkataloger. For eksempel, hvis et program er i en pakke med navnet com. allyourcode. licenseingdemo, applikasjonens app / src / main / java / com-katalog har underkataloger kalt allyourcode og google. Du kan se dette med datamaskinens Filutforsker eller Finder, men du kan også se det i Android Studios prosjektverktøy-vindu (som vist her).
Noen nye underkataloger.Få en lisensnøkkel for appen din
Du trenger en lisensnøkkel for å publisere denne appen. Gjør følgende for å få nøkkelen:
-
Gå til Google Play Butikk Utviklerkonsoll.
-
I utviklerkonsollen klikker du på Legg til ny applikasjonsknapp.
En ny applikasjonsside vises.
-
Skriv inn en tittel for det nye programmet på siden Legg til ny applikasjon.
-
Fortsett på siden Legg til ny applikasjon, klikk på Forbered butikkoppføring-knappen.
Du er tatt til en butikkoppføringsside.
-
Velg Tjenester og APIer på venstre side av butikkoppføringssiden.
Innholdet i butikkoppføringssiden endres.
-
På Store Listing-siden, se etter en monstrøst lang rekkefølge av tegn som den som er vist her.
En uhyre lang sekvens av tall. -
Kopier den sekvensen av tegn, og lim den inn i en ren tekstfil på utviklingsdatamaskinens harddisk.
Endre appen din for lisensiering
Deretter må du legge til kode i appen din slik at appen sjekker lisensserveren før du tillater kunden å bruke den. Her er en bare-beinprøve. (For en rikere prøve, se koden i SDK-tillegget / google / play_licensing / sample-mappen.)
importer android. app. Aktivitet; importere android. innhold. Intent; importere android. os. Bunt; importere android. forsørger. innstillinger; importere com. Google. android. vending. lisensiering. AESObfuscator; importere com. Google. android. vending. lisensiering. LicenseChecker; importere com. Google. android. vending. lisensiering. LicenseCheckerCallback; importere com. Google. android. vending. lisensiering. ServerManagedPolicy; offentlig klasse MainActivity utvider Aktivitet {privat statisk endelig streng BASE64_PUBLIC_KEY = "DIN OFFENTLIG NØKKEL GÅR HER"; privat statisk endelig byte [] SALT = ny byte [] {// Tjue numre (fra // -128 til +127) gå her}; privat LicenseCheckerCallback mLicenseCheckerCallback; privat LicenseChecker mChecker; privat booleansk keepGoing = true; @Override public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. activity_main); String deviceId = Innstillinger. Sikre. getString (getContentResolver (), Innstillinger. Sikker. ANDROID_ID); mLicenseCheckerCallback = ny MyLicenseCheckerCallback (); mChecker = ny LicenseChecker (denne nye ServerManagedPolicy (denne nye AESObfuscator (SALT, getPackageName (), deviceId)), BASE64_PUBLIC_KEY); doCheck ();} @Override public void onResume () {super. onResume (); hvis (! keepGoing) {finish ();}} privat void doCheck () {mChecker. checkAccess (mLicenseCheckerCallback);} privat klasse MyLicenseCheckerCallback implementerer LicenseCheckerCallback {public void allow (int policyReason) {if (isFinishing ()) {// Ikke oppdatere brukergrensesnitt hvis aktiviteten er ferdig. return;}} offentlig tomrom dontAllow (int policyReason) {if (isFinishing ()) {return;} keepGoing = false; Intent Intent = Ny Intent (MainActivity. This, NotLicensedActivity. Class); hensikt. putExtra ("message", getResources (). getString (R. streng. app_not_licensed) + "(0x" + Integer. toHexString (policyReason) + ")"); startActivity (intent);} offentlig ugyldig søknadError (int errorCode) {if (isFinishing ()) {return;} keepGoing = false; Intent Intent = Ny Intent (MainActivity. This, NotLicensedActivity. Class); hensikt. putExtra ("message", getResources ().getString (R. streng. application_error) + "(0x" + Integer. toHexString (errorCode) + ")"); startAktivitet (hensikt);}} @Override protected void onDestroy () {super. onDestroy (); mChecker. onDestroy (); // Ikke glem denne linjen. Uten det kan appen din krasje.}}
For å gjøre denne prøvekoden til å fungere, må du legge til noen ekstra ingredienser:
-
I hovedaktiviteten skal du erstatte ordene DINE OPPLYSNINGER NYHETER HER med din egen lisensnøkkel fra Trinn 6 og 7 i denne artikkelen er "Få en lisensnøkkel for appen din" -delen.
-
Lag din egen 20-talls SALT-verdi - et fint uttrykk for et sett av tilfeldig produserte verdier - og legg det til hovedaktivitetenes kode.
-
Opprett app_not_licensed og application_error strengressurser.
-
Legg til i prosjektets AndroidManifest. xml-fil.
-
Legg til din egen apps kode til prøvekoden. (Med andre ord, la appen gjøre hva den skal gjøre - spill et spill, vis informasjon, løse et problem, eller hva som helst.)
-
Lag en NotLicensedActivity-klasse.
En prøve NotLicensedActivity kopieres her.
offentlig klasse NotLicensedActivity utvider Aktivitet {public void onCreate (Bundle savedInstanceState) {super. onCreate (savedInstanceState); setContentView (R. layout. not_licensed); String message = getIntent (). getExtras (). getString ("message"); ((TextView) findViewById (R. Id. Message_text)). setText (melding); ((TextView) findViewById (R. Id. Message_text2)). setTxt (message);} public void quitApp (Se visning) {finish ();}}
-
Legg til tekstvisninger med navnet message_text og message_text2 til NotLicensedActivitys layoutfil.
I hovedaktiviteten kommer kjernen i lisenskontrollen i to deler (a) kallet til doCheck (), som kommuniserer med Google Play-serveren, og (b) MyLicenseCheckerCallback indre klasse (klassen som reagerer på Play-serverens resultater). LicenseCheckerCallback må ha minst tre metoder - en tillatelse () -metode for "Gå videre og bruk appen", en dontAllow () -metode for "du har ikke lisensiering til å bruke denne appen", og en applicationError () -metode for "Åh åh! "
I prøvekoden er ikke noe spesielt gjort i allow () -metoden. I dontAllow () og applicationError () -metoder er det startet en annen aktivitet som heter NotLicensedActivity. Du kan gjøre denne NotLicensedActivity gjøre alt du vil. Uansett hva som skjer i NotLicensedActivity, er et KeepGoing-felt satt til false, og forteller hovedaktiviteten å ringe ferdig () (i onResume-metoden) når den returneres fra NotLicensedActivity.
Du kan bruke dette trikset eller gjøre noe annerledes. I Android er aktiviteter ikke modal . Det vil si at hvis en aktivitet delvis dekker en annen aktivitet, kan brukeren samhandle med hver aktivitet ved å berøre den aktuelle delen av skjermen. Så hvis NotLicensedActivity ikke dekker hovedaktiviteten helt, kan brukeren omgå NotLicensedActivity ved å berøre en annen del av skjermen. For å unngå at dette skjer, gjør NotLicensedActivity til hele skjermbildet, motstå fristelsen til å gjøre NotLicensedActivity ligne en liten dialogboks.
Teste appens lisensiering
Fungerer applisensiering? Kan lisensierte brukere kjøre appen din? Og hva med unlicensed brukere? Kan de kjøre appen din også? Du kan finne ut etter at du har lastet opp appen din, og før du faktisk publiserer appen din. Slik gjør du:
-
Gå til // spill. Google. com / apps / publisere /.
-
Velg den mest venstre delen av Developer Console-siden, og velg Innstillinger.
Innstillingssiden for kontoen din vises.
-
Velg Kontoinformasjon på venstre side av Innstillinger-siden.
-
Bla ned på siden Kontodetaljer til du finner en lisenstesting-seksjon.
I delen Licenstesting finner du et tekstfelt som er merket med Gmail-kontoer med testtilgang. Du finner også en rullegardinliste som er merket med lisenstestrespons.
Alternativer for lisenstestresponsen -
Skriv inn e-postadressen for en eller flere Gmail-kontoer i Gmail-kontoene med Testing Access-feltet.
Hvis du skriver mer enn en e-postadresse, bruker du et komma for å skille en adresse fra en annen. Personer hvis Android-enheter er registrert på disse e-postadressene, vil kunne finne din app i Google Play Butikk. (Andre ser ikke appen din.)
-
I listen over godkjente testresponser velger du NOT_LICENSED.
Brukere som installerer appen din (brukere med Gmail-adressene du oppførte i trinn 5) får denne NOT_LICENSED-responsen når de prøver å kjøre appen.
-
Fortell brukerne på listen Gmail-kontoer for å prøve å laste ned og installere appen din.
Hvis appens kode er riktig (for eksempel hvis onCreate-metoden i hovedaktiviteten i denne artikkelen gjør jobben sin), vil brukerens ikke kunne fortsette å kjøre appen din. Det er akkurat det du vil
-
Når du er fornøyd med resultatene av testingen i trinn 6 og 7, kan du gå tilbake til utviklerkonsollen og endre lisensiert testrespons til LISENSERT.
-
Fortell brukerne på listen Gmail-kontoer for å prøve å kjøre appen din igjen.
Hvis appens kode er riktig (for eksempel hvis onCreate-metoden i denne artikkelen er hovedaktiviteten gjør jobben sin), vil brukerens kunne fortsette å kjøre appen din.
-
Prøv andre alternativer i listen Licensed Test Response - alternativer som LICENSED_OLD_KEY, ERROR_SERVER_FAILURE, og så videre.
Husk, det er ikke så mye som for mye testing.