【ソースコード・リーディング】cordova-device-plugin
The Apache Software Foundation · GitHub
ソースコード・リーディングを実践してみます。
今回はcordovaのプラグインのソースコードです。
cordova-plugin-device
apache/cordova-plugin-device · GitHub
apacheの提供しているオープンソースとして提供されているので、 コードを見ることができます。
今回はcordovaのプラグインで簡単な部分でやりたいです。
cordova-plugin-deviceはなにができる?
cordova-plugin-device/index.md at master · apache/cordova-plugin-device · GitHub
cordova-plugin-deviceはデバイス情報のいくつかを取得できます。
取得できる内容
- model情報
- プラットフォーム
- UUID
- バージョン
詳細を書いてみます。
モデル情報
端末のモデル情報です。
// Android: Nexus One returns "Passion" (Nexus One code name) // Motorola Droid returns "voles" // BlackBerry: Torch 9800 returns "9800" // Browser: Google Chrome returns "Chrome" // Safari returns "Safari" // iOS: for the iPad Mini, returns iPad2,5; iPhone 5 is iPhone 5,1. See http://theiphonewiki.com/wiki/index.php?title=Models var model = device.model
プラットフォーム
端末のプラットフォームを取得できます。
// Depending on the device, a few examples are: // - "Android" // - "BlackBerry 10" // - Browser: returns "MacIntel" on Mac // returns "Win32" on Windows // - "iOS" // - "WinCE" // - "Tizen" var devicePlatform = device.platform;
UUID
UUIDを取得できます。これはちょっと注意が必要っぽいですね。
たぶん僕が知っているUUIDとはちょっと意味が違う気がしています。
// Android: ランダムな64bit整数 (文字列として) // デバイスの最初の起動時に生成される // // BlackBerry: デバイスのPIN番号 // 9桁の一位の整数 (文字列として) // // iPhone: (UIDevice Class documentation) // ハッシュ値の文字列を返す。デバイスで一意である。 // Windows Phone 7 : デバイス+現在のユーザーのハッシュを返す // Tizen: デバイスのIMEI番号 var deviceID = device.uuid;
iOSでは、デバイス固有ではなくアプリケーションごとに異なる。アプリを再インストール、アップデートする際に変更します。 UUIDは信頼できるものではありません。
だそうです。注意ですね。
version
OSのバージョンを取得できます。
// Android: Froyo OS would return "2.2" // Eclair OS would return "2.1", "2.0.1", or "2.0" // Version can also return update level "2.1-update1" // // BlackBerry: Torch 9800 using OS 6.0 would return "6.0.0.600" // // Browser: Returns version number for the browser // // iPhone: iOS 3.2 returns "3.2" // // Windows Phone 7: returns current OS version number, ex. on Mango returns 7.10.7720 // Tizen: returns "TIZEN_20120425_2" var deviceVersion = device.version;
cordova-plugin-deviceはいれておくべき
cordovaはマルチプラットフォームでアプリを作れるように設計されていますが、ひとつのコードですべてができるほどあまくないと思っています。
きっとOSや使用する端末での分岐は確実にあると思いますので。
機能としての制限が入るわけでもなさそうなので、入れておくべき機能です。
次回にインストール方法と使用方法を。。。
ソースコードリーディングとかいいながら長くなってしまったことを後悔です。
説明はプラグインのページを見て下さい。で良かったのかな??
でも正直、自分で使える部分までしっかり理解したかったりするからしょうがないかな。
ということでまずは使えるようにするためのインストールと使い方を次回にでもやります。