2011-08-12 7 views
-3

私はアプリ内購入を見ています。InApp購入プロセスが正常に完了した後、既存の機能のロックを解除します

実質的にすべてのコンテンツがあり、ユーザーがアイテムを購入できるアプリ内購入が必要なだけで、購入が正常に完了すると既存の機能がロックされます。

既存のコンテンツのロックを解除するだけです。

このようなことを許可するプラグインはありますか?

+2

ここでコメントしてください。 – Viraj

+0

@Aarti:答えが助けになりましたか? –

+0

@Aarti:私は何を書きましたか?私はちょうどあなたの機能とNSUserDefaultsのロックを解除する同じ方法を示した。 'dlackty'も同じように書いています。そして、あなたが満足していなかったら、まず私の答えを最初に受け入れたのはなぜですか? –

答えて

1

ユーザーが正常に購入を完了、あなたのプログラムは

- (void)completeTransaction:(SKPaymentTransaction *)transaction; 

のデリゲートのコールバックを受け取ることになりますと、あなたはこの取引を記録し、いくつかのプレミアム機能のロックを解除するためにアプリ内の他のオブジェクトに通知するNSNotificationを投稿することができます。

また、次回は値をNSUserDefaultsに保存して、機能がロックされていないかどうかを判断できます。

ここに参考用のサンプルコードを示します。

- (void)completeTransaction:(SKPaymentTransaction *)transaction { 
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; 
    [userDefaults setBool:YES forKey:@"proVersionEnabled"]; 
    [[NSNotificationCenter defaultCenter] postNotificationName:@"proVersionEnabledNotification" object:nil]; 

    [[SKPaymentQueue defaultQueue] finishTransaction: transaction]; 
} 
+0

重複した回答を作成しないでください。自分で作成する前に、他の回答を見てください。アイデアは実際に重要なものです。 –

+1

これは重複した回答ではありません。これは、関連するコードスニペットを含む簡潔な方法で尋ねられた質問に直接答える最初の回答で、他の人がこの質問を見るときには存在しないブログへのリンクに頼ることはありません将来は1年または2年です。 – JosephH

0

あなたの質問は非常に一般化されています。

より具体的にする必要があります。トランザクションが成功すると、NSUserDefaults値またはiOS Keychainを使用してフラグの値を取得し、アプリの特定の機能をロック解除することができます。

また、私はこの情報がお役に立てば幸いです。この

http://nixsolutions.com/blog/development/iphone/in-app-purchase-tutorial/

であなたを助けることができるチュートリアルを持っています。

0

プレミアムコンテンツが有効になっている場合は、ユーザーのデフォルトにboolを設定し、プレミアムコンテンツを表示するかどうかをboolで確認してください。

関連する問題