← Alle Erweiterungen

Native Erweiterung

KlugDeviceId

com.klug.deviceid

KEIN APM NÖTIG. Herunterladen und loslegen. Einfacher geht es nicht.

Eine stabile Kennung pro Gerät für AIR-Apps auf Android und iOS, direkt aus dem System gelesen.

iOSAndroid Im Produktiveinsatz Ab €19 / Jahr · Kaufen

Überblick

Viele Apps müssen ein Gerät wiedererkennen: um eine Testphase oder Lizenz daran zu binden, die Zahl der Geräte pro Konto zu begrenzen oder ein Gerät wiederzufinden, nachdem der Nutzer die App neu installiert hat. KlugDeviceId liest eine stabile Kennung direkt aus dem Betriebssystem.

Unter Android bleibt die Kennung gleich, nachdem die App deinstalliert und erneut installiert wurde, was sie zu einem neuinstallationssicheren Anker macht. Unter iOS wird die System-Kennung zurückgesetzt, wenn alle Apps desselben Entwicklers entfernt werden; für einen neuinstallationssicheren Anker unter iOS und macOS verwenden Sie KlugKeychain.

KlugDeviceId ist in unseren Apps täglich im Einsatz, unserem Praxisbeweis.

Funktionen

  • Eigenständig: eine ANE, keine Kernbibliothek und keine abhängigen ANEs, die Sie ergänzen müssten
  • Ein Aufruf liefert die Geräte-Kennung unter Android und iOS
  • Android 8.0 und neuer: bleibt nach dem Deinstallieren und erneuten Installieren der App gleich, solange sie mit demselben Schlüssel signiert ist
  • Keine Berechtigung nötig
  • Gibt einen leeren String zurück, wo keine Kennung verfügbar ist, nie einen Fehler

Unterstützte Plattformen

Android arm64 · armv7
iOS arm64

Auf anderen Plattformen gibt isSupported false zurück, sodass derselbe Code in einer plattformübergreifenden App bleiben kann.

Erste Schritte

Fügen Sie die Erweiterung Ihrem Application Descriptor hinzu:

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

Codebeispiele

Drei vollständige Abläufe. Die Getter kehren sofort zurück, brauchen keine Berechtigung und werfen nie eine Exception: Wo keine Kennung verfügbar ist, geben sie einen leeren String zurück. Vollständige Dokumentation →

1 · Einmal lesen und mit der Anmeldung senden
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 · Eine Testphase über Neuinstallationen hinweg behalten (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 · Plattformübergreifender Code und leere Werte
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-Übersicht

DeviceId.getInstance()Gibt die einzige Instanz zurück.
isSupportedTrue unter Android und iOS.
uniqueIdDie Geräte-Kennung der laufenden Plattform: ANDROID_ID unter Android, identifierForVendor unter iOS; ein leerer String, wo nicht verfügbar.
androidIdNur die Android-Geräte-Kennung, die nach dem Deinstallieren und erneuten Installieren gleich bleibt; ein leerer String unter iOS und auf anderen Plattformen.

KlugDeviceId kaufen

Eine Jahreslizenz für eine AIR-Anwendung, mit allen Updates für 12 Monate. Nach der Zahlung erhalten Sie die Erweiterung, die ActionScript-Bibliothek und die Dokumentation per E-Mail, in der Regel innerhalb eines Werktags. Lizenz und Bedingungen

Simple
€19 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Kein Support
Simple kaufen
Standard
€149 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Antwort per E-Mail innerhalb von 7 Tagen
Standard kaufen
Priority
€299 / Jahr
  • Lizenz für eine AIR-Anwendung
  • Alle Updates für 12 Monate
  • Antwort per E-Mail innerhalb von 48 Stunden
Priority kaufen
Die Steuern werden an der Kasse von Link (Stripe) berechnet. Die Application-ID Ihrer AIR-App geben Sie beim Bezahlen ein.

Voraussetzungen

AIR SDK51.x (HARMAN)
iOSiOS 17 oder neuer
AndroidAndroid 6.0 (API 23) oder neuer
BerechtigungenKeine