iPhone アプリケーション開発 アプリ内課金のテスト
出典: encom wiki
daisuke 2010年6月29日 (火) 16:33 (UTC)
目次 |
[編集] テストまでの手順
[編集] iTunes Connect
- Contracts, Tax, & Banking Information で、Contact Info、Bank Info、Tax Info を登録します。
[編集] iPhone Dev Center - Provisioning Portal
- App ID を登録します。Bundle Identifier にワイルドカード(*)は利用できません。
- 登録した App ID を Configure して、Enable In App Purchase にチェックを入れて Enabled にします。
- In App Purchase を Enabled にした App ID で Development Provisioning Profile を作成し、ダウンロードします。
[編集] iTunes Connect
- Manage Your Applications でアプリケーションを登録します。この時、バイナリはアップロードしません。
- Manage Your In App Purchases で、先ほど登録したアプリケーションにアプリ内課金の商品を設定します。Cleared for Sale にチェックを入れます。ステータスは Pending Developer Approval で良いです。
- Manage Users でアプリ内課金用のテストアカウントを作成します。
[編集] アプリケーションへの実装
- plist ファイルの Bundle Identifier に、先ほど作成した Development Provisioning Profile の Bundle Identifier を設定します。Bundle Seed ID は不要ですので、T3JCV5VQKU.com.yourhost.appname などの場合は com.yourhost.appname を設定します。
- Xcode の プロジェクト - プロジェクト設定を編集 からビルドタブを開いて、コード署名 ID - Any iPhone OS Device で先ほど作成した Development Provisioning Profile を選択します。
- 下記のようにアプリケーションに実装します。PRODUCT_ID の箇所はアプリ内課金の商品を登録したときに設定した Product ID を指定します。
// 商品情報を要求します。
- (void)requestProductData
{
SKProductsRequest *request
= [[SKProductsRequest alloc] initWithProductIdentifiers:[NSSet setWithObject:PRODUCT_ID]];
request.delegate = self;
[request start];
}
// 商品情報の要求結果があった場合に呼び出されます。
- (void)productsRequest:(SKProductsRequest *)request
didReceiveResponse:(SKProductsResponse *)response
{
NSArray *products = response.products;
NSArray *invalidProducts = response.invalidProductIdentifiers;
}
- アプリ内課金のテストはシミュレータでは行えません。実機の「設定」アプリケーションでアカウントをサインアウトします。先ほど作成したテストアカウントでログインしないでください。
以上の手順で実機でアプリ内課金のテストが行えます。
