← Alla tillägg

Inbyggt tillägg

KlugKeychain

com.klug.keychain.Keychain

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

Säker nyckel/värde-lagring i systemets nyckelring för AIR-appar. Värdena finns kvar när appen avinstalleras och installeras om.

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

Översikt

KlugKeychain lagrar små värden, som flaggor, token eller ID:n, i nyckelringen på iOS och macOS. Till skillnad från vanlig applagring behåller nyckelringen de här värdena när appen avinstalleras och installeras igen.

Det gör den till ett varaktigt ankare för sådant en app behöver komma ihåg över ominstallationer, till exempel om en enhet redan har använt en gratis provperiod eller om ett konto har raderats tidigare.

KlugKeychain 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
  • Spara, läs, kontrollera och ta bort värden via nyckel
  • Värdena finns kvar när appen avinstalleras och installeras om
  • Krypteras av operativsystemet i systemets nyckelring
  • Ett API för iOS och macOS
  • Enkla synkrona anrop, inga händelser att hantera

Plattformar som stöds

iOS arm64
macOS Apple silicon · Intel

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

På Android ger KlugDeviceId samma ankare som överlever ominstallation: Android-enhetens ID förblir detsamma efter att appen avinstallerats och installerats igen.

Kom igång

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

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

På macOS måste appen vara signerad med en entitlement för keychain access group. På iOS behövs ingen extra entitlement.

Kodexempel

Tre kompletta flöden. Alla anrop är synkrona och returnerar direkt; värdena är strängar. Fullständig dokumentation →

1 · Kontrollera stöd och välj en reservlösning
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 · Kom ihåg en gratis provperiod över ominstallationer
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 · Spara, läs och ta bort ett värde
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-översikt

Keychain.getInstance()Returnerar den enda instansen.
isSupportedTrue på iOS. På macOS true när appen är signerad med en keychain access group-entitlement; false på övriga plattformar.
set(key, value)Sparar en sträng och ersätter en befintlig. Returnerar true vid lyckat resultat; false om det inte stöds eller om key eller value är null.
get(key)Returnerar det sparade värdet, eller en tom sträng om det saknas.
has(key)True om ett värde är sparat för nyckeln.
remove(key)Tar bort värdet. Returnerar true när nyckeln inte längre finns.
LagringGeneric password-poster för din app, läsbara efter enhetens första upplåsning, även i bakgrunden.

Köp KlugKeychain

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
macOSmacOS 11 eller senare
Signering (macOS)Entitlement för keychain access group