Max 대시보드를 통해 새로운 경쟁사 규칙 및/또는 위험 콘텐츠 규칙을 생성할 수 있습니다. 이 작업은 한 번에 하나의 규칙씩 수행합니다. 하지만 이 페이지에 설명된 Ad Review Rules Management API를 사용하면 한 번의 요청으로 여러 규칙을 조회하거나 생성할 수도 있습니다.
이 문서의 “Competitor monitoring” 및 “Risky content detection”을 참고하세요.
이 API에는 두 개의 엔드포인트가 있습니다.
/v1/rules/competitors
/v1/rules/competitors에 GET 요청을 보내 사전 정의된 모든 경쟁사 규칙(활성 및 일시 중지된 규칙)을 조회합니다./v1/rules/competitors에 POST 요청을 보내 새로운 경쟁사 규칙을 생성합니다./v1/rules/risky
/v1/rules/risky에 GET 요청을 보내 사전 정의된 모든 위험 콘텐츠 규칙(활성 및 일시 중지된 규칙)을 조회합니다./v1/rules/risky에 POST 요청을 보내 새로운 위험 콘텐츠 규칙을 생성합니다.이 페이지의 다음 섹션에서 이러한 엔드포인트에 대해 더 자세히 설명합니다.
각 API 요청은 반드시 인증되어야 합니다.
인증하려면 요청에 Api-Key HTTP 헤더를 추가하고 해당 값을 계정의 Ad Review Key로 설정하세요.
Ad Review Key는 AppLovin 대시보드의 Account > General > Keys 섹션에서 확인할 수 있습니다.
https://api-safedk.applovin.com/v1/rules/competitors
POST 요청 바디{
"rules": [
{
"name": "android title rule",
"platform": "android",
"package_names": ["com.mytest.app"],
"rule_type": "title",
"value": ["com.examplegames.solitaire", "com.eg.Bricks"]
},
⋮
]
}
| 이름 | 타입 | 설명 / 유효한 값 | 생성 시 필수 여부 (POST) |
|---|---|---|---|
name | string | 규칙 이름 (여러 규칙에 동일한 이름을 사용할 수 있습니다). 최대 길이는 35자입니다. 규칙 이름에는 영숫자, _, :, -, & 또는 공백을 포함할 수 있습니다. | true |
platform | string | "android" 또는 "ios" | true |
package_names | string[] | 이 규칙과 연결된 퍼블리셔 앱의 패키지 이름 / 번들 ID (예: "com.my.test.app"). 여기에 빈 배열을 전달하면 이 플랫폼의 모든 앱에 규칙이 적용됩니다. 참고: 이 이름 중 하나가 선택한 플랫폼과 일치하지 않는 앱의 이름인 경우 규칙 전체가 무효화됩니다. | false |
rule_type | string | "title", "store_category" 또는 "advertiser" | true |
value | string[] | rule_type 필드에 표시된 광고 특성에 대한 유효한 값의 배열입니다. 광고가 해당 특성에 대해 이 문자열 중 하나라도 일치하면 이 규칙이 광고를 플래깅합니다. 참고: 값 중 하나가 선택한 플랫폼에 적합하지 않은 경우(예: 규칙이 Android 앱에 적용된다고 지정되어 있으나 iTunes ID를 전달한 경우) 규칙 전체가 무효화되며 API가 이를 거부합니다. 이 배열의 문자열에 대한 올바른 값은 선택한 platform 및 rule_type에 따라 다릅니다(아래 "유효한 규칙 값" 참고). | true |
Api-Key HTTP 헤더를 추가하고 해당 값을 계정의 Ad Review Key로 설정하세요.
Ad Review Key는 AppLovin 대시보드의 Account > General > Keys 섹션에서 확인할 수 있습니다.POST)응답에는 세 가지 요소가 포함된 해시가 포함됩니다.
updated_rules—새로 생성된 규칙 및 이 요청으로 인해 다시 활성화된 일시 중지된 규칙existing_rulesinvalid_rules이러한 각 요소에는 다음이 포함됩니다.
total—이 요소가 적용되는 규칙의 총 개수를 나타내는 정수rules—관련 rule 객체를 포함하는 배열 (POST 요청에 있는 것과 동일한 종류의 rule 객체—이 객체의 요소에 대해서는 위의 "요청 바디 요소 표"를 참고하세요)GET)성공적인 응답에는 기존의 모든 커스텀 경쟁사 규칙 객체의 배열이 포함됩니다.
여기에는 MAX Ad Review에 의해 자동 생성된 규칙은 포함되지 않습니다.
이 응답 객체의 요소에는 name, platform, package_names, rule_type 및 value(이러한 요소에 대한 설명은 위의 "요청 바디 요소 표" 참고)와 규칙이 활성 상태인 경우 true, 그렇지 않은 경우 false인 is_active가 포함됩니다.
[
{
"name": "android title rule",
"platform": "android",
"package_names":["com.test.my_first_app","com.test.my_second_app"],
"rule_type": "title",
"value": ["solitaire", "block", "com.games.solitaire", "com.bestgames.Bricks"],
"is_active": "true"
},
{
"name": "ios title rule",
"platform": "ios",
"rule_type": "title",
"value": ["1449713068"],
"is_active": "false"
}
]
/v1/rules/risky 엔드포인트새로운 위험 콘텐츠 규칙을 생성하려면 risky 엔드포인트에 POST 요청을 보냅니다.
아래 설명된 대로 요청 바디에 필수 필드를 포함하세요.
요청당 여러 개의 위험 콘텐츠 규칙을 생성할 수 있습니다.
이렇게 하면 활성 상태로 모든 새 규칙이 생성됩니다.
동일한 활성 위험 콘텐츠 규칙이 이미 존재하는 경우, API는 해당 규칙을 두 번 추가하지 않습니다.
대신 응답의 existing_rules 배열에 해당 규칙을 포함합니다.
동일한 일시 중지된 규칙이 존재하는 경우 상태가 활성으로 변경됩니다.
새로 생성되거나 다시 활성화된 모든 규칙은 응답의 updated_rules 배열에 나타납니다.
규칙에 유효하지 않은 값이 포함된 경우 API는 해당 규칙을 추가하지 않고 응답의 invalid_rules 배열에 포함합니다.
기존의 모든 위험 콘텐츠 규칙(활성 및 일시 중지된 규칙)을 조회하려면 risky 엔드포인트에 GET 요청을 보냅니다.
이 엔드포인트에서는 기존 규칙을 수정하거나 일시 중지할 수 없습니다. 대신 UI에서 해당 작업을 수행하세요.
https://api-safedk.applovin.com/v1/rules/competitors
POST 요청 바디{
"rules": [
{
"name": "android title rule",
"platform": "android",
"package_names": ["com.mytest.app"],
"rule_type": "title",
"value": ["com.examplegames.solitaire", "com.eg.Bricks"]
},
⋮
]
}
| 이름 | 타입 | 설명 / 유효한 값 | 생성 시 필수 여부 (POST) |
|---|---|---|---|
name | string | 규칙 이름 (여러 규칙에 동일한 이름을 사용할 수 있습니다). 최대 길이는 35자입니다. 규칙 이름에는 영숫자, _, :, -, & 또는 공백을 포함할 수 있습니다. | true |
platform | string | "android" 또는 "ios" | true |
package_names | string[] | 이 규칙과 연결된 퍼블리셔 앱의 패키지 이름 / 번들 ID (예: "com.my.test.app"). 여기에 빈 배열을 전달하면 이 플랫폼의 모든 앱에 규칙이 적용됩니다. 참고: 이 이름 중 하나가 선택한 플랫폼과 일치하지 않는 앱의 이름인 경우 규칙 전체가 무효화됩니다. | false |
rule_type | string | "title", "store_category" 또는 "advertiser" | true |
value | string[] | rule_type 필드에 표시된 광고 특성에 대한 유효한 값의 배열입니다. 광고가 해당 특성에 대해 이 문자열 중 하나라도 일치하면 이 규칙이 광고를 플래깅합니다. 참고: 값 중 하나가 선택한 플랫폼에 적합하지 않은 경우(예: 규칙이 Android 앱에 적용된다고 지정되어 있으나 iTunes ID를 전달한 경우) 규칙 전체가 무효화되며 API가 이를 거부합니다. 이 배열의 문자열에 대한 올바른 값은 선택한 platform 및 rule_type에 따라 다릅니다(아래 "유효한 규칙 값" 참고). | true |
Api-Key HTTP 헤더를 추가하고 해당 값을 계정의 Ad Review Key로 설정하세요.
Ad Review Key는 AppLovin 대시보드의 Account > General > Keys 섹션에서 확인할 수 있습니다.POST)응답에는 세 가지 요소가 포함된 해시가 포함됩니다.
updated_rules—새로 생성된 규칙 및 이 요청으로 인해 다시 활성화된 일시 중지된 규칙existing_rulesinvalid_rules이러한 각 요소에는 다음이 포함됩니다.
total—이 요소가 적용되는 규칙의 총 개수를 나타내는 정수rules—관련 rule 객체를 포함하는 배열 (POST 요청에 있는 것과 동일한 종류의 rule 객체—이 객체의 요소에 대해서는 위의 "요청 바디 요소 표"를 참고하세요)GET)성공적인 응답에는 기존의 모든 커스텀 경쟁사 규칙 객체의 배열이 포함됩니다.
여기에는 MAX Ad Review에 의해 자동 생성된 규칙은 포함되지 않습니다.
이 응답 객체의 요소에는 name, platform, package_names, rule_type 및 value(이러한 요소에 대한 설명은 위의 "요청 바디 요소 표" 참고)와 규칙이 활성 상태인 경우 true, 그렇지 않은 경우 false인 is_active가 포함됩니다.
[
{
"name": "android title rule",
"platform": "android",
"package_names":["com.test.my_first_app","com.test.my_second_app"],
"rule_type": "title",
"value": ["solitaire", "block", "com.games.solitaire", "com.bestgames.Bricks"],
"is_active": "true"
},
{
"name": "ios title rule",
"platform": "ios",
"rule_type": "title",
"value": ["1449713068"],
"is_active": "false"
}
]
/v1/rules/risky 엔드포인트새로운 위험 콘텐츠 규칙을 생성하려면 risky 엔드포인트에 POST 요청을 보냅니다.
아래 설명된 대로 요청 바디에 필수 필드를 포함하세요.
요청당 여러 개의 위험 콘텐츠 규칙을 생성할 수 있습니다.
이렇게 하면 활성 상태로 모든 새 규칙이 생성됩니다.
동일한 활성 위험 콘텐츠 규칙이 이미 존재하는 경우, API는 해당 규칙을 두 번 추가하지 않습니다.
대신 응답의 existing_rules 배열에 해당 규칙을 포함합니다.
동일한 일시 중지된 규칙이 존재하는 경우 상태가 활성으로 변경됩니다.
새로 생성되거나 다시 활성화된 모든 규칙은 응답의 updated_rules 배열에 나타납니다.
규칙에 유효하지 않은 값이 포함된 경우 API는 해당 규칙을 추가하지 않고 응답의 invalid_rules 배열에 포함합니다.
기존의 모든 위험 콘텐츠 규칙(활성 및 일시 중지된 규칙)을 조회하려면 risky 엔드포인트에 GET 요청을 보냅니다.
이 엔드포인트에서는 기존 규칙을 수정하거나 일시 중지할 수 없습니다. 대신 UI에서 해당 작업을 수행하세요.
https://api-safedk.applovin.com/v1/rules/risky
POST 요청 바디{
"rules": [
{
"name": "android title rule",
"platform": "android",
"package_names": ["com.my.android.test.app"],
"rule_type": "title",
"value": ["com.games.solitaire","com.games.Bricks"]
},
{
"name": "ios title rule",
"platform": "ios",
"rule_type": "title",
"value": ["1349713000"]
},
{
"name": "store_category rule",
"platform": "ios",
"rule_type": "store_category",
"value": ["Action", "Card"]
},
{
"name": "advertiser ios rule",
"platform": "ios",
"rule_type": "advertiser",
"value": ["ExampleAdvertiser1", "ExampleAdvertiser2"]
},
{
"name": "content_rating ios rule",
"platform": "ios",
"rule_type": "content_rating",
"value": ["12+", "17+"]
},
{
"name": "advisory ios rule",
"platform": "ios",
"rule_type": "advisory",
"value": ["Frequent/Intense Alcohol, Tobacco or Drug Use or References"]
},
{
"name": "web_domain rule",
"platform": "ios",
"rule_type": "web_domain",
"value": ["test.com", "example.com"]
},
{
"name": "ios_platform_with_android_package_name_rule", //invalid rule
"platform": "ios",
"package_names": "com.my.android.test.app",
"rule_type": "title",
"value": ["1449713068"]
},
{
"name": "ios_platform_with_android_title_value", //invalid rule
"platform": "ios",
"rule_type": "title",
"value": ["1449713068", "com.games.solitaire1"]
},
{
"name": "ios_platform_with_android_content_rating_value", //invalid rule
"platform": "ios",
"rule_type": "content_rating",
"value": ["Everyone"]
}
]
}
이 요청에 대한 응답에서 유효하지 않은 규칙이 어떻게 보고되는지 확인하려면 아래 "응답 형식 (POST): 예시"를 참고하세요.
| 이름 | 타입 | 설명 / 유효한 값 | 생성 시 필수 여부 (POST) |
|---|---|---|---|
name | string | 규칙 이름 (여러 규칙에 동일한 이름을 사용할 수 있습니다). 최대 길이는 35자입니다. 규칙 이름에는 영숫자, _, :, -, & 또는 공백을 포함할 수 있습니다. | true |
platform | string | "android" 또는 "ios" | true |
package_names | string[] | 이 규칙과 연결된 퍼블리셔 앱의 패키지 이름 / 번들 ID (예: "com.my.test.app"). 여기에 빈 배열을 전달하면 이 플랫폼의 모든 앱에 규칙이 적용됩니다. 참고: 이 이름 중 하나가 선택한 플랫폼과 일치하지 않는 앱의 이름인 경우 규칙 전체가 무효화됩니다. | false |
rule_type | string | "title", "store_category", "advertiser", "web_domain", "content_rating" 또는 "advisory" | true |
value | string[] | rule_type 필드에 표시된 광고 특성에 대한 유효한 값의 배열입니다. 광고가 해당 특성에 대해 이 문자열 중 하나라도 일치하면 이 규칙이 광고를 플래깅합니다. 참고: 값 중 하나가 선택한 플랫폼에 적합하지 않은 경우(예: 규칙이 Android 앱에 적용된다고 지정되어 있으나 iTunes 콘텐츠 등급 값을 전달한 경우) 규칙 전체가 무효화되며 API가 이를 거부합니다. 이 배열의 문자열에 대한 올바른 값은 선택한 platform 및 rule_type에 따라 다릅니다(아래 "유효한 규칙 값" 참고). | true |
Api-Key HTTP 헤더를 추가하고 해당 값을 계정의 Ad Review Key로 설정하세요.
Ad Review Key는 AppLovin 대시보드의 Account > General > Keys 섹션에서 확인할 수 있습니다.POST)응답에는 세 가지 요소가 포함된 해시가 포함됩니다.
updated_rules—새로 생성된 규칙 및 이 요청으로 인해 다시 활성화된 일시 중지된 규칙existing_rulesinvalid_rules이러한 각 요소에는 다음이 포함됩니다.
total—이 요소가 적용되는 규칙의 총 개수를 나타내는 정수rules—관련 rule 객체를 포함하는 배열 (POST 요청에 있는 것과 동일한 종류의 rule 객체—이 객체의 요소에 대해서는 위의 "요청 바디 요소 표"를 참고하세요)"updated_rules": {
"total": 6
"rules": {[
{
"name": "android title rule",
"platform": "android",
"package_names": ["com.my.android.test.app"],
"rule_type": "title",
"value": ["com.games.solitaire","com.games.Bricks"]
}, {…},{…},{…},{…},{…}
]
},
"invalid_rules": {
"total": 3
"rules": [
{
"name": "ios_platform_with_android_package_name_rule", //invalid rule
"platform": "ios",
"my_apps_package_name": "com.my.android.test.app",
"rule_type": "title",
"value": ["1449713068"]
}, {…},{…}
]
},
"existing_rules": {
"total": 1
"rules":[
{
"name": "web_domain rule",
"platform": "ios",
"rule_type": "web_domain",
"value": ["test.com", "example.com"]
}
]
}
GET)성공적인 응답에는 기존의 모든 커스텀 위험 콘텐츠 규칙 객체의 배열이 포함됩니다.
여기에는 MAX Ad Review에 의해 자동 생성된 규칙은 포함되지 않습니다.
이 응답 객체의 요소에는 name, platform, package_names, rule_type 및 value(이러한 요소에 대한 설명은 위의 "요청 바디 요소 표" 참고)와 규칙이 활성 상태인 경우 true, 그렇지 않은 경우 false인 is_active가 포함됩니다.
[
{
"name": "android title rule",
"platform": "android",
"package_names":["com.test.my_first_app","com.test.my_second_app"],
"rule_type": "title",
"value": ["solitaire", "block", "com.games.solitaire", "com.bestgames.Bricks"],
"is_active": "true"
},
{
"name": "ios title rule",
"platform": "ios",
"rule_type": "title",
"value": ["1449713068"],
"is_active": "false"
}
]
GET 요청 제한규칙이 너무 많은 경우, 이러한 엔드포인트에 대한 GET 요청이 모든 규칙을 검색하고 전송하는 동안 타임아웃이 발생할 수 있습니다.
이를 해결하기 위해 이러한 엔드포인트가 반환하는 규칙의 수를 제한할 수 있습니다.
limit 쿼리 파라미터를 추가하여 이 작업을 수행합니다.
그런 다음 offset 쿼리 파라미터를 추가하여 모든 규칙을 페이지네이션할 수 있습니다.
예를 들어:
GET /v1/rules/risky?limit=10&offset=0—처음 10개의 위험 콘텐츠 규칙 가져오기GET /v1/rules/risky?limit=10&offset=10—다음 10개의 위험 콘텐츠 규칙 가져오기GET /v1/rules/risky?limit=10&offset=20—그 다음 10개의 위험 콘텐츠 규칙 가져오기목록의 끝에 도달하여 더 이상 반환할 규칙이 없으면 응답은 빈 배열이 됩니다.
rule_type | 유효한 값 |
|---|---|
advertiser | 유효한 광고주 이름 (예: "Super Lucky Casino"). 스토어에 표시된 정확한 광고주 이름을 복사하세요 (대소문자 구분). |
advisory | Google Play의 권고 문자열 (예: "Sexual Content"). 아래 “Advisory 유효한 값”을 참고하세요. |
content_rating | 미국의 Google Play content_rating: "Everyone", "Everyone 10+", "Teen", "Mature 17+" 또는 "Adults only 18+". |
store_category | Google Play 카테고리 문자열. 아래 “스토어 카테고리 유효한 값”을 참고하세요. |
title | 앱 패키지 이름 (자유 텍스트 규칙은 이 API에서 지원되지 않으며 UI에서만 지원됩니다) |
web_domain | 유효한 웹 도메인 (“http(s)”, “www” 또는 후행 슬래시 제외), 예: "apple.com" |
"Action""Action & Adventure""Adventure""Arcade""Art & Design""Auto & Vehicles""Beauty""Board""Books & Reference""Brain Games""Business""Card""Cards""Casino""Casual""Comics""Communication""Creativity""Dating""Education""Educational""Entertainment""Events""Finance""Food & Drink""Health & Fitness""House & Home""Libraries & Demo""Lifestyle""Maps & Navigation""Medical""Music""Music & Audio""Music & Video""Music Games""News & Magazines""Parenting""Personalization""Photography""Pretend Play""Productivity""Puzzle""Racing""Role Playing""Shopping""Simulation""Social""Sports""Strategy""Tools""Travel & Local""Trivia""Video Players & Editors""Weather""Word""Word Games""Alcohol Reference""Alcohol and Tobacco Reference""Blood""Blood and Gore""Cartoon Violence""Comic Mischief""Crude Humor""Diverse Content: Discretion Advised""Drug Reference""Drug and Alcohol Reference""Fantasy Violence""Fear""Gambling""General""Horror""Implied Violence""Intense Violence""Language""Mild Blood""Mild Fantasy Violence""Mild Language""Mild Suggestive Themes""Mild Swearing""Mild Violence""Moderate Violence""Nudity""Online Interactivity""Parental Guidance Recommended""Partial Nudity""Real Gambling/Paid Contests""Sexual Content""Sexual Innuendo""Sexual Themes""Sexual Violence""Simulated Gambling""Strong Language""Strong Sexual Content""Strong Violence""Suggestive Themes""Tobacco Reference""Use of Alcohol""Use of Alcohol and Tobacco""Use of Drugs""Use of Drugs and Alcohol""Use of Tobacco""Violence""Violent References"rule_type | 유효한 값 |
|---|---|
advertiser | 유효한 광고주 이름 (예: "Super Lucky Casino"). 스토어에 표시된 정확한 광고주 이름을 복사하세요 (대소문자 구분). |
advisory | iTunes의 권고 문자열 (예: "Frequent/Intense Alcohol, Tobacco or Drug Use or References"). 아래 “Advisory 유효한 값”을 참고하세요. |
content_rating | 미국의 iTunes content_rating 값: "4+", "9+", "12+" 또는 "17+" |
store_category | iTunes 카테고리 문자열. 아래 “스토어 카테고리 유효한 값”을 참고하세요. |
title | iTunes ID (자유 텍스트 규칙은 이 API에서 지원되지 않으며 UI에서만 지원됩니다) |
web_domain | 유효한 웹 도메인 (“http(s)”, “www” 또는 후행 슬래시 제외), 예: "apple.com" |
"Action""Adventure""Animals & Nature""Arcade""Art""Board""Book""Books""Business""Card""Casino""Casual""Celebrations""Celebrities""Comics & Cartoons""Developer Tools""Eating & Drinking""Education""Emoji & Expressions""Entertainment""Family""Fashion""Finance""Food & Drink""Games""Gaming""Graphics & Design""Health & Fitness""Kids & Family""Lifestyle""Magazines & Newspapers""Medical""Movies & TV""Music""Navigation""News""People""Photo & Video""Places & Objects""Productivity""Puzzle""Racing""Reference""Role Playing""Role-Playing""Shopping""Simulation""Social Networking""Sports""Sports & Activities""Stickers""Strategy""Travel""Trivia""Utilities""Weather""Word""Frequent/Intense Alcohol, Tobacco or Drug Use or References""Frequent/Intense Alcohol, Tobacco, or Drug Use or References""Frequent/Intense Cartoon or Fantasy Violence""Frequent/Intense Horror/Fear Themes""Frequent/Intense Mature/Suggestive Themes""Frequent/Intense Medical/Treatment Information""Frequent/Intense Profanity or Crude Humor""Frequent/Intense Profanity or Crude Humour""Frequent/Intense Realistic Violence""Frequent/Intense Sexual Content or Nudity""Frequent/Intense Simulated Gambling""Gambling and Contests""Infrequent/Mild Alcohol, Tobacco or Drug Use or References""Infrequent/Mild Alcohol, Tobacco, or Drug Use or References""Infrequent/Mild Cartoon or Fantasy Violence""Infrequent/Mild Horror/Fear Themes""Infrequent/Mild Mature/Suggestive Themes""Infrequent/Mild Medical/Treatment Information""Infrequent/Mild Profanity or Crude Humor""Infrequent/Mild Profanity or Crude Humour""Infrequent/Mild Realistic Violence""Infrequent/Mild Sexual Content and Nudity""Infrequent/Mild Simulated Gambling""Unrestricted Web Access"