0

IAPの質問があります。基本的に、私のアプリはユーザーが関数を使用している回数を計算する必要があり、それに応じて課金したいと思います。関数の使用ごとに1セント程度を請求する可能性があるため、IAPが最低1ドルの場合、100回の使用に対してクレジットになります。

ここで私の質問は、どのタイプのIAPを選択する必要があるかということです:消耗品、非消耗品、サブスクリプション。

質問の2番目の部分は、ユーザーがIAPに1ドル支払う場合、関数を100回使用できるということです。使用時間と使用値を一時的に保存する場所を追跡するにはどうすればよいですか?サンドボックス内のファイルの書き込み/読み取り/読み取りができることは知っていますが、それは安全ですか?ユーザーは10回使用し、終了してから戻って続行できます。さらに90回の使用に対してユーザーにクレジットを与える必要があります。

私はあなたが一度IAPを購入し、ずっと楽しむ方法に行かなければなりませんか?そうすることで、IAPの価格を高く設定し、購入数を大幅に減らす必要があります。

何か案が?ありがとう!

私が持っているコードには問題があるようです。ユーザーは再インストールして、完全な初期クレジットを再度取得できます。

 initialCredit = 500;

 defaults = [NSUserDefaults standardUserDefaults];
 if (![defaults objectForKey:theAppCrediteKey]) {
      [defaults setObject:[NSNumber numberWithFloat:initialCredit]               forKey:theAppCrediteKey];
 }
 readingCredits = [defaults objectForKey:theAppCrediteKey];
 if ([readingCredits floatValue] < 0) {
 readingCredits = [NSNumber numberWithFloat:0];
 }
4

1 に答える 1

1

これは間違いなく消耗品の購入です。100クレジットを使い切った場合は、さらに100クレジットをさらに1ドルで購入できます。

ユーザー設定にカウンターを実装してみませんか?$ 1 IAPを購入すると、カウンターに100クレジットを追加し、関数が呼び出されるたびにそれをデクリメントしますか?

[編集]例:これは、すべてが同じモジュール内で行われ、店舗の領収書などをチェックしないと仮定した、迅速でハッキーなソリューションです。

キーが標準のユーザーデフォルトで使用可能であることを確認してください。

NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if (![defaults objectForKey:@"Credits"])
    [defaults setObject:[NSNumber numberWithInt:0] forKey:@"Credits"];

NSNumber *credits = [defaults objectForKey:@"Credits"];

デクリメントアクションが発生したとき:

credits = [NSNumber numberWithInt:[credits intValue]-1];

またはIAP:

credits = [NSNumber numberWithInt:[credits intValue]+100];

必要に応じて、値をユーザーのデフォルトに保存します。

[defaults setObject:credits forKey:@"Credits"];
[defaults synchronize];
于 2012-10-22T22:58:06.390 に答える