-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #446 from team-yello/feat/YEL-213
YEL-213 [feat] google admob 구현
- Loading branch information
Showing
81 changed files
with
4,750 additions
and
3,700 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
:reproducible: | ||
== 이벤트 참여 | ||
|
||
=== 요청 | ||
|
||
include::{snippets}/api/v1/admob/reward/http-request.adoc[] | ||
|
||
=== request body | ||
|
||
- "rewardType": String -> "ADMOB_POINT" | "ADMOB_MULTIPLE_POINT" | ||
* ADMOB_POINT : 광고 보고 10 포인트 | ||
* ADMOB_MULTIPLE_POINT : 광고 보고 포인트 2배 이벤트 | ||
|
||
- "randomType" : String -> "FIXED" | "ADMOB_RANDOM" | ||
* FIXED : 고정값 (현재 이것만 사용) | ||
* ADMOB_RANDOM : 랜덤값 (추후 랜덤으로 바뀔 것 고려) | ||
- "uuid" : String -> UUID4 형식만 적용 | ||
- "rewardNumber" : Integer -> 포인트인 경우 10, 투표 포인트 2배 이벤트인 경우 현재 투표 후 받은 포인트 보내줘야함 | ||
|
||
=== 응답 | ||
|
||
include::{snippets}/api/v1/admob/reward/http-response.adoc[] | ||
|
||
=== NOTE | ||
|
||
- Header에 무작위한 UUID4 값을 넣어주세요 | ||
* 예시) IdempotencyKey: 0397b5f3-ecdc-47d6-b5d7-2b1afcf00e87 | ||
- 주의사항 | ||
* 같은 멱등성키를 2번 요청하면, 400번 에러. | ||
- ADMOB | ||
* ADMOB 서버에 SSV(ServerSideVerification) Options의 customData에 입력한 것과 동일한 멱등성 키를 넘겨주세요. | ||
|
||
=== CHANGELOG | ||
|
||
- 2024.02.11 릴리즈 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13 changes: 13 additions & 0 deletions
13
src/main/java/com/yello/server/domain/event/dto/request/AdmobRewardRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package com.yello.server.domain.event.dto.request; | ||
|
||
import lombok.Builder; | ||
|
||
@Builder | ||
public record AdmobRewardRequest( | ||
String rewardType, | ||
String randomType, | ||
String uuid, | ||
Integer rewardNumber | ||
) { | ||
|
||
} |
45 changes: 45 additions & 0 deletions
45
src/main/java/com/yello/server/domain/event/dto/request/AdmobSsvRequest.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
package com.yello.server.domain.event.dto.request; | ||
|
||
import java.util.Arrays; | ||
import java.util.Map; | ||
import java.util.Optional; | ||
import java.util.function.Function; | ||
import lombok.Builder; | ||
|
||
@Builder | ||
public record AdmobSsvRequest( | ||
String customData, | ||
String signature, | ||
Long keyId, | ||
String transactionId, | ||
String rewardItem, | ||
Integer rewardAmount | ||
|
||
) { | ||
public static AdmobSsvRequest of(Map<String, String[]> parameters ) { | ||
Function<String, String> getParameter = (key) -> | ||
Optional.ofNullable(parameters.get(key)) | ||
.flatMap(arr -> Arrays.stream(arr).findFirst()) | ||
.orElse(""); | ||
|
||
long keyId = Optional.ofNullable(parameters.get("key_id")) | ||
.flatMap(arr -> Arrays.stream(arr).findFirst()) | ||
.map(Long::parseLong) | ||
.orElse(0L); | ||
|
||
int rewardAmount = Optional.ofNullable(parameters.get("reward_amount")) | ||
.flatMap(arr -> Arrays.stream(arr).findFirst()) | ||
.map(Integer::parseInt) | ||
.orElse(0); | ||
|
||
return AdmobSsvRequest.builder() | ||
.customData(getParameter.apply("custom_data")) | ||
.signature(getParameter.apply("signature")) | ||
.keyId(keyId) | ||
.transactionId(getParameter.apply("transaction_id")) | ||
.rewardItem(getParameter.apply("reward_item")) | ||
.rewardAmount(rewardAmount) | ||
.build(); | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.