端末の情報を取得する

デバイス情報を取得する

MobyletインスタンスからDeviceインスタンスを取得する

端末の情報もMobyletインスタンスから取得可能です。
一般的には次のように端末情報へアクセスします。

Mobylet mobylet = MobyletFactory.getInstance();
Device device = mobylet.getDevice();

DeviceインスタンスからはgetDeviceProfile()メソッドを利用することで
バリューエンジン社の「ProfileData」情報へアクセスすることが可能です。

DeviceProfile deviceProfile = device.getDeviceProfile();
String value = deviceProfile.get("発売日");

上記の場合、セットアップした「ProfileData.csv」内で定義されている「発売日」列の情報が取得できます。
アクセス端末がプロファイル情報に存在しない場合は、値に「null」が返って来ます。

画面サイズを取得する

MobyletインスタンスからDeviceDisplayインスタンスを取得する

端末の画面サイズを取得する方法はいくつかありますが、
一般的には以下の方法で画面サイズ(ブラウザサイズ)を取得することが可能です。

Mobylet mobylet = MobyletFactory.getInstance();
DeviceDisplay display = mobylet.getDisplay();
Integer w = display.getWidth();  //ブラウザ幅
Integer h = display.getHeight(); //ブラウザ高さ

この方法で画面サイズを取得した場合、
まず、バリューエンジン社の「DisplayInfo.csv」のデータを参照し、マッチすればその情報を返します。
マッチしなかった場合でかつ、AUまたはSOFTBANKの場合はRequestHeaderから取得可能な
ブラウザサイズを利用して、DeviceDisplayインスタンスを構築し、返却します。

もしもブラウザサイズ以外の画面サイズを取得したい場合(でかつ、DisplayInfoに情報が存在するデータ)は
以下のように取得することも可能です。

DeviceDisplay display = mobylet.getDeviceDisplay();
DeviceDisplay anotherDisplay = display.getAnotherDisplay("待受壁紙画像サイズ");

getAnotherDisplay()メソッドの引数に渡せる値は、バリューエンジン社提供の「DisplayInfo」データ内、
「表示タイプ」列に定義されている各値が対象です。
マッチしない値を指定した場合は「null」が返却されます。

UIDを取得する

MobyletインスタンスからUID情報を取得する

UIDは以下の方法で取得可能です。

Mobylet mobylet = MobyletFactory.getInstance();
String uid = mobylet.getUid();

docomoのみ、公式サイトでなければUIDが取得できないため、
勝手サイトの場合、又は公式申請していない段階でのテストでは、このメソッドはnullを返します。
※リクエストパラメータに「uid=NULLGWDOCOMO」が付与されていなかった場合もnullを返します。

また、docomoのuidは12桁以外のuidに改竄が可能なため、12桁以外のuidでリクエストを受け付けた場合、
MobyletインスタンスのgetUid()はnullを返します。

GUIDを取得する

MobyletインスタンスからGUID情報を取得する

GUIDは以下の方法で取得可能です。

Mobylet mobylet = MobyletFactory.getInstance();
String guid = mobylet.getGuid();

getGuid()メソッドはAU、SOFTBANKにおいてはgetUid()と同値を返却します。
docomoの場合のみ「iモードID」を返却します。
※リクエストパラメータに「guid=ON」が付与されていなかった場合(iモードIDが取得不可)はnullを返します。

GPS搭載端末か判別する

DeviceインスタンスからGPS搭載端末かどうか判別する

GPS搭載端末の判定メソッドは、直接プロファイル情報を確認しても判定可能ですが
以下のメソッドで確認することも出来ます。

Mobylet mobylet = MobyletFactory.getInstance();
Device device = mobylet.getDevice();
boolean hasGps = device.hasGps();

※場合によってはDeviceインスタンスがnullの場合もあるので注意して下さい。

スマートフォンからのアクセスかどうか判定したい

スマートフォンを判定する

Mobyletインターフェースには「getSmartPhoneType()」メソッドが存在し、
アクセスした端末がスマートフォンであるかどうかを判定します。
※キャリアは「OTHER」として判定されます

Mobylet mobylet = MobyletFactory.getInstance();
SmartPhoneType type = mobylet.getSmartPhoneType();
if (type == null) {
    //スマートフォンではない
} else if (type == SmartPhoneType.IPHONE) {
    //iPhone端末
} else if (type == SmartPhoneType.ANDROID) {
    //Android端末
}
ページのTOPへ戻る