← Alle udvidelser

Native udvidelse

KlugKeychain

com.klug.keychain.Keychain

INGEN APM NØDVENDIG. Download og nyd. Det bliver ikke enklere.

Sikker nøgle/værdi-lagring i systemets nøglering til AIR-apps. Værdier overlever afinstallation og geninstallation af appen.

iOSmacOS I produktion Fra €19 / år · Køb

Oversigt

KlugKeychain gemmer små værdier, f.eks. flag, tokens eller ID'er, i nøgleringen på iOS og macOS. I modsætning til almindelig applagring bevarer nøgleringen disse værdier, når appen afinstalleres og installeres igen.

Det gør den til et varigt anker for ting, en app skal huske på tværs af geninstallationer, f.eks. om en enhed allerede har brugt en gratis prøveperiode, eller om en konto tidligere er slettet.

KlugKeychain er i daglig brug i vores apps, vores proof of concept.

Funktioner

  • Selvstændig: én ANE, intet kernebibliotek eller afhængige ANE'er at tilføje
  • Gem, læs, kontrollér og fjern værdier via nøgle
  • Værdier overlever afinstallation og geninstallation af appen
  • Krypteret af operativsystemet i systemets nøglering
  • Én API til iOS og macOS
  • Simple synkrone kald, ingen hændelser at håndtere

Understøttede platforme

iOS arm64
macOS Apple silicon · Intel

På andre platforme returnerer isSupported false, så den samme kode kan blive i en cross-platform-app.

På Android giver KlugDeviceId det samme geninstallationssikre anker: Android-enheds-ID'et forbliver det samme, efter at appen er afinstalleret og installeret igen.

Kom i gang

Tilføj udvidelsen til din applikationsdescriptor:

app.xml
<extensions>
    <extensionID>com.klug.keychain.Keychain</extensionID>
</extensions>

På macOS skal appen være signeret med et keychain access group-entitlement. På iOS kræves intet ekstra entitlement.

Kodeeksempler

Tre komplette flows. Alle kald er synkrone og vender straks tilbage; værdier er strenge. Fuld dokumentation →

1 · Kontrollér understøttelse og vælg en fallback
Setup.as
import com.klug.keychain.Keychain;

var keychain:Keychain = Keychain.getInstance();

// iOS: always true.
// macOS: true only if the app is signed with a keychain access group entitlement;
//        the extension checks this with a test write.
// Android, Windows: false, and every call is a safe no-op.
if ( !keychain.isSupported )
    useLocalStorage();   // your app's fallback, e.g. a SharedObject
2 · Husk en gratis prøveperiode på tværs af geninstallationer
Trial.as
const TRIAL_DAYS:Number = 7;

if ( keychain.has( "trialStarted" ) )
{
    var started:Number = Number( keychain.get( "trialStarted" ) );
    var days:Number = ( new Date().time - started ) / 86400000;
    if ( days > TRIAL_DAYS ) showPurchaseScreen();   // your app
}
else
{
    // stays in the keychain after the app is uninstalled and installed again
    keychain.set( "trialStarted", String( new Date().time ) );
}
3 · Gem, læs og fjern en værdi
Account.as
// set() replaces an existing value; false = not stored
if ( !keychain.set( "accountId", accountId ) )
    trace( "keychain: value not stored" );

// get() returns "" when nothing is stored
var id:String = keychain.get( "accountId" );
if ( id == "" ) showSignIn();   // your app

// sign-out: remove what the app no longer needs;
// true also when the key was already gone
keychain.remove( "accountId" );

API-oversigt

Keychain.getInstance()Returnerer den enkelte instans.
isSupportedSand på iOS. På macOS sand, når appen er signeret med et keychain access group-entitlement; falsk på andre platforme.
set(key, value)Gemmer en streng og erstatter en eksisterende. Returnerer true ved succes; false, hvis det ikke understøttes, eller nøgle eller værdi er null.
get(key)Returnerer den gemte værdi, eller en tom streng, hvis der ingen er.
has(key)Sand, hvis der er gemt en værdi for nøglen.
remove(key)Fjerner værdien. Returnerer true, når nøglen ikke længere findes.
LagerGeneriske adgangskodeposter for din app, læsbare efter enhedens første oplåsning, også i baggrunden.

Køb KlugKeychain

En årlig licens til én AIR-applikation, med alle opdateringer i 12 måneder. Efter betaling modtager du udvidelsen, ActionScript-biblioteket og dokumentationen pr. e-mail, normalt inden for én hverdag. Licens og vilkår

Enkel
€19 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Ingen support
Køb Enkel
Standard
€149 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Svar pr. e-mail inden for 7 dage
Køb Standard
Prioritet
€299 / år
  • Licens til én AIR-applikation
  • Alle opdateringer i 12 måneder
  • Svar pr. e-mail inden for 48 timer
Køb Prioritet
Moms og afgifter beregnes ved checkout af Link (Stripe). Du angiver application ID'et for din AIR-app under checkout.

Krav

AIR SDK51.x (HARMAN)
iOSiOS 17 eller nyere
macOSmacOS 11 eller nyere
Signering (macOS)Keychain access group-entitlement