Windows Phone の試用版アプリの作成
2013/03/11
対象: Windows Phone 8 | Windows Phone OS 7.1
Windows Phone Store では、アプリの試用版を設計して実装することが可能です。ユーザーは新製品を試すことが好きで、購入前にアプリを試すことができるとアプリ購入の可能性が高くなることが経験からわかっています。
Windows Phone アプリ プラットフォーム では、1 つの XAP パッケージ内でアプリの試用バージョンとフル バージョンを簡単に提供することができます。試用しているアプリを購入するユーザーは、試用アプリ内から使い慣れた Store 購入操作にシームレスに進むことができます。
アプリの試用版をどのように設計するかについては何も制限がありません。ユーザーに公開する機能の範囲、試用モードの期限を設定するかどうか、アプリの購入をユーザーに勧める方法を決定することなどができます。ユーザーが試用版アプリの購入を選択した場合にアプリのデータと状態を維持するかどうかも決めることができます。
試用モードのアプリを Store に送信するときには、[試用アプリケーション] チェック ボックスをオンにします。すると、Store クライアントのアプリの詳細ページに [試用] オプション ビューが表示されます。
このトピックは、次のセクションで構成されています。
アプリに試用モードを実装するには、試用版の動作がフル モードの動作とどのように異なるかを定義および実装する必要があります。ユーザーが実行する際に正しいモードで実行するためには、アプリが試用実行権とフル実行権のいずれで実行されているかをコードによって判断する必要があります。購入パスを指定するには、コードで Store クライアントを起動する必要があります。
ユーザーのアプリ実行権における試用/フルの状態は、ライセンスで保持されます。ユーザーがアプリを試用する際は、アプリを試用する権利を付与するライセンスと共にアプリが電話にインストールされます。試用ライセンスに有効期限はありませんが、ユーザーが試用しているアプリを購入すると、フル ライセンスがダウンロードされます。試用ライセンスがフル ライセンスに置き換えられ、アプリにフルの権利が付与されます。
実行時のライセンスが試用の実行権とフルの実行権のいずれであるかを判断するために、Windows Phone には、アプリが試用ライセンスで実行されている場合は true、アプリが購入済みでフル ライセンスで実行されている場合は false を返すメソッドがあります。
試用ユーザーがアプリを購入できるように、Windows Phone は、アプリの購入ページに Store クライアントを開くメソッドを提供します。
XNA Framework 開発者は、GamerServices.Guide クラスを使用して、試用と購入の操作画面をビルドする必要があります。Guide.IsTrialMode プロパティを使用して、現在のライセンス モードを取得し、Guide.ShowMarketplace メソッドを使用して購入操作を開始します。
Windows Phone アプリは、上記の XNA Framework メソッドを使用するか、または IsTrial() メソッドを使用して現在のライセンス状態を直接取得し、MarketplaceDetailTask クラスの Show() メソッドを使用して購入操作を開始することができます。各選択肢の利点と欠点を理解するには、下記のセクションの「試用モードのテストの概要」を参照してください。
試用状態を判断して購入のために Store に移動する操作は、アプリのテスト時またはデバッグ時にコードによってシミュレートする必要があります。必要なライセンスおよび Windows Phone Store ID のプロパティは、アプリが完成して申請された後に作成されるため、この機能のメソッドはデバッグ モードまたはテスト モードでは機能しません。
XNA Framework アプリは、これらの機能に対して常に GamerServices.Guide クラスを使用する必要があります。このクラスには、試用と購入のシミュレーション機能が組み込まれています。詳細については、「Marketplace コンテンツの試用モードのシミュレート」を参照してください。
Windows Phone アプリは、GamerServices.Guide クラスを使用することも、独自のカスタム動作を実装することもできます。Windows Phone アプリで GamerServices.Guide の呼び出しを使用すると、デバッグ中およびテスト中に試用ライセンス状態をシミュレートするいくつかの作業を省略することができます。LicenseInformation.IsTrial メソッドと MarketplaceDetailTask.Show メソッドを使用すると、試用のテスト メソッドおよびデバッグ メソッドをカスタマイズしやすくなります。
このセクションでは、試用版アプリの作成時に考慮する必要があるベスト プラクティスについて説明します。
重要: |
|---|
試用状態を頻繁にチェックする場合は、ライセンス状態をキャッシュします。IsTrial() メソッドと Guide.IsTrialMode プロパティは、イベント ドリブンとして設計されています。通常の呼び出しには、およそ 60 ミリ秒以上かかります。 |
XNA アプリでは、常に GamerServices.Guide クラスを使用して試用モードを実装する必要があります。
Guide.SimulateTrialMode フラグを TRUE に設定する場合は、常に #if DEBUG/#endif ステートメントで囲みます。
アプリの読み込みまたは再開のときには、IsTrial() 状態を確認します。
特に IsTrial() 状態をキャッシュすると、試用設計上のいくつかの潜在的な欠陥を回避することができます。
試用の期間を制限することによって、アプリの価値を保護しようとしないでください。
通常、フル モードのアプリの価値は、主要なコード パスへの試用アクセスを制限することによって最適に保護することができます。フル モードの動作に時間制限を設けている試用設計の場合は、ユーザーは不便さを感じても際限なくアプリをアンインストールして再使用するかもしれません。
試用の終了前にユーザーが試用版アプリを購入できるようにします。
必然的にもっとプレイしたくなるようなアプリ ポイントに試用制限を実装することによって、アプリをなぜ購入したいのかをユーザーが認識できるようにします。
たとえば、ユーザーがゲームの第 1 レベルをプレイできるようにし、それ以上のレベルをプレイして得点を保持したりゲーム サービスに接続する場合は、アプリの購入が必要になるように設計します。
重要: