Hjem Sosiale medier Om Applisensiering - dummies

Om Applisensiering - dummies

Innholdsfortegnelse:

Video: OM Chanting @417 Hz | Removes All Negative Blocks 2024

Video: OM Chanting @417 Hz | Removes All Negative Blocks 2024
Anonim

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:

  1. På verktøylinjen i Android Studio velger du Verktøy → Android → SDK Manager.

  2. Velg SDK-lisensbiblioteket i SDK-administratorens SDK-verktøy.

  3. Klikk OK for å laste ned og installere lisensieringsbiblioteket.

  4. Når installasjonen er fullført, klikker du Fullfør for å avvise SDK Manager.

  5. I hovedmenyen til Android Studio velger du Arkiv → Prosjektstruktur.

  6. På venstre side av dialogboksen Prosjektstruktur velger du posisjonen SDK-plassering.

  7. 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.

  8. Klikk OK for å avvise dialogboksen Prosjektstruktur.

  9. Med utviklingsdatamaskinens File Explorer eller Finder, besøk stedet på harddisken din der Android SDK er installert.

  10. Naviger nedover til ekstramaterialet / google / play_licensing / library / src / com-katalogen.

    I den katalogen finner du en underkatalog som heter google.

  11. 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:

  1. Gå til Google Play Butikk Utviklerkonsoll.

  2. I utviklerkonsollen klikker du på Legg til ny applikasjonsknapp.

    En ny applikasjonsside vises.

  3. Skriv inn en tittel for det nye programmet på siden Legg til ny applikasjon.

  4. Fortsett på siden Legg til ny applikasjon, klikk på Forbered butikkoppføring-knappen.

    Du er tatt til en butikkoppføringsside.

  5. Velg Tjenester og APIer på venstre side av butikkoppføringssiden.

    Innholdet i butikkoppføringssiden endres.

  6. 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.
  7. 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:

  1. Gå til // spill. Google. com / apps / publisere /.

  2. Velg den mest venstre delen av Developer Console-siden, og velg Innstillinger.

    Innstillingssiden for kontoen din vises.

  3. Velg Kontoinformasjon på venstre side av Innstillinger-siden.

  4. 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
  5. 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.)

  6. 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.

  7. 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

  8. 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.

  9. 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.

  10. 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.

Om Applisensiering - dummies

Redaktørens valg

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Bruk skjermfeltet til å endre QuickBooks 2014 Rapporter - dummies

Skjermbildet i QuickBooks Modify Report dialogboksen lar deg kontrollere rapportintervalldatoen, rapportgrunnlaget, kolonnene og en annen formatering. Bokstavene Rapporter datoområde - Datoer, Fra og Til - gjør det samme som Datoer, Fra og Til bokser i Rapportvinduet. Disse boksene lar ...

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Bruk skjermfeltet til å modifisere QuickBooks 2013 Rapporter - dummies

Hvis du klikker Tilpass rapport, QuickBooks viser dialogboksen Endre rapport, som du kan bruke til å tilpasse en rapport. Når du tilpasser en rapport, endrer du rapportens utseende, layout og informasjonen som den oppsummerer. Dialogboksen Endre rapport ser annerledes ut for ulike rapporttyper. Likevel, hvis du ser forbi ...

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Bruk fanen Filtre til å modifisere QuickBooks 2014 Rapporter - dummies

Filtrene kategorien er trolig den mest interessante og en nyttig kategori som er levert av dialogboksen QuickBooks Modify Report. Filtre-fanen lar deg sette opp filtre som du kan bruke til å angi hvilken informasjon som oppsummeres i rapporten. For å bruke Filtrer-fanen velger du først feltet du vil ha ...

Redaktørens valg

Administrere Cloud Computing Resources - dummies

Administrere Cloud Computing Resources - dummies

I teorien bør cloud computing-tjenester ikke være forskjellig fra ressursene i din eget miljø, bortsett fra at de bor eksternt. Ideelt sett har du en komplett visning av cloud computing-ressursene du bruker i dag, eller vil kanskje bruke i fremtiden. I de fleste skymiljøer kan kunden bare få tilgang til ...

Tips for Going Cloud med datanettverkene dine - dummies

Tips for Going Cloud med datanettverkene dine - dummies

Beregning med datanettverket ditt kan være, hva skal du gjøre for å ta nettverket ditt mot skyen? Her er noen anbefalinger: Ikke stole på en dårlig Internett-tilkobling. Først og fremst, før du tar noen av nettverksoperasjonene i skyen, gjør du ...

Nettverkstjenester levert gjennom Cloud Computing - dummies

Nettverkstjenester levert gjennom Cloud Computing - dummies

Tre forskjellige typer nettverkstjenester kan leveres via skyen: applikasjoner , plattformer og tjenester (infrastruktur). I de følgende avsnittene beskrives disse tre typer skyttjenester i større detalj. Programmer i skyen Vanligvis kalt Software as a Service (SaaS), fullt funksjonelle applikasjoner kan leveres via skyen. En av ...

Redaktørens valg

10 Hadoop Ressurser verdt en bokmerke - dummies

10 Hadoop Ressurser verdt en bokmerke - dummies

Følgende er ti fantastiske Hadoop-ressurser som er verdige til å skape en bokmerke i nettleseren din. Disse ressursene hjelper deg med å skape en livslang læringsplan for Hadoop. Sentralnervesystemet: Apache. org Apache Software Foundation (ASF) er det sentrale fellesskapet for open source-programvareprosjekter. Ikke bare et prosjekt kan være et Apache-prosjekt - ...

Data transformasjon i Hadoop - dummies

Data transformasjon i Hadoop - dummies

Ideen om Hadoop-inspirerte ETL motorer har fått mye trekkraft de siste årene. Hadoop er trods alt en fleksibel datalagrings- og behandlingsplattform som kan støtte store mengder data og operasjoner på dataene. Samtidig er det feiltolerant, og det gir mulighet for kapital- og programvarekostnad ...

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Datablokker i Hadoop Distributed File System (HDFS) - dummier

Når du lagrer en fil i HDFS, bryter systemet det ned i et sett med individuelle blokker og lagrer disse blokkene i forskjellige slave noder i Hadoop-klyngen. Dette er en helt vanlig ting å gjøre, da alle filsystemer bryter filer ned i blokker før de lagres til disk. HDFS har ingen ...