デバイスプロファイリングツールのインストラクション
はじめに
デバイス プロファイリングにより、どのようなモバイル デバイスの機能も判断できるようになり、ASP.NET モバイル コントロールを拡張してサポートすることが可能となります。ASP.NET モバイル コントロール (以前は Microsoft Mobile Internet Toolkit) は 200 以上のサポートを提供しており、マイクロソフトはここのデバイス アップデート ウェブサイトからダウンロードできる、定期的なデバイス アップデートを提供することで、新規デバイスに対する継続的なサポートを行っています。ASP.NET モバイル コントロールを拡張して、デバイス アップデートからまだサポートされていないデバイスを使用する必要がある場合、このツールを使用してデバイスをプロファイルできます。
デバイス プロファイリングの機能
新規デバイスをサポートするには、ASP.NET ランタイムのデバイス認証方法、および最適なマークアップのレンダリングについて理解しておく必要があります。以下の画面は、デバイス タイプを決定するために ASP.NET ランタイムが従うプロセスを示しています。
.jpg)
図ではモバイル Web フォーム ページを要求するデバイスが紹介されています。ASP.NET ランタイムが要求を受信すると、Hypertextクラスのインスタンスを生成します。Hypertextオブジェクトが Mobile Capabilitiesオブジェクト (ブラウザプロパティを通して) を公開しますが、これは ASP.NET ランタイムが、デバイスを要求する機能に関する情報を蓄積するために使用しています。次に ASP.NET ランタイムはアプリケーション構成 (Web.con fig)、および <browser Caps>セクションのシステム構成ファイル (Machine.con fig) をチェックします。これらの構成セクションは多くの<case>セクションを含み、それぞれがデバイス ブラウザをサポートしています。<case>セクションは正規表現を使用して、HTTP_USER_AGENT環境変数に適合させます。要求ブラウザは、本来これを HTTP ヘッダーとして送っています。マッチが発生した場合、ASP.NET ランタイムはデバイス タイプを正常に認識できます。次にランタイムは構成ファイルの<case>セクションの情報を使用して、Mobile Capabilities オブジェクトを投入します。
ASP.NET ランタイムが <case>セクションのいずれかに要求デバイスを正常にマッチできなかった場合、デバイス構成セクションに先行するデフォルトのモバイル機能オブジェクトを投入します。デフォルトでは、Mobile Capabilitiesオブジェクトは要求デバイスを Unknownタイプの HTML 3.2 ブラウザとして認識します。
多くの場合、<browser Caps>構成要素の新規 <case>を追加することにより、新規デバイスを正常に追加サポートできます。この要素はデバイスが送信するHTTP_USER_AGENT文字列をマッチさせるため、適合する正規表現を定義します。
デバイス プロファイリング ツール
デバイス プロファイリング ツールは以下を含む新規モバイル デバイスをサポートするにあたり、ASP.NET モバイル コントロールを拡張するために必要となる、ステップの実行の助けとなります。
- ASP.NET ランタイムにより、デバイスを認識できる正規表現の提供
- デバイスの機能の認識
- これら機能の構成ファイルの入力
ツールはウィザードから成っており、デバイスのプロファイルについて簡単なステップを案内し、またツールの結果を記録します。デバイスをプロファイルすると、デバイス機能をリストアップするデバイス構成ファイルをダウンロードできます。これは Machine.con fig または Web.con fig ファイルに、簡単に挿入できます。
ツールによりプロファイルしたデバイスの機能情報を保存することができます。今後この情報にアクセスしたりアップデートしたりできます。
デバイス プロファイリング ツールは HTML、ML、HTML、および XHTML マークアップ言語をサポートする、デバイス機能を決定するために役立ちます。
デバイス プロファイリング ツールのインストラクション
デバイス プロファイリング ツールにはコンポーネントが 2 つあります。1) デスクトップ ブラウザで動作する web ウィザード。このウィザードはデバイス プロファイルの簡単なステップを通して案内します。そして、2)実際のテストにおいてはデバイスを使用してブラウズします。
デバイスでテストを動作すると (ウィザードに説明されたステップを踏んで)、結果はウィザードに記録されます。すべてのウィザード ステップが終了すると、デバイスはプロファイル済みとされ、プロファイル デバイス機能が保存されます。これらのプロファイルを見たり、修正したり、あるいは必要に応じて削除できます。
新規デバイスをプロファイルする前に、デバイスのブラウザがサポートできるマークアップ言語 (たとえば、ML、HTML、HTML、または XHTML) を認識する必要があります。しばしば、ブラウザが複数のマークアップ言語 (たとえば、UP6.x ブラウザは XHTML と ML の両方をサポート) をサポートできます。この場合、最適なレンダ結果を生成すると考えられるものを 1 つ選択します。デバイスは再度プロファイリング ウィザードを通して異なるマークアップにプロファイルされ、そのマークアップを選択することができます。
以下において新規デバイスのプロファイル、既存プロファイルのアップデートやダウンロードを行うデバイス プロファイリング ツールを使用したステップの詳細を説明しています。
新規デバイスのプロファイル
- ASP.NET フォーラム ユーザー名とパスワードを使用してログインします。アカウントをまだお持ちでない場合、登録する必要があります。
- 使用許諾契約書 (EULA) をお読みいただき、契約条件に同意いただける場合は [同意する] をクリックします。
- 既にプロファイルした、あるいはプロファイルし始めたデバイスはどれもMy Devices ページに表示されます。
- My Devicesページでは、[新規デバイスのプロファイルの開始] をクリックします。
- デバイス プロファイルの適切なマークアップを選択します。
- デバイスの適切なマークアップ言語へのリンクをクリックします。デバイス上でブラウザがサポートしているマークアップ言語を見るには、デバイス ドキュメンテーションを参照してください。以下のように各マークアップ言語には固有の URL があります。
- ML の場合、http://www.asp.net/mobile/profile/wmlmenu.aspxを使用します。
- HTML および cHTML の場合、http://www.asp.net/mobile/profile/htmlmenu.aspxを使用します。
- XHTML の場合、http://www.asp.net/mobile/profile/xhtmlbasicmenu.aspxを使用します。
注意 : XHTML デバイスの Content-typeヘッダーには複数の許容値があるため、自分で上記 XHTML URL の最後にクエリ文字列パラメータ値を追加することにより、この許容値を設定する必要があります。たとえば、Content-type ヘッダー値をtext/HTML に設定するには、以下の URLhttp://www.asp.net/mobile/profile/xhtmlBasicMenu.aspx?ct=1を使用します。
ツールは対応するクエリ文字列パラメータ (ct) を使い、以下のテーブルにリストされている値で 3 つのコンテンツ タイプにおいて XHTML ページに役立つ柔軟性があります。
| Content-type | クエリ文字列 (ct) 値 |
| application/HTML+XML (デフォルト) | 0 |
| text/HTML | 1 |
| application/vnd.wap.xhtml+xml | 2 |
デスクトップ ブラウザのデバイス プロファイリング ウィザードにある説明に従って、デバイスで遵守すべきインストラクションを読んでください。
メニューから最初のテスト ケースにブラウズし、デバイス プロファイリング ツールの能力値を入力します。機能をナビゲートするには、ツールの [Previous] および [Next] ボタンを使用します。
注意 : [Save and Exit] をクリックしていつでも入力した機能を保存したり、ウィザードを終了したりできます。あとでデバイスのプロファイルを終了できます。
機能がすべてプロファイルされると、ツールはヘッダーを含むすべてのデバイスの機能をリストアップしたサマリー ページを表示します。[Finish] をクリックして値をデータベースへ保存します。
注意 :いくつかの機能においては、ツールに入力する適切な値を見つけるため、デバイス ドキュメンテーションを調べなくてはならないことがあります。
既存のプロファイルの編集
ASP.NET フォーラム ユーザー名とパスワードを使用してログインします。まだアカウントをお持ちでなければ登録する必要があります。
使用許諾契約書 (EULA) をお読みいただき、契約条件に同意いただける場合は [同意する] をクリックします。
既にプロファイルした、あるいはプロファイルし始めたデバイスはどれも [My Devices] ページに表示されます。
見たり編集したりしたいデバイス プロファイルは [My Devices] ページの [View] をクリックします。
デバイスの機能の追加または編集は、[Update] をクリックします。
デバイスに適用できる機能リストからアップデートしたい機能を 1 つクリックします。
値を編集するか、新規の値を入力し [Save & Exit] をクリックします。
プロファイル済みデバイスの構成ファイルのダウンロード
ASP.NET フォーラム ユーザー名とパスワードを使用してログインします。まだアカウントをお持ちでなければ登録する必要があります。
使用許諾契約書 (EULA) をお読みいただき、契約条件に同意いただける場合は [同意する] をクリックします。
既にプロファイルした、あるいはプロファイルし始めたデバイスはどれも [My Devices] ページに表示されます。
ダウンロードしたいデバイス プロファイルは [My Devices] ページの [Download] をクリックします。
ファイルをローカル ハードディスクに保存します。
デバイスのサポートをインストールするには、ダウンロードした情報を .con fig ファイルに追加する必要があります。.con fig ファイル、アプリケーションの Web.con fig、または Machine.con fig ファイルに追加する方法については、以下の順を追った説明を参照してください。
.NET Framework version 1.1 のデバイス構成ファイルの追加
サポートを追加したいマシンのローカル ドライブにデバイス構成ファイルをダウンロードします (たとえば、c:\devices\mydevice.config)。
アプリケーション レベルでのみデバイスのサポートを追加するには、デバイス構成ファイルのコンテンツをアプリケーションの Web.config ファイルにコピー アンド ペーストします。
マシン レベルでデバイスのサポートを追加するには、参照を、以下の例にあるように Machine.config ファイルの <file src>要素に追加します。
<browserCaps>
<result type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<file src="deviceUpdate.config" />
<file src="c:\devices\mydevice.config" />
.......
</browserCaps>
Microsoft Mobile Internet Toolkit バージョン 1.0 の追加
サポートを追加したいマシンのローカル ドライブに、デバイス構成ファイルをダウンロードします (たとえば、c:\devices\mydevice.config)。
アプリケーション レベルでのみデバイスのサポートを追加するには、デバイス構成ファイルのコンテンツをアプリケーションの Web.config ファイルにコピー アンド ペーストします。
マシン レベルでデバイスのサポートを追加するには、ファイルのコンテンツ (<filter>タグからファイルの最後まで) をコピーし、Machine.config ファイルに適切に追加します。これはモバイル デバイス デフォルト機能が初期化されたセクションのあとの、まさに最初のセクションとして追加されることを確認してください。
サンプル デバイス構成ファイル
以下はデバイス プロファイリング ツールを使用してプロファイルされた UP4.1 エミュレータの構成ファイルの例です。生成されたデバイス構成ファイルには、ASP.NET ランタイムがデバイスを特定できるようにするデバイスの、HTTP_USER_AGENT 文字列にマッチする正規表現を<case> 要素内に有しています。
注意 : 以下の例で説明されている正規表現は、プロファイルされているデバイスに固有なものです。同じプロファイル情報が他の同様のデバイスにも適用できるような方法をとっており、これを適切に修正できます。
<?xml version="1.0" encoding="utf-8"?>
<browserCaps>
<use var="HTTP_USER_AGENT" />
<filter>
<case match="OWG1 UP\/4\.1\.20a UP\.Browser\/4\.1\.20a-XXXX UP\.Link\/4\.1\HTTP-DIRECT ">
browser = "UP"
canCombineFormsInDeck = "True"
canInitiateVoiceCall = "False"
canRenderAfterInputOrSelectElement = "True"
canRenderInputAndSelectElementsTogether = "True"
canRenderMixedSelects = "True"
canRenderOnEventAndPrevElementsTogether = "True"
canRenderPostBackCards = "True"
canRenderSetvarZeroWithMultiSelectionList = "False"
canSendMail = "False"
cookies = "True"
hasBackButton = "True"
inputType = "telephoneKeypad"
isColor = "False"
maximumHrefLength = "950"
maximumRenderedPageSize = "50000"
maximumSoftkeyLabelLength = "17"
numberOfSoftkeys = "2"
preferredImageMime = "image/vnd.wap.wbmp"
preferredRenderingMime = "text/vnd.wap.wml"
preferredRenderingType = "wml12"
rendersBreakBeforeWmlSelectAndInput = "True"
rendersBreaksAfterWmlAnchor = "False"
rendersBreaksAfterWmlInput = "True"
rendersWmlDoAcceptsInline = "False"
rendersWmlSelectsAsMenuCards = "True"
requiresFullyQualifiedRedirectUrl = "False"
requiresNoSoftkeyLabels = "True"
requiresPhoneNumbersAsPlainText = "False"
requiresPostRedirectionHandling = "False"
requiresSpecialViewStateEncoding = "False"
requiresUniqueFilePathSuffix = "True"
requiresUrlEncodedPostfieldValues = "False"
screenBitDepth = "4"
screenCharactersHeight = "6"
screenCharactersWidth = "17"
screenPixelsHeight = "72"
screenPixelsWidth = "96"
supportsBold = "True"
supportsCacheControlMetaTag = "True"
supportsEmptyStringInCookieValue = "True"
supportsFontSize = "False"
supportsItalic = "True"
supportsRedirectWithCookie = "True"
supportsSelectMultiple = "True"
type = "UP4.1"
</case>
</filter>
</browserCaps>
オンライン サポート
このツールの最新情報など、詳細については ASP.NET ディスカッション フォーラムの Mobile フォーラムにアクセスしてください。このツールの性能向上に関してコメント、フィードバック等ございましたら、ぜひ御意見をお聞かせいただきたいと存じます。
ページのトップへ