← Kaikki laajennukset

Natiivilaajennus

KlugDeviceType

com.klug.devicetype

APM EI OLE TARPEEN. Lataa ja nauti. Yksinkertaisempaa ei voi olla.

Luotettava puhelimen ja tabletin tunnistus suoraan käyttöjärjestelmältä, riippumatta näytön suunnasta.

iOSAndroid Tuotantokäytössä Alkaen €19 / vuosi · Osta

Yleiskatsaus

Moni sovellus näyttää tabletilla eri asettelun kuin puhelimella. Laiteluokan arvaaminen näytön koosta on epäluotettavaa: tulos voi muuttua suunnan, näytön skaalauksen tai ikkunan koon mukaan.

KlugDeviceType kysyy itse käyttöjärjestelmältä. Androidilla se käyttää laitteen pienintä näytön leveyttä tiheydestä riippumattomina pikseleinä (600 dp tai enemmän on tabletti), samaa sääntöä, jota Android itse käyttää asetteluihinsa. iOS:llä se käyttää järjestelmän laite-idiomia (device idiom), joka erottaa iPadin iPhonesta.

Vastaus on sama pysty- ja vaaka-asennossa, riippumatta siitä, miten sovelluksesi skaalaa sisältönsä, sovelluksen ensimmäisestä kuvasta alkaen.

Ominaisuudet

  • Itsenäinen: yksi ANE, ei ydinkirjastoa tai riippuvaisia ANE-laajennuksia lisättäväksi
  • Puhelin vai tabletti, käyttöjärjestelmän vastaamana
  • Vakaa suunnasta ja sovelluksen skaalauksesta riippumatta
  • Pienin näytön leveys dp:nä (iOS:llä pisteinä) omia kynnysarvojasi varten
  • Saatavilla sovelluksen käynnistyessä, ennen ensimmäistä asettelua
  • Lupaa ei tarvita

Tuetut alustat

Android arm64 · armv7
iOS arm64

Muilla alustoilla isSupported palauttaa false ja deviceType on tyhjä merkkijono.

Aloitus

Lisää laajennus sovelluksesi descriptoriin:

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

Koodiesimerkit

Kolme täydellistä esimerkkiä. Getterit palaavat heti eivätkä tarvitse lupaa; jokainen luku kysyy käyttöjärjestelmältä uudelleen. Koko dokumentaatio →

1 · Valitse asettelu käynnistyksessä
Layout.as
import com.klug.devicetype.DeviceType;

var type:DeviceType = DeviceType.getInstance();

// the same answer in portrait and landscape, available before the first layout
if ( !type.isSupported )     useDesktopLayout();   // other platforms: deviceType is ""
else if ( type.isTablet )   useTabletLayout();    // Android: 600 dp or more · iOS: iPad
else                        usePhoneLayout();
2 · Omat katkaisupisteesi
Grid.as
// dp on Android, points on iOS; -1 where not available
var sw:int = type.smallestWidthDp;
var columns:int;

if ( sw >= 720 )        columns = 3;   // large tablet
else if ( sw >= 600 )   columns = 2;   // small tablet
else                    columns = 1;   // phone, or -1: not available

buildGrid( columns );
3 · Seuraa taittuvaa laitetta, kun se avataan tai suljetaan
Resize.as
import flash.events.Event;

var current:String = type.deviceType;

// every read asks the system again, nothing is cached
stage.addEventListener( Event.RESIZE, function( e:Event ):void {
    var now:String = type.deviceType;
    if ( now == current ) return;   // a rotation alone never changes it
    current = now;
    rebuildLayout( now );            // Android: opening a foldable can turn "phone" into "tablet"
});

// iOS: isTablet follows the device (iPad) and does not change;
// smallestWidthDp follows the screen the app is shown on

Rajapintayleiskatsaus

DeviceType.getInstance()Palauttaa yksittäisen instanssin.
isSupportedTrue Androidilla ja iOS:llä.
isTabletTrue tabletilla: Android 600 dp tai enemmän, iOS iPad; muilla alustoilla false.
isPhoneTrue puhelimella; muilla alustoilla false.
deviceType"tablet" tai "phone"; tyhjä merkkijono muilla alustoilla.
smallestWidthDpPienempi näytön mitta: dp Androidilla, pisteet iOS:llä; -1, kun ei saatavilla.

Osta KlugDeviceType

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

Perus
€19 / vuosi
  • Lisenssi yhdelle AIR-sovellukselle
  • Kaikki päivitykset 12 kuukauden ajan
  • Ei tukea
Osta Perus
Vakio
€149 / vuosi
  • Lisenssi yhdelle AIR-sovellukselle
  • Kaikki päivitykset 12 kuukauden ajan
  • Vastaus sähköpostitse 7 päivän kuluessa
Osta Vakio
Prioriteetti
€299 / vuosi
  • Lisenssi yhdelle AIR-sovellukselle
  • Kaikki päivitykset 12 kuukauden ajan
  • Vastaus sähköpostitse 48 tunnin kuluessa
Osta Prioriteetti
Link (Stripe) laskee verot kassalla. Syötät AIR-sovelluksesi sovellustunnuksen kassalla.

Vaatimukset

AIR SDK51.x (HARMAN)
iOSiOS 17 tai uudempi
AndroidAndroid 6.0 (API 23) tai uudempi
OikeudetEi mitään