コンテンツにスキップ

招待コードベースのマッチング

ユーザー招待は、ユーザーが招待コードを発行して他のユーザーをゲームに招待し、そのために開発者から報酬を受け取ることを可能にする機能です。ユーザー招待APIは、ゲームが招待コードを発行し、招待を受け入れたユーザーをマッチングすることを可能にするAPIです。

Warning

以下のすべてのAPIに対して、Authorization Headerは必須ではありません。ただし、セキュリティ上の理由から、Hive認証キーを使用し、ゲームサーバーからAPIを直接呼び出すことをお勧めします。

使い方

  1. Hiveコンソール > プロモーション > ユーザー招待 > 登録招待キャンペーンで、招待コード発行タイプのcampaignを作成します。
  2. 招待キャンペーン情報を取得し、有効なキャンペーンIDをゲームサーバーに保存します。
  3. ユーザー招待ページで、受け取った招待者情報と上記で保存したキャンペーンIDを呼び出しパラメータとして渡して、招待コードを発行します。
  4. 招待者の情報(player_idなど)と、招待者が受け取った招待コードを呼び出しパラメータとして渡し、マッチリクエストを行います。
  5. 報酬状況を確認して、ユーザー招待ページで報酬受取の進捗を表示します。

準備

招待コード関連のAPIを使用するには、以下の項目を準備する必要があります。

  • 認証ヘッダーで使用するHive認証キー: Hive Console > App Center > Project Management > アプリを検索して選択 > ゲーム詳細 > 基本情報 > Hive認証キー
  • server_id: Hive Console > App Center > Project Management > アプリを検索して選択 > ゲーム詳細 > ゲームサーバー
  • 招待キャンペーン: キャンペーン作成を登録して招待コードタイプを発行する Hive Console > Promotion > User Invitation > 招待キャンペーン登録

キャンペーン情報取得

Hiveコンソールで作成された招待キャンペーン情報を取得しています。アクティブで利用可能な招待キャンペーン情報のみが取得されます。キャンペーンに設定された報酬情報もレスポンスに含まれます。

APIリクエスト仕様

リクエストURL

環境 URL
商業用 https://promotion.qpyou.cn/ua/inviteCode/campaign
サンドボックス https://sandbox-promotion.qpyou.cn/ua/inviteCode/campaign

リクエストメソッドとデータフォーマット

アイテム 説明
HTTPメソッド POST
コンテンツタイプ application/json

ヘッダー

フィールド名 説明 タイプ 必須
Authorization Bearer認証を通じたcertificationKeyの有効性チェック 文字列 N

リクエストボディ

フィールド名 説明 タイプ 必須
gameindex ユニークなゲーム番号 整数 Y

コール例

curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/campaign" \
        -H "Content-Type: application/json" \
        -d '{
        "gameindex": 539
        }'

APIレスポンス仕様

応答

フィールド名 説明 タイプ 必須
result_code レスポンスコード
  • 200: 成功
  • その他: 失敗
整数 Y
result_message レスポンスメッセージ 文字列 Y
campaign_list 招待コードキャンペーンリスト 配列 Y
ㄴ id プロモーションキャンペーンID 整数 N
ㄴ title キャンペーンタイトル 文字列 N
ㄴ rewards 報酬リスト 配列 N
ㄴㄴ reward_id 報酬ID 整数 N
ㄴㄴ description 報酬の説明 文字列 N
ㄴㄴ reward_type 報酬タイプ
  • action: アクション報酬
  • goal: 目標達成報酬
文字列 N
ㄴㄴ action_type アクションタイプ
  • match: マッチング
  • cpi: インストール
  • cpa: 特定のアクションの達成
文字列 N
ㄴㄴ cpa_code CPAユニーク番号
  • アクションタイプがcpaの場合は有効な値を提供してください
  • cpaでない場合はNullを提供してください
整数 N
ㄴㄴ goal 目標金額 整数 N
ㄴㄴ limit 報酬制限 整数 N

応答例

{
    "campaign_list": [
    {
        "id": "19",
            "title": "초대 코드 발급_행동_설치(초대 2, 수락 3, 제한 2)",
            "rewards": [
        {
            "reward_id": 33,
                "description": "행동_설치(초대 2, 수락 3, 제한 2)",
                "reward_type": "action",
                "action_type": "cpi",
                "cpa_code": null,
                "goal": 1,
                "limit": 2
        }
      ]
    }
  ],
    "result_code": 200,
    "result_message": "Success"
}

招待コードを取得

ユーザーはキャンペーンで招待コードを受け取ることができます。各キャンペーンは1つの招待コードのみを発行できます。招待者に報酬を与えるためには、招待者がアクセスしたサーバーIDを提供する必要があります。

APIリクエスト仕様

リクエストURL

環境 URL
本番 https://promotion.qpyou.cn/ua/inviteCode/getCode
サンドボックス https://sandbox-promotion.qpyou.cn/ua/inviteCode/getCode

リクエストメソッドとデータフォーマット

アイテム 説明
HTTPメソッド POST
コンテンツタイプ application/json

ヘッダー

フィールド名 説明 タイプ 必須
Authorization Bearer認証を通じたcertificationKeyの有効性チェック 文字列 N

リクエストボディ

フィールド名 説明 タイプ 必須
gameindex ユニークなゲーム番号 整数 Y
campaign_id 招待コードキャンペーンのユニーク番号 整数 Y
player_id モジュールに応じてvidまたはuidのいずれかが必要
- vid: 統合モジュールに必要
- uid: 個別モジュールに必要
文字列 Y
server_id ゲームサーバーのユニークID 文字列 Y

呼び出し例

curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/getCode" \
    -H "Content-Type: application/json" \
    -d '{
          "gameindex" : 539,
          "campaign_id": 19,
          "player_id" : 12341234,
          "server_id" : "kr"
        }'

APIレスポンス仕様

応答

フィールド名 説明 タイプ 必須
result_code レスポンスコード
  • 200: 成功
  • その他: 失敗
整数 Y
result_message レスポンスメッセージ 文字列 Y
invite_code 発行された招待コード 文字列 Y

応答例

{
  "invite_code": "ESOJ0TOC",
  "result_code": 200,
  "result_message": "Success"
}

招待コードの一致

招待者と受取人をマッチさせるために招待コードを入力してください。報酬の濫用を防ぐために、マッチングリクエストを行う前にゲームサーバーで受取人のアカウント情報を確認することをお勧めします。マッチング報酬はキャンペーンごとに1回のみ付与されます。

APIリクエスト仕様

リクエストURL

環境 URL
商業用 https://promotion.qpyou.cn/ua/inviteCode/companion
サンドボックス https://sandbox-promotion.qpyou.cn/ua/inviteCode/companion

リクエストメソッドとデータ形式

アイテム 説明
HTTPメソッド POST
Content-Type application/json

ヘッダー

フィールド名 説明 タイプ 必須
Authorization Bearer認証を通じたcertificationKeyの有効性チェック 文字列 N

リクエストボディ

フィールド名 説明 タイプ 必須
gameindex ユニークなゲーム番号 整数 Y
invite_code 発行された招待コード 文字列 Y
player_id モジュールに応じてvidまたはuidのいずれかが必要です
- vid: 統合モジュールに必要
- uid: 個別モジュールに必要
文字列 Y
server_id ゲームサーバーのユニークID 文字列 Y

コール例

curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/companion" \
    -H "Content-Type: application/json" \
    -d '{
          "gameindex" : 539,
          "invite_code" :"ESOJ0TOC",
          "player_id" : 234234,
          "server_id" : "kr"
        }'

APIレスポンス仕様

応答

フィールド名 説明 タイプ 必須
result_code レスポンスコード
  • 200: 成功
  • その他: 失敗
整数 Y
result_message レスポンスメッセージ 文字列 Y
detail 発行された招待コード 配列 Y
ㄴㄴmatched 一致状況 ブール Y
ㄴㄴreason 一致失敗の理由 文字列 Y

応答例

{
  "detail": {
    "matched": true,
    "reason": "Both matching and rewards were successful"
  },
  "result_code": 200,
  "result_message": "Success"
}

報酬ステータスを確認

招待コードの報酬ステータスを確認中です。

APIリクエスト仕様

リクエストURL

環境 URL
本番 https://promotion.qpyou.cn/ua/inviteCode/progress
サンドボックス https://sandbox-promotion.qpyou.cn/ua/inviteCode/progress

リクエストメソッドとデータ形式

アイテム 説明
HTTPメソッド POST
Content-Type application/json

ヘッダー

フィールド名 説明 タイプ 必須
Authorization Bearer認証を通じたcertificationKeyの有効性チェック 文字列 N

リクエストボディ

フィールド名 説明 タイプ 必須
gameindex ユニークなゲーム番号 整数 Y
invite_code 発行された招待コード 文字列 Y

呼び出し例

curl -L -v -X POST --location "http://sandbox-promotion.qpyou.cn/ua/inviteCode/progress" \
        -H "Content-Type: application/json" \
        -d '{
          "gameindex" : 539,
          "invite_code" :"ESOJ0TOC"
        }'

APIレスポンス仕様

応答

フィールド名 説明 タイプ 必須
result_code レスポンスコード
  • 200: 成功
  • その他: 失敗
整数 Y
result_message レスポンスメッセージ 文字列 Y
progress_list 報酬進捗状況のリスト(報酬進捗履歴がない場合、空の配列が返されます) 配列 Y
ㄴ reward_id 報酬ID 整数 N
ㄴ reward_type 報酬タイプ
  • action: アクション報酬
  • goal: 目標達成報酬
文字列 N
ㄴ action_type アクションタイプ
  • match: マッチング
  • cpi: インストール
  • cpa: 特定のアクションの達成
文字列 N
ㄴ count 与えられた報酬の数 整数 N
ㄴ max_reward 最大報酬制限 整数 N
ㄴ goal_progress 目標達成状況
  • 報酬タイプが「目標達成報酬」の場合に使用
  • 目標(goal)が達成された場合に報酬が与えられます
整数 N
ㄴ goal 目標数
  • 報酬タイプが「目標達成報酬」の場合に使用
整数 N
ㄴ goal_achieved 達成された目標の数
  • 報酬タイプが「目標達成報酬」の場合に使用
整数 N

応答例

{
  "progress_list": [
    {
      "reward_id": 19,
      "reward_type": "action",
      "action_type": "match",
      "count": 1,
      "max_reward": 1,
      "goal_progress": 0,
      "goal_achieved": 0
    },
    {
      "reward_id": 20,
      "reward_type": "goal",
      "action_type": "cpi",
      "count": 2,
      "max_reward": 2,
      "goal_progress": 1,
      "goal": 3,
      "goal_achieved": 2
    }
  ],
  "result_code": 200,
  "result_message": "Success"
}