Yleiskatsaus
KlugKeychain tallentaa pieniä arvoja, kuten lippuja, tunnisteita tai tunnuksia, iOS:n ja macOS:n avainnippuun. Toisin kuin tavallinen sovelluksen tallennustila, avainnippu säilyttää nämä arvot, kun sovellus poistetaan ja asennetaan uudelleen.
Se tekee siitä pysyvän ankkurin asioille, jotka sovelluksen on muistettava uudelleenasennusten yli, esimerkiksi onko laite jo käyttänyt ilmaisen kokeilun tai onko tili poistettu aiemmin.
KlugKeychain on päivittäisessä käytössä sovelluksissamme, todisteenamme toimivuudesta.
Ominaisuudet
- Itsenäinen: yksi ANE, ei ydinkirjastoa tai riippuvaisia ANE-laajennuksia lisättäväksi
- Tallenna, lue, tarkista ja poista arvoja avaimen perusteella
- Arvot säilyvät, vaikka sovellus poistetaan ja asennetaan uudelleen
- Käyttöjärjestelmä salaa arvot järjestelmän avainnippuun
- Yksi rajapinta iOS:lle ja macOS:lle
- Yksinkertaiset synkroniset kutsut, ei käsiteltäviä tapahtumia
Tuetut alustat
Muilla alustoilla isSupported palauttaa false, joten sama koodi voi pysyä monialustaisessa sovelluksessa.
Aloitus
Lisää laajennus sovelluksesi descriptoriin:
<extensions>
<extensionID>com.klug.keychain.Keychain</extensionID>
</extensions>
macOS:llä sovellus on allekirjoitettava avainnipun käyttöryhmän (keychain access group) entitlementillä. iOS:llä ylimääräistä entitlementia ei tarvita.
Koodiesimerkit
Kolme täydellistä esimerkkiä. Kaikki kutsut ovat synkronisia ja palaavat heti; arvot ovat merkkijonoja. Koko dokumentaatio →
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
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 ) ); }
// 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" );
Rajapintayleiskatsaus
| Keychain.getInstance() | Palauttaa yksittäisen instanssin. |
| isSupported | True iOS:llä. macOS:llä true, kun sovellus on allekirjoitettu avainnipun käyttöryhmän entitlementillä; muilla alustoilla false. |
| set(key, value) | Tallentaa merkkijonon ja korvaa olemassa olevan. Palauttaa true onnistuessaan; false jos ei tuettu tai avain tai arvo on null. |
| get(key) | Palauttaa tallennetun arvon tai tyhjän merkkijonon, jos arvoa ei ole. |
| has(key) | True, jos avaimelle on tallennettu arvo. |
| remove(key) | Poistaa arvon. Palauttaa true, kun avainta ei enää ole. |
| Tallennus | Sovelluksesi yleiset salasanakohteet, luettavissa laitteen ensimmäisen avauksen jälkeen, myös taustalla. |
Osta KlugKeychain
Vuosilisenssi yhdelle AIR-sovellukselle, kaikki päivitykset 12 kuukauden ajan. Maksun jälkeen saat laajennuksen, ActionScript-kirjaston ja dokumentaation sähköpostitse, yleensä yhden arkipäivän kuluessa. Lisenssi ja ehdot
- Lisenssi yhdelle AIR-sovellukselle
- Kaikki päivitykset 12 kuukauden ajan
- Ei tukea
- Lisenssi yhdelle AIR-sovellukselle
- Kaikki päivitykset 12 kuukauden ajan
- Vastaus sähköpostitse 7 päivän kuluessa
- Lisenssi yhdelle AIR-sovellukselle
- Kaikki päivitykset 12 kuukauden ajan
- Vastaus sähköpostitse 48 tunnin kuluessa
Vaatimukset
| AIR SDK | 51.x (HARMAN) |
| iOS | iOS 17 tai uudempi |
| macOS | macOS 11 tai uudempi |
| Allekirjoitus (macOS) | Avainnipun käyttöryhmän entitlement |