서버 간 콜백 이벤트 핸들러
제공된 파라미터와 PHP 또는 Java용 샘플 코드를 사용하여 Ironsource 서버 간 커미션 이벤트 콜백을 구현하고 인증 완료된 광고 혜택을 사용자에게 안전하게 보상합니다.
읽는 시간 4분최근 업데이트: 10시간 전
커미션 이벤트 사용자 광고 혜택을 완료한 후 발생합니다.
- 보상형 비디오 및 오프웨어 월의 경우 사용자 가상 화폐 또는 아이템 보상형 광고 제공해야 합니다. Ironsource 보상에 대한 세부 정보와 함께 (애플리케이션 설정의 콜백 URL 파라미터 정의된 대로) 커미션 이벤트 콜백 호출합니다.
- 보상형 비디오 오프웨일의 경우 코드가 올바른 사용자 올바른 금액을 부여하도록 커미션 이벤트 콜백 구현해야 합니다. 인터스티셜 광고 경우 이벤트 사용자 혜택을 완료했음을 알려주기만 합니다(보상은 포함되지 않음).
다음 섹션에서는 커미션 이벤트 콜백 구문 설명하고 코드 샘플을 제공하고 이벤트 콜백 인증 관리하고 테스트하는 방법을 설명합니다.
- 보상형 비디오 경우 사용자 광고 혜택을 완료할 때(iOS의 경우 RewardedVideoDidReceiveCredit 또는 Android의 경우 onRVAdCredited 참조) 클라이언트 측 이벤트 호출되는 서버 측 커미션 이벤트 콜백 외에도 전송됩니다.
- OfferWall의 경우 클라이언트 측 이벤트 ssaOfferWallDidReceiveCredit(iOS) 또는 onOWAdCredited(Android)가 호출됩니다. 콜백 유효성을 확인할 수 있으므로 서버 측 이벤트 사용하여 사용자 보상을 트리거하는 것이 좋습니다. (iOS) 또는
ssaRewardedVideoDidReceiveCredit(Android)를 핸들링할 때 동일한 이벤트에 대해 사용자에게 두 번 보상을 제공하지 마십시오.onRVAdCredited
커미션 이벤트 콜백
사용자 광고 혜택을 완료했을 때 커미션 이벤트 콜백 호출되며, 크레딧 또는 가상 아이템으로 보상형 광고 합니다. 이 이벤트 처리하기 위한 코드를 구현해야 합니다.
파라미터
Name | Type | 설명 |
|---|---|---|
| [USER_ID] | 문자열 | 보상형 광고 대상 사용자 고유 식별자. 이는 Ironsource 제품을 초기화할 때 호출하는 앱에서 전송됩니다. URL로 인코딩된 양식이 전달됩니다(예: "123@abc.com"이 아닌 "123%40abc.com"). |
| [REWARDS] | Int | 사용자 부여할 신용 단위 수입니다. |
| [EVENT_ID] | 문자열 | Ironsource 서버에서 생성되고 영숫자 구성된 콜백 이벤트 고유 식별자. |
| [ITEM_NAME] | 문자열 | 획득할 가상 아이템의 이름입니다(가상 아이템 옵션을 사용하는 경우). |
| 타임스탬프 | 문자열 | 다음 포맷으로 이 콜백 호출된 정확한 날짜와 시간을 나타내는 문자열입니다. YYYYMMDDHMM(예: "201001021455"는 2010년 1월 2일 14:55로 표시됩니다. |
| 서명 | 문자열 | 인증 사용되는 MD5 해시 문자열입니다. 이 키는 다음 수식에 따라 생성됩니다. md5([TIMESTAMP][EVENT_ID][USER_ID] [REWARDS][PRIVATE_KEY])。 [USER_ID] 요소는 userID의 URL로 디코딩된 값입니다(예: "123%40abc.com"이 아닌 "123@abc.com"). [PRIVATE_KEY] 요소 비공개 키 설정에서 정의한 값입니다. |
응답
애플리케이션은 200(OK) 상태의 HTTP 리스폰스를 전송하여 커미션 이벤트 수신을 확인해야 하며, 여기서 문자열이 리스폰스 어디에나 나타납니다.
"\[EVENT\_ID\]:OK"<xml><status>dae8e6cf42b1357f8652ad6ecb5b24f1:OK</status></xml>
샘플 커미션 이벤트 콜백 코드 - PHP
다음 PHP 코드 샘플은 일반적인 커미션 이벤트 콜백 핸들러 보여줍니다. 코드를 복사한 후에는 및 함수를 구현하고 문자열을 올바른 값으로 설정해야 합니다.
**alreadyProcessed()**\**doProcessEvent()****\[YOUR\_PRIVATE\_KEY\]**// get the variables$userId = $_GET['applicationUserId'];$eventId = $_GET['eventId'];$rewards = $_GET['rewards'];$signature = $_GET['signature'];$timestamp = $_GET['timestamp'];$privateKey = ‘[YOUR_PRIVATE_KEY]';// validate the call using the signatureif (md5($timestamp.$eventId.$userId.$rewards.$privateKey) != $signature){ 에코 "서명은 매개 변수와 일치하지 않음"; 반환;}// check that we haven't processed the same event beforeif (!alreadyProcessed($eventId)){ // grant the rewards doProcessEvent($eventId, $userId, $rewards);}// return okecho $eventId.":OK";
샘플 커미션 이벤트 콜백 코드 - Java
다음 Java 코드 샘플은 일반적인 커미션 이벤트 콜백 핸들러 보여줍니다. 코드를 복사한 후에는 및 메서드를 구현하고 문자열을 올바른 값으로 설정해야 합니다.
**getPostParameter()****alreadyProcessed()**\**\[myPrivateKey\]**import java.security.*;import java.math.BigInteger;public class HelloWorld { public static void main(String []args) { validateSuperSonicCallback(); } public static String getPostParameter(String param){ // TODO : your app implementaion for get post parmas 반환 ""; } public static boolean alreadyProcessed(String eventId){ // TODO return true; } public static boolean validateSuperSonicCallback() { String applicationUserId = getPostParameter("applicationUserId"); String eventId = getPostParameter("eventId"); String signature = getPostParameter("signature"); String userId = getPostParameter("userId"); String rewards = getPostParameter("rewards"); String timestamp = getPostParameter("timestamp"); String privateKey = "myPrivateKey" ;// enter your private key String mySignature = ""; try { String message = timestamp + eventId + userId + rewards +privateKey; MessageDigest md = MessageDigest.getInstance("MD5"); md.update(message.getBytes()); BigInteger hash = new BigInteger(1, md.digest()); String result = hash.toString(16); while(result.length() < 32) { result = "0" + result; } System.out.println(result); // 문자열을 표시합니다. } catch(NoSuchAlgorithmException e){ } if (mySignature!=signature){ return false; }else{ return !alreadyProcessed(eventId); } }}
커미션 이벤트 콜백 인증
권한 없는 액세스, 접근 코드를 보호하기 위해 권장되는 베스트 프랙티스는 커미션 이벤트 콜백 서명과 소스를 테스트하여 호출 Ironsource 이루어졌는지 확인하는 것입니다.
다음 작업을 수행하여 커미션 이벤트 콜백 인증 수 있습니다.
- 호출의 파라미터에서 다음 수식: 에 따라 MD5 해시 값을 생성한 다음 결과가 서명 파라미터 값과 동일한지 확인합니다.
md5(\[TIMESTAMP\]\[EVENT\_ID\]\[USER\_ID\] \[REWARDS\]\[PRIVATE\_KEY\]) - 호출 다음 IP 주소 중 하나에서 발생했는지 확인합니다.
- 79.125.5.179
- 79.125.26.193
- 79.125.117.130
- 176.34.224.39
- 176.34.224.41
- 176.34.224.49
- 34.194.180.125
- 34.196.56.165
- 34.196.251.81
- 34.196.253.23
- 54.88.253.218
- 54.209.185.78