コンテンツにスキップ

消費者情報の同意送信に関する問い合わせ

「消費情報を送信」機能を使用するには、アプリ内購入製品に関する**消費情報の送信**についてユーザーの同意が必要です。この点に関して、Hive SDKは、**消費情報を市場に送信することに同意するかどうかをユーザーに問い合わせる機能**を提供します。

Warning

Hive SDKの「消費情報送信の同意について問い合わせる」機能は、SDK v4 Native iOS 25.0.0以上から利用可能です。

'消費情報を送信'について

「消費情報を送信する」は、ユーザーの消費情報を市場に送信し、ゲーム内購入商品の返金処理を行う前にユーザーの消費レベルと返金傾向を分析する機能です。
この情報に基づいて、市場は返金基準を提供し、ゲームがユーザーによる不正使用を防ぐことを可能にします。

「消費情報を送信する」機能はHiveサーバーAPIによって提供されており、そのAPIの使用に関する詳細情報については、 HiveサーバーAPI > 消費情報を送信するガイドを参照してください。

Note

'「消費情報を送信する」機能は現在、Apple AppStore市場でのみサポートされており、これに関する詳細情報は以下の通りです。

  • Apple AppStoreを通じたアプリ内購入後、消費情報送信 APIがサポートされており、スムーズな返金処理と詐欺防止が行われます。
  • Appleに返金情報を送信するためには、個人情報の第三者提供に関するユーザーの同意と、個人情報の海外転送に関する同意を取得する必要があるため、Hive SDKは、ユーザーに条件を通知し、同意または同意の撤回を行うためのUIを提供します。

消費情報送信に関する同意の確認

アプリ内購入商品の**消費情報送信に関する同意の問い合わせ**を実装するには、まずHiveコンソールで各ゲームの消費情報送信機能の使用を設定する必要があります。詳細については、コンソールガイド > 請求 > 追加サービス設定ガイドを参照してください。

Hive コンソールで関連設定を構成した後、**消費情報送信の同意の問い合わせ**は、以下の Hive SDK によって提供される2つのAPIを使用して実装できます。

  • showConsumeInfoAgreement
  • getConsumeInfoAgreement

showConsumeInfoAgreement

showConsumeInfoAgreement APIは、消費情報を送信することに対するユーザーの同意を尋ねるポップアップUIを表示します。これは、ユーザーがアプリ内製品を購入したときや別のボタンを押したときにポップアップUIを表示するために呼び出すことができ、呼び出し後には、送信する同意の結果をResultAPIおよびBooleanとして返します。

製品を購入する際、または購入完了時に、Hive SDKのshowConsumeInfoAgreement APIを呼び出して、ユーザーに消費情報の送信に関する同意を求めます。ゲーム内の「消費情報送信に関する同意確認」ポップアップUIを表示することができ、同意の結果はHiveサーバーで保存および管理されます。

showConsumeInfoAgreement APIの機能は次のとおりです。

  • ゲーム内で「消費情報送信の同意」ポップアップUIも表示される場合があります。したがって、ユーザーはいつでも同意を変更または撤回できます。
  • 初めて問い合わせを受けるユーザーや、以前に同意を拒否したユーザーには、消費情報を送信するための同意を求めるボタンが表示され、以前に同意したユーザーには同意を撤回するかどうかを尋ねるボタンが表示されます。

    '同意'を送信する例 '同意の撤回'を送信する例
  • ユーザーが同意を撤回した場合、「消費情報送信に関する同意の問い合わせ」ポップアップUIを再表示できます。この時、getConsumeInfoAgreement APIを呼び出すことで、ユーザーの「最後の同意状況」や「最後の応答時間」など、再表示に必要な情報を提供します。その後、ゲームは受け取った値を参照して、以下の例のようにポップアップを再表示できます。

    例: N日間の撤回またはキャンセル後の再曝露

getConsumeInfoAgreement

getConsumeInfoAgreement APIは、ユーザーの最後の応答情報を取得し、結果をResultAPIおよびオブジェクトとして返します。getConsumeInfoAgreement APIを呼び出すことで、ゲーム内でユーザーの同意状況やタイミングを別途保存する必要がなくなり、リソースを節約できます。

結果として返されるオブジェクトには、ユーザーの最後の同意値(Boolean)、最初の応答の時間(Integer)、および最後の応答の時間(Integer)が含まれています。ポップアップに一度も触れたことがないユーザーにはnull値が返され、以前の応答情報が存在する場合は、3つの値が1つのオブジェクトとして返されます。

例のコード

消費者情報送信の同意を求める 提供されたAPIを使用した実装の例コードは以下の通りです。

showConsumeInfoAgreement

using hive;    
IAPV4.showConsumeInfoAgreement((ResultAPI result, bool didAgree) => {    
  if (result.isSuccess()) {    
    // ユーザーが条件に同意したか拒否したかをdidAgreeで確認します。
  }    
});

getConsumeInfoAgreement

using hive;    
IAPV4.getConsumeInfoAgreement((ResultAPI result, IAPV4.IAPV4ConsumeInfoUserAgreement info) => {    
  if (result.isSuccess()) {    
    // ユーザーの最後の合意値と情報からの応答時間を取得し、ポップアップを表示するかどうかを決定します。
  }    
});

showConsumeInfoAgreement

#include "HiveIAPV4.h"

FHiveIAPV4::ShowConsumeInfoAgreement(FHiveIAPV4OnShowConsumeInfoAgreementDelegate::CreateLambda([this](const FHiveResultAPI& Result, bool DidAgree) {
  if (Result.IsSuccess()) {
    // Find out whether the user agreed or declined the terms with didAgree.
}));

getConsumeInfoAgreement

#include "HiveIAPV4.h"

FHiveIAPV4::GetConsumeInfoAgreement(
  FHiveIAPV4OnGetConsumeInfoAgreementDelegate::CreateLambda([this](const FHiveResultAPI& Result, const FHiveIAPV4ConsumeInfoUserAgreement& Info) {
    if (Result.IsSuccess()) {
      // ユーザーの最後の同意値と情報からの応答時間を取得し、ポップアップを表示するかどうかを決定します。
    }
}));

showConsumeInfoAgreement

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;    
IAPV4::showConsumeInfoAgreement([=](ResultAPI const & result, bool didAgree) {    
  if (result.isSuccess()) {    
    // Check if the user agreed or rejected the terms with didAgree.
  }    
}

getConsumeInfoAgreement

#include <HIVE_SDK_Plugin/HIVE_CPP.h>    
using namespace std;    
using namespace hive;    
IAPV4::getConsumeInfoAgreement([=](ResultAPI const & result, IAPV4ConsumeInfoUserAgreement* _Nullable const & info) {    
  if (result.isSuccess()) {    
    // ユーザーの最後の同意値と情報からの応答時間を取得し、ポップアップを表示するかどうかを決定します。
  }    
}

showConsumeInfoAgreement

import HIVEService    
IAPV4Interface.showConsumeInfoAgreement() { result, didAgree in    
  if result.isSuccess() {    
    // ユーザーが条件に同意したか拒否したかをdidAgreeで確認します。
  }    
}

getConsumeInfoAgreement

import HIVEService    
IAPV4Interface.getConsumeInfoAgreement() { result, info in    
  if result.isSuccess() {    
    // ユーザーの最後の同意値と情報からの応答時間を取得し、ポップアップを表示するかどうかを決定します。
  }    
}

showConsumeInfoAgreement

#import <HIVEService/HIVEService-Swift.h>    
[HIVEIAPV4 showConsumeInfoAgreementWithHandler:^(HIVEResultAPI * result, BOOL didAgree) {    
  if ([result isSuccess]) {    
    // Check if the user agreed or declined the terms with didAgree.
  }    
}];

getConsumeInfoAgreement

#import <HIVEService/HIVEService-Swift.h>    
[HIVEIAPV4 getConsumeInfoAgreementWithHandler:^(HIVEResultAPI * result, HIVEIAPV4ConsumeInfoUserAgreement * info) {    
  if ([result isSuccess]) {    
    // ユーザーの最後の同意値と情報からの応答時間を取得し、ポップアップを表示するかどうかを決定します。
  }    
}];