本章では、追加コンテンツを利用する企画検討・開発をする時点での注意点や TIPS を記載しています。
4.1. 追加コンテンツを利用したアプリケーションの開発手順
追加コンテンツを利用したアプリケーションの開発手順として、追加コンテンツを開発機に取り込む方法と、開発用の eショップサーバーから追加コンテンツをダウンロードするまでの流れについて説明します。
追加コンテンツを開発機に取り込む方法
追加コンテンツのデータは以下の 2 つの方法で開発機に取り込むことが可能です。
- 追加コンテンツの ROM をDevMenu を利用して開発機本体にインポートする。
- IMAS に追加コンテンツの ROM および販売情報を登録し、開発機で eショップサーバーから購入およびダウンロードを行う。
1 .は、サーバー上に追加コンテンツの ROM をアップロードする必要がないため、追加コンテンツの ROM 自体の開発など、頻繁に ROM の作り直しが発生する場合に利用します。
2 .は、購入シーケンス自体を開発・デバッグする場合などに利用します。
1.と2. の方法を併用することはできません。DevMenu を用いローカルでインポートした追加コンテンツと、サーバーからダウンロードした追加コンテンツとは、内部での扱いが異なっています。二つのインポート方法を混ぜて使用すると、コンテンツを参照することができなくなります。ローカルでの開発と e ショップサーバーでの開発とを切り替える際は、事前に EcDevTool を利用して権利とデータタイトルを削除してください。
2.の方法で追加コンテンツを開発機に取り込むためには、先に下記の各種サーバ設定を終える必要があります。
開発用の eショップサーバーから追加コンテンツをダウンロードするまでの流れ
- OMAS から eコマース機能の申請を行う。
- タイトル申請から「Eコマース」の申請を行ってください。
- 開発の際に必要になる TIN は、OMAS の「Eコマース」の項目で確認できます。
- タイトルのフェーズが「Eコマース設定フェーズ」を通過すると、IMAS からそのタイトルの追加コンテンツの情報を操作できるようになります。
- IMAS からデータタイトル・カタログの設定を行う。
- IMAS からデータタイトルの設定、追加コンテンツの ROM のアップロード、カタログの作成と反映を行うことで、開発環境で追加コンテンツの購入およびダウンロードが可能になります。
- IMAS の操作方法については、1.1. 関連ドキュメントの「IMAS 操作マニュアル」を参照してください。
- eショップサーバーからダウンロードをして動作を確認をします。
- 追加コンテンツの ROM を eショップサーバーにアップロードする ROM アップロードツールには、「3. eコマース開発環境について」と同様の IP アクセス制限がかけられています。事前に ROM のアップロードを行う際に使用する外部回線の制限を解除してください。
- ダウンロードしたデータタイトルは、ほかの 3DS 本体で使用することはできません。ただし製品機では、ソフトとデータの引っ越しを行った場合は、引っ越し先で利用できるようになります。
4.2. 追加コンテンツによる意図しない状況について
一度購入した追加コンテンツはいつでも再ダウンロードできますので、開発者の意図しない実装にならないよう注意が必要です。
進行具合によって購入できる追加コンテンツが増える場合を、例にあげて説明します。ゲーム終盤でしか手に入らないアイテムを購入後、セーブデータをクリアすると、 ユーザーは最初から始めているにもかかわらず、ゲーム終盤でしか購入できないはずのアイテムすべてを使用できる状態になってしまうなどの問題が起こりうるため、ご注意ください。この場合、購入済みの追加コンテンツの使用可否をアプリケーション側で管理することが必要となります。
追加コンテンツはユーザ操作によって削除可能な点にも注意してください。削除後に不具合がでないように気を付ける必要があります。
4.3. 大量の追加コンテンツを販売する場合
1 つのデータタイトルに含めることができるコンテンツは下記の制限があります。
- コンテンツの数は 2000 個まで
- 総サイズは 2GB まで
上記の条件を超えてコンテンツを販売する場合、データタイトルを複数利用する必要があります。
データタイトルは 00~FF までの 256 個のバリエーションとよばれる値で区別しています。1 つのデータタイトルのみを使用する場合は、バリエーション 00 のデータタイトルを利用します。必要に応じで 01~FF までのデータタイトルが利用可能です。複数バリエーションを利用するには任天堂による開発環境設定が必要となりますので、窓口にご相談ください。
複数データタイトルを利用する大量コンテンツを扱うためのコツとして、バリエーション00に販売するコンテンツの情報のみを入れておき、01~FF に販売するコンテンツを含める方法があります。CTR-SDK サンプルデモ ec - RichPromotion デモを参考にしてください。
RichPromotion 方式の利用には、以下のようなデメリットがあります。
- アイテムのリストアップのために 00 のバリエーションの更新を行う必要がある。
- IMAS および3DS 上で複数のデータタイトルを管理する必要がある。
そのため、大量の追加コンテンツの販売を検討する場合には、サービスアイテムの利用も検討することを推奨します。
サービスアイテムを利用する場合、購入や権利情報の管理は eコマースの仕組みを利用出来ますが、実データを 3DS にダウンロードする機構やダウンロードした実データをファイルシステムで管理する機構については、3DS や独自サーバー側の実装が必要になります。
サービスアイテムで大量のコンテンツを扱うための1つの方法として、価格の権利のみをアイテムで販売するものがあります。例えば、コンテンツA、B、C を直接売るのではなく 、100円、200円、300円という権利のみを売り、独自サーバー上で100円の権利とコンテンツA を紐づけます。こうすることにより、カタログ内容の変更なしに柔軟に大量のアイテムを追加可能になります。
4.4. 追加コンテンツ対応時の注意点
1 アイテムあたりのコンテンツの個数
1 アイテムに設定可能なコンテンツ数は64個です。
コンテンツの保存先
追加コンテンツは、SD カードに保存されるため、保持可能なコンテンツの容量は、ユーザーが使用している SD カードの容量、および既に入っているファイルにより変化します。
4.5. リバート時の注意点
IMASは開発環境のLiveに反映した価格情報やアイテム情報を削除するためにリバートと呼ばれる機能を提供していますが、リバートを行う場合には注意が必要です。
開発環境で作成、提出されたカタログはロットチェック環境へ流通し、最終的には製品環境に反映されてサービス提供されます。
すでにサービス提供されている製品環境のカタログ情報は削除できません(より正確には、ロットチェック環境からも削除できません)。
同時に、過去に提出済みのカタログ情報と矛盾する情報を持つカタログを開発環境から提出して上書きすることもできません。
つまり、
- 開発環境からIMASのカタログを提出する
- IMASのリバートを行う
- リバート後、提出済みのカタログとは別のカタログを作成して反映する
ということを行っても、価格情報やアイテム情報に矛盾がある限りそのカタログは提出できません。また、価格内容に矛盾は無くとも価格情報ごとにIMASが付与するPriceIDが異なる場合はIMASでは矛盾した価格情報と判断するため、製品環境へのカタログ提出が失敗します。そのため、原則的に「一度でもカタログを提出したことがある場合は」リバートは行わないように注意してください。
矛盾と判断される例:
- 製品環境でサービス提供済みである10/1 9:00 100円で販売開始のアイテムの価格情報を200円に変更してカタログを提出する。
- 製品環境でサービス提供済みである10/1 9:00 100円の価格情報のPriceIDが1111111111のとき、この価格情報を削除して同じ内容の価格情報を作成し、PriceIDが2222222222に変更された状態でカタログを提出する。
サービス提供済みの価格を変更する場合は、その価格情報を販売終了にしたあとで新たに価格情報を作成してください。
もしサービス提供済みの価格情報を削除してPriceIDを変更してしまった場合は弊社窓口までご連絡ください。
なお、リバートにはIMASからリバートする場合とROMアップロードツールからリバートする場合の2通りがあります。ここでいうリバートはIMASから行うリバートを指します。
リバートの方法等については1.1. 関連ドキュメントの「IMAS操作マニュアル」を参照してください。
開発機の権利情報の削除
リバートを行う前の追加コンテンツをダウンロードしている開発機がある場合、EcDevToolを使い追加コンテンツの権利を削除してください。
権利を削除しない場合、eショップサーバーに存在しないデータタイトルに対してECアプレットで初期処理を行うことになり、005-5637エラーが発生し続けます。