← Alle utvidelser

Native utvidelse

KlugDeviceId

com.klug.deviceid

INGEN APM NØDVENDIG. Last ned og bruk. Det blir ikke enklere enn dette.

En stabil identifikator per enhet for AIR-apper på Android og iOS, lest direkte fra systemet.

iOSAndroid I produksjon Fra €19 / år · Kjøp

Oversikt

Mange apper må gjenkjenne en enhet: for å knytte en prøveperiode eller en lisens til den, for å begrense antall enheter per konto, eller for å finne en enhet igjen etter at brukeren har installert appen på nytt. KlugDeviceId leser en stabil identifikator direkte fra operativsystemet.

På Android forblir identifikatoren den samme etter at appen er avinstallert og installert på nytt, noe som gjør den til et ankerpunkt som tåler ny installasjon. På iOS nullstilles systemidentifikatoren når alle apper fra samme utvikler fjernes; for et ankerpunkt som tåler ny installasjon på iOS og macOS bruker du KlugKeychain.

KlugDeviceId brukes daglig i appene våre, vårt proof of concept.

Funksjoner

  • Selvstendig: én ANE, ingen kjernebibliotek eller avhengige ANE-er å legge til
  • Ett kall returnerer enhetsidentifikatoren på Android og iOS
  • Android 8.0 og nyere: forblir den samme etter avinstallering og ny installasjon av appen, så lenge den er signert med samme nøkkel
  • Ingen tillatelse nødvendig
  • Returnerer en tom streng der ingen identifikator er tilgjengelig, aldri en feil

Støttede plattformer

Android arm64 · armv7
iOS arm64

På andre plattformer returnerer isSupported false, slik at den samme koden kan bli værende i en plattformuavhengig app.

Kom i gang

Legg utvidelsen til i applikasjonsbeskrivelsen din:

app.xml
<extensions>
    <extensionID>com.klug.deviceid</extensionID>
</extensions>

Kodeeksempler

Tre komplette flyter. Gettere returnerer med en gang, trenger ingen tillatelse og kaster aldri en feil: der ingen identifikator er tilgjengelig, returnerer de en tom streng. Full dokumentasjon →

1 · Les én gang og send den med innloggingen
Login.as
import com.klug.deviceid.DeviceId;
import flash.events.Event;
import flash.net.*;

// read once at start and keep it: ANDROID_ID on Android, identifierForVendor on iOS
var deviceId:String = DeviceId.getInstance().uniqueId;

function login( user:String, password:String ):void
{
    var vars:URLVariables = new URLVariables();
    vars.user     = user;
    vars.password = password;
    vars.device   = deviceId;     // your server binds the licence or the push token to it

    var req:URLRequest = new URLRequest( "https://your.server/login" );
    req.method = URLRequestMethod.POST;
    req.data   = vars;

    var loader:URLLoader = new URLLoader();
    loader.addEventListener( Event.COMPLETE, onLoginResult );
    loader.load( req );
}
2 · Behold en prøveperiode på tvers av ny installasjon (Android)
Trial.as
var dev:DeviceId = DeviceId.getInstance();

// Android: ANDROID_ID stays the same after uninstall and reinstall; only a
// factory reset changes it. From Android 8 it is specific to your signing key.
var anchor:String = dev.androidId;

if ( anchor != "" )
    checkTrial( anchor );     // your server: has this device used the trial before?
else
    checkTrialOnIOS();        // iOS: androidId is always "" and identifierForVendor is
                              // reset on uninstall, use KlugKeychain as the anchor there
3 · Plattformuavhengig kode og tomme verdier
Device.as
import flash.utils.setTimeout;

function readDeviceId():void
{
    var dev:DeviceId = DeviceId.getInstance();
    if ( !dev.isSupported )
    {
        useOwnDesktopId();        // desktop: isSupported is false, every getter returns ""
        return;
    }

    var id:String = dev.uniqueId;
    if ( id == "" )
        setTimeout( readDeviceId, 1000 );   // iOS can briefly have no value: ask again
    else
        onDeviceId( id );
}

API-oversikt

DeviceId.getInstance()Returnerer den ene instansen.
isSupportedTrue på Android og iOS.
uniqueIdEnhetsidentifikatoren til plattformen som kjører: ANDROID_ID på Android, identifierForVendor på iOS; en tom streng der den ikke er tilgjengelig.
androidIdBare Android-enhetsidentifikatoren, som forblir den samme etter avinstallering og ny installasjon; en tom streng på iOS og andre plattformer.

Kjøp KlugDeviceId

En årslisens for én AIR-applikasjon, med alle oppdateringer i 12 måneder. Etter betaling mottar du utvidelsen, ActionScript-biblioteket og dokumentasjonen på e-post, vanligvis innen én virkedag. Lisens og vilkår

Enkel
€19 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Ingen støtte
Kjøp Enkel
Standard
€149 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Svar på e-post innen 7 dager
Kjøp Standard
Prioritet
€299 / år
  • Lisens for én AIR-applikasjon
  • Alle oppdateringer i 12 måneder
  • Svar på e-post innen 48 timer
Kjøp Prioritet
Skatter og avgifter beregnes ved kassen av Link (Stripe). Du oppgir applikasjons-ID-en til AIR-appen din under kassen.

Krav

AIR SDK51.x (HARMAN)
iOSiOS 17 eller nyere
AndroidAndroid 6.0 (API 23) eller nyere
TillatelserIngen