IGAWリワードサーバーの連携
IGAWorksのadPOPcornやCouponサービスのように、ユーザーにリワードを付与するサービスをご利用する際にはリワードサーバーの連携が必要となります。
IGAWorksリワードサーバーはリワードを付与するために必要な情報をデベロッパー様のポストバック(コールバック)サーバーに渡します。
リワード付与情報を受信して処理するため、以下のガイドのご参考の上、ポストバックサーバーを構築してください。
基本情報の設定
adPOOPcornの管理画面(リワードウォール)の「オファーウォール管理>連携設定」メニューより、
ポストバックを受信するサーバーの基本情報を入力してください。入力する情報は以下となります。
- サーバー : リワードサーバー直接構成を選択します。
- ポストバックURL : リワード情報を受信するポストバックサーバーのライブURL
- テストポストバックURL : リワード付与情報を受信するポストバックサーバーのテストURL
- HTTP通信方式 : ポストバック送信方式
- Parameter(ポストバックパラメーター)(*) : リワードを付与するために必要なリワード情報のパラメーター
【例】
(*)Parameter(ポストバックパラメーター)
IGAWリワードサーバーが渡す各パラメーターを受信するパラメーターキーを入力します。
基本パラメーター以外に、追加で受信したい情報があれば追加することができます。
追加パラメーター(adPOPcorn)
- {campaign_name} : ユーザーが参加完了したキャンペーン名
- {campaign_type} : ユーザーが参加完了したキャンペーンタイプ
- {app_key} : IGAWorks App Key
- {app_name} : IGAWorks アプリ名
- {time_stamp} : キャンペーン参加完了時刻
- {adid} : ユーザーが参加完了したデバイスのGoogle広告ID
Protocolテスト
リワードサーバーの連携のテストのため、管理画面上でProtocolテストを実施できるようにサポートしております。
テストを実施するユーザー識別値を入力して頂き、以下の3つのProtocolテストを実施します。
各Protocolテストの「スタート」ボタンをクリックすると、サンプルリワード情報がテストポストバックURLに渡されます。
ポストバック応答
IGAWリワードサーバーに渡すリワード付与情報を受信して処理した後、処理結果をJSON形式で返答する必要がございます。
以下のように定義したケースに沿い、適切な応答をIGAWリワードサーバーに返信します。
ケース別のJSON応答フォーマット
- セキュリティー検証失敗
{"Result":false,"ResultCode":1100,"ResultMsg":"invalid signed value"} - リワード重複付与
{"Result":false,"ResultCode":3100,"ResultMsg":"duplicate transaction"} - ユーザー検証の失敗
{"Result":false,"ResultCode":3200,"ResultMsg":"invalid user "} - 例外ケースの発生
{"Result":false,"ResultCode":4000,"ResultMsg":"custom error message"} - リワード付与成功
{"Result":true,"ResultCode":1,"ResultMsg":"success"}
ケースの詳細
各応答フォーマットの利用は以下の状況となります。
- セキュリティー検証
IGAWリワードサーバーでHMAC-MD5方式で暗号化して渡した(*)SignedValue数値と、デベロッパーサーバーから生成したSignedValue数値を捕獲して、一致する場合のみ、セキュリティーが検証された通信で判断するフローです。 - リワード重複付与防止処理
ユーザーが同じrewardKeyに対して、リワードを2回以上付与されることを封じするためのフローです。
ユーザーが正常でキャンペーンを完了した際、キャンペーン毎にユニークなrewardkeyが発行されます。
渡されたrewardkeyがすでに付与処理を完了した場合、リワードを付与しなくなります。 - ユーザー検証
IGAWリワードサーバーより送信したリワード付与情報の中、ユーザー情報に該当するユーザーが存在するかを確認するフローです。
正しくないユーザー情報を渡した場合、リワードは付与しません。 - 例外ケースの発生
上記で定義したエラー事項以外に、他の事項に対して処理する際に利用します。
ResultMsgには、各状況に合うメッセージを直接設定することが出来ます。(英語のみ対応) - リワード付与処理の成功
上記のエラー事項を全てパスしたリワード付与情報に対して、リワード付与処理を完了した後、処理結果をIGAWリワードサーバーに渡します。
(*)SignedValue : セキュリティーを検証するために利用する暗号化の文字列です。IGAWサーバーでは、基本ポストバックパラメーター(usn,rewardkey,quantity,campaignkey)をplainTextとして生成したSignedValueをポストバックに含めて送信します。デベロッパーサーバーにも同じ方法でSignedValueを生成して、IGAWから渡された数値と比較します。
サンプルコード(c#, php)
ポストバックサーバーでは、上記で定義したProtocol interfaceに沿い、各ケースに合う応答をIGAWしてください。
ポストバックサーバーの構成に役立つため、C#, PHP サンプルコードを提供しております。
以下のリンクより、サンプルコードをダウンロードしてください。