← Alla tillägg

Inbyggt tillägg

KlugDeviceId

com.klug.deviceid

INGEN APM BEHÖVS. Ladda ner och njut. Det blir inte enklare än så.

En stabil identifierare per enhet för AIR-appar på Android och iOS, läst direkt från systemet.

iOSAndroid I produktion Från €19 / år · Köp

Översikt

Många appar behöver känna igen en enhet: för att knyta en provperiod eller licens till den, för att begränsa antalet enheter per konto eller för att hitta en enhet igen efter att användaren installerat om appen. KlugDeviceId läser en stabil identifierare direkt från operativsystemet.

På Android förblir identifieraren densamma efter att appen avinstallerats och installerats igen, vilket gör den till ett ankare som överlever ominstallation. På iOS återställs systemets identifierare när alla appar från samma utvecklare tas bort; för ett ankare som överlever ominstallation på iOS och macOS använder du KlugKeychain.

KlugDeviceId används dagligen i våra appar, vårt proof of concept.

Funktioner

  • Fristående: ett ANE, inget kärnbibliotek eller beroende-ANE:er att lägga till
  • Ett anrop returnerar enhetens identifierare på Android och iOS
  • Android 8.0 och senare: förblir densamma efter att appen avinstallerats och installerats om, så länge den är signerad med samma nyckel
  • Ingen behörighet behövs
  • Returnerar en tom sträng där ingen identifierare finns, aldrig ett fel

Plattformar som stöds

Android arm64 · armv7
iOS arm64

På andra plattformar returnerar isSupported false, så att samma kod kan ligga kvar i en plattformsoberoende app.

Kom igång

Lägg till tillägget i din applikationsbeskrivning (application descriptor):

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

Kodexempel

Tre kompletta flöden. Getters returnerar direkt, kräver ingen behörighet och kastar aldrig undantag: där ingen identifierare finns returnerar de en tom sträng. Fullständig dokumentation →

1 · Läs en gång och skicka med inloggningen
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 · Behåll en provperiod över ominstallation (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 · Plattformsoberoende kod och tomma värden
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-översikt

DeviceId.getInstance()Returnerar den enda instansen.
isSupportedTrue på Android och iOS.
uniqueIdEnhetsidentifieraren för den plattform som körs: ANDROID_ID på Android, identifierForVendor på iOS; en tom sträng där den inte finns.
androidIdEndast Android-enhetens identifierare, som förblir densamma efter avinstallation och ominstallation; en tom sträng på iOS och andra plattformar.

Köp KlugDeviceId

En årslicens för en AIR-applikation, med alla uppdateringar i 12 månader. Efter betalning får du tillägget, ActionScript-biblioteket och dokumentationen via e-post, vanligtvis inom en arbetsdag. Licens och villkor

Enkel
€19 / år
  • Licens för en AIR-applikation
  • Alla uppdateringar i 12 månader
  • Ingen support
Köp Enkel
Standard
€149 / år
  • Licens för en AIR-applikation
  • Alla uppdateringar i 12 månader
  • Svar via e-post inom 7 dagar
Köp Standard
Prioritet
€299 / år
  • Licens för en AIR-applikation
  • Alla uppdateringar i 12 månader
  • Svar via e-post inom 48 timmar
Köp Prioritet
Skatter beräknas i kassan av Link (Stripe). Du anger application ID för din AIR-app under köpet.

Krav

AIR SDK51.x (HARMAN)
iOSiOS 17 eller senare
AndroidAndroid 6.0 (API 23) eller senare
BehörigheterInga