ドキュメント

サポート

Tapjoy 管理通貨

Tapjoy Offerwall の管理通貨を使用すると、Tapjoy のサーバー上にユーザー通貨残高を保存して管理できます。
読み終わるまでの所要時間 6 分最終更新 2日前

Tapjoy 管理通貨を利用すると、Tapjoy のサーバーでユーザーのゲーム内通貨の金額を保存して管理できます。この無料サービスは、Tapjoy のパブリッシャー SDK を統合するすべての開発者が利用可能で、アプリにバックエンド通貨ストレージが不要になります。

通貨残高の取得

ユーザーの現在のゲーム内通貨残高を確認するには、プラットフォーム別に詳しく説明されているメソッドを使用します。推奨されるベストプラクティスは、残高の正確性を保つために、
getCurrencyBalance
を頻繁に呼び出すことです。残高を確認する主なタイミングとしては、以下のシナリオが発生したときが挙げられます。
  • ​アプリの起動
  • アプリの再開
  • Tapjoy ビューの終了
  • プレースメントコンテンツの消去
最良の結果を得るには、広告コンテンツが完了してから約 3.5 秒後に
getCurrencyBalance
を呼び出します。そうすることで、ゲーム内報酬の更新に十分な処理時間が確保されます。すぐに残高を確認すると、新たに獲得したゲーム内報酬が反映されない場合があります。

通貨残高の取得

Tapjoy はゲーム内報酬を迅速に付与できるよう取り組んでいます。しかし、ネットワークの遅延などにより、ゲーム内報酬の即座の付与は保証されません。オファーからのゲーム内報酬が表示されるまでに時間がかかる場合があることを、ユーザーに通知してください。正確性を保つため、残高を定期的に、さらには主要なアプリイベント発生時 (以下のイベント発生時など) にも確認してください。
  • アプリの起動
  • アプリの再開
  • レベル間
  • ストアのロード前
通貨残高を取得するには、以下のプラットフォーム別のメソッドを参照してください。
iOS デバイスで現在のゲーム内通貨残高を取得するには、以下のメソッドを使用します。
// This method requests the tapjoy server for current virtual currency of the user.//Get currency[Tapjoy getCurrencyBalanceWithCompletion:^(NSDictionary *parameters, NSError *error) { if (error) { //Show error message NSLog(@"getCurrencyBalance error: %@", [error localizedDescription]); } else { //Update currency value of your app NSLog(@"getCurrencyBalance returned %@: %d", parameters[@"currencyName"], [parameters[@"amount"] intValue]); }}];
完了ブロックでは、残高が返されます。
currencyName
は通貨の名前、
amount
はユーザーの合計残高です。実装の詳細については、SDK パッケージのサンプルアプリケーションを参照してください。

ユーザーが通貨を獲得したかどうかの確認

最後の残高確認以降にユーザーが通貨を獲得した場合はユーザーに通知します。以下のセクションに記載されているプラットフォーム別の手順を使用して、通知を設定します。
iOS デバイスで獲得した通貨を検出するには、通知オブザーバーを加えます。
// Set the notification observer for earned-currency-notification.これは applicationDidBecomeActive メソッド内に配置することをお勧めします。[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(showEarnedCurrencyAlert:) name:TJC_CURRENCY_EARNED_NOTIFICATION object:nil];// In the following method, you can set a custom message or use the default UIAlert to inform the user that they just earned some currency.- (void)showEarnedCurrencyAlert:(NSNotification*)notifyObj{ NSNumber *currencyEarned = notifyObj.object; int earnedNum = [currencyEarned intValue]; NSLog(@"Currency earned: %d", earnedNum); // Pops up a UIAlert notifying the user that they have successfully earned some currency. // This is the default alert, so you may place a custom alert here if you choose to do so. [Tapjoy showDefaultEarnedCurrencyAlert]; // This is a good place to remove this notification since it is undesirable to have a pop-up alert more than once per app run. [[NSNotificationCenter defaultCenter] removeObserver:self name:TJC_CURRENCY_EARNED_NOTIFICATION object:nil];}

Tapjoy 管理通貨の支出

ユーザーのゲーム内通貨を支出するには、以下のセクションで詳しく説明されているプラットフォーム別のメソッドを呼び出します。
// This method call will deduct 10 virtual currencies from the user's total. [Tapjoy spendCurrency:10 completion:^(NSDictionary *parameters, NSError *error) { if (error) { NSLog(@"spendCurrency error: %@", [error localizedDescription]); } else { NSLog(@"spendCurrency returned %@: %d", parameters[@"currencyName"], [parameters[@"amount"] intValue]); }}];
通貨残高は完了ブロックで通知されます。パラメーター
currencyName
は通貨の名前を示し、
amount
はユーザーの残高を示します。

Tapjoy 管理通貨の付与

注意
新しいアプリでこの機能を利用する場合は、アカウントマネージャーに連絡して承認を得てください。
ゲーム内通貨をユーザーに付与するには、以下のセクションで詳しく説明されているプラットフォーム別のメソッドを使用します。
// This method call will award 10 virtual currencies to the user's total. [Tapjoy awardCurrency:10 completion:^(NSDictionary *parameters, NSError *error) { if (error) { NSLog(@"awardCurrency error: %@", [error localizedDescription]); } else { NSLog(@"awardCurrency returned %@: %d", parameters[@"currencyName"], [parameters[@"amount"] intValue]); }}];
通貨残高は
completion
ブロックで通知されます。パラメーター
currencyName
は通貨の名前を示し、
amount
はユーザーの残高を示します。

Tapjoy 管理通貨のテスト

Offerwall でオファーをテストするには、アプリケーションにテストデバイスを加えます。これにより、Offerwall の上部に検証用のテストオファーが表示されます。

ベストプラクティスおよび追加情報

  • awardCurrency
    spendCurrency
    の呼び出しを必ず検証し、これらの呼び出しが成功した場合のみコンテンツをロック解除します。失敗した場合、デバイス上の残高に影響を与える可能性があります。
  • ローカルに保存されている通貨のみに依存せず、Tapjoy のサーバーを利用して正確性を保ちます。
  • spendCurrency は、コンテンツをロック解除するために通貨を差し引く場合にのみ呼び出します。
  • 管理通貨はアプリ ID ごとに 1 つの通貨のみをサポートします。複数の通貨がある場合は、自己管理通貨を使用します。
  • Tapjoy では、通貨残高がデバイスごと、アプリごとに保存されるため、デバイス間で残高を共有することはできません。
  • Tapjoy はゲーム内報酬を迅速に付与することを目指していますが、さまざまな要因によって通貨の付与が遅れる場合があります。主要なアプリイベントの後に定期的に残高を確認し、ユーザーに遅延の可能性があることを通知します。