참고: URL이 없는 앱의 경우 테스트 모드가 기본으로 활성화됩니다. 앱이 정식으로 출시되면 링크를 클릭하여 아래 보이는 대시보드에서 URL을 입력할 수 있습니다.
이제 앱 수익화 준비가 완료되었습니다.
배치 ID는 AdMob의 광고 유닛 ID를 나타내는 InMobi 용어입니다. 예를 들어, InMobi 네트워크를 통해 배너 광고를 수익화하려면 "배너"라는 배치 ID를 생성해야 합니다.
성공적인 수익화를 위해 다음 표를 참고하십시오.
AdMob 광고 유닛 유형 | InMobi 배치 유형 |
배너 광고 | 배너 광고 |
전면 광고 | 전면 광고 |
보상형 전면 광고 | 보상형 동영상 광고 |
네이티브 광고 | 네이티브 콘텐츠 광고 |
수익을 지급받으려면 지급 프로필을 생성, 인증, 활성화해야 합니다. InMobi의 정산 주기는 60일입니다. 다시 말해 한 달간의 수익은 60일 이후에 정산됩니다. PayPal이나 전신 송금/RTGS를 통해 수익을 지급받을 수도 있습니다.
지급 약관에 관한 자세한 정보는 여기를 참고하십시오.
계정 ID는 아래 스크린샷에 보이는 대로 InMobi 계정에서 확인할 수 있습니다.
배치 ID는 아래 스크린샷에 보이는 대로 배치 섹션에서 확인할 수 있습니다.
AdMob 대시보드나 InMobi 대시보드에서 보상을 구성할 수 있습니다.
InMobi 대시보드에서 동일하게 구성하려면 Use third-party ad network settings를 선택합니다.
보상 세부 정보에서 키 이름과 값을 입력합니다. InMobi SDK는 사용자가 동영상을 시청하고 나면 이 데이터 쌍을 처리합니다. 이후 AdMob은 보상 콜백에서 이 데이터를 반환합니다. 예를 들어, 다음과 같이 보상 세부 정보를 입력할 수 있습니다.
키 = Coins, 값 = 1000
InMobi 대시보드에서 보상을 설정할 때 보상 값은 정수로 지정해야 합니다.
InMobi 대시보드에서 광고를 지원하려면 InMobi 대시보드에서 네이티브 콘텐츠 광고 배치 유형 생성 시 키 이름을 변경하지 않아야 네이티브 광고 형식을 InMobi에 완벽하게 연동할 수 있습니다.
참고:
shouldRequestMultipleImages
플래그를 사용하지 않습니다.getImageOrientation/preferredImageOrientation
플래그를 사용하지 않습니다.InMobi SDK와 AdMob 어댑터는 쉽게 연동됩니다. InMobi에서 광고를 가져오려면 InMobi SDK와 어댑터를 모두 연동해야 합니다.
방법 1: jCenter를 통해 최신 SDK 추출
Gradle을 사용하여 Android 앱을 빌드하는 경우 jCenter에서 SDK 최신 버전을 추출할 수 있습니다.
방법:
다음을 최상위 수준 build.gradle
파일에 포함합니다.
allprojects {
repositories {
jcenter()
}
}
다음 라인을 앱 모듈의 build.gradle
내 종속성 요소에 추가합니다.
compile 'com.inmobi.monetization:inmobi-ads:8.x.x'
방법 2: SDK 라이브러리를 앱 프로젝트에 추가
여기에서 InMobi SDK 최신 버전을 다운로드한 후 앱 모듈의 libs/
디렉터리에 라이브러리만 복사해도 됩니다.
라이브러리를 프로젝트 종속성에 추가하려면 다음 라인을 모듈의 build.gradle
내 종속성 요소에 추가합니다.
compile fileTree(dir: 'libs', include: ['*.jar'])
InMobi 광고 SDK로 수익화하려면 다음 종속성을 추가해야 합니다.
참고: 피카소 라이브러리의 종속성 관련 설정을 애플리케이션의 gradle 스트립트에 포함하지 않을 경우, 전면 배너의 Ad Request(광고 요청)에 실패하실 수 있습니다. 이는 인모비 SDK를 활용한 광고 수익화에 영향을 줄 수 있습니다.
Google Play Advertising ID를 통해 광고 타게팅 효과를 높이려면 Android용 InMobi SDK에 Google Play Services 라이브러리가 필요합니다. InMobi SDK는 사용자가 위치 수집에 동의한 경우 Google Play Services를 통해 사용자의 정확한 위치를 파악합니다.
Google Play Services 클라이언트 라이브러리 추가 방법:
다음 라인을 앱 모듈의 종속성 요소에 추가합니다.
compile 'com.google.android.gms:play-services-basement:16.1.0'
compile 'com.google.android.gms:play-services-ads:17.2.0'
compile 'com.google.android.gms:play-services-location:16.0.0'
다음 요소를 앱 매니페스트에 추가합니다.
<meta-data android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
Android용 InMobi SDK는 널리 쓰이는 Picasso 라이브러리를 통해 광고 에셋을 불러옵니다.
Picasso 라이브러리 추가 방법:
다음 라인을 Gradle 빌드 스크립트에 있는 앱 모듈의 종속성 요소에 추가합니다.
compile 'com.squareup.picasso:picasso:2.71828'
네이티브 스트랜드 광고 형식의 경우, support-v4 라이브러리를 추가해야 합니다.
이를 위해 다음 라인을 Gradle 빌드 스크립트에 있는 앱 모듈의 종속성 요소에 추가합니다.
compile 'com.android.support:support-v4:28.0.0'
이미지 또는 광고덱의 프리 스크롤을 지원하려면 RecyclerView를 사용해야합니다. 그렇게 하려면, 아래의 line을 앱의 Gradle 빌드 스크립트에 있는 앱 모듈의 종속성 관련 요소에 다음 라인을 추가하시기 바랍니다.
compile 'com.android.support:recyclerview-v7:28.0.0'
참고: RecyclerView의 종속성 관련 설정을 애플리케이션의 gradle 스트립트에 포함하지 않을 경우, 전면 배너의 ad request(광고 요청)에 실패하실 수 있습니다. 이는 인모비 SDK를 활용한 광고 수익화에 영향을 줄 수 있습니다.
권한 승인
다음 필수 권한을 앱 매니페스트에 포함해야 합니다. 필수 권한을 포함하지 않으면 InMobi 네트워크에서 앱을 수익화하는 데 지장이 있습니다.
<uses-permission android:name="android.permission.INTERNET">
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
</uses-permission></uses-permission>
위 필수 권한을 비롯하여 광고 타게팅 효과를 높일 수 있도록 ACCESS_COARSE_LOCATION
또는 ACCESS_FINE_LOCATION
중 하나를 포함하는 것이 좋습니다. 필수 권한은 아니지만 포함할 경우 정확한 광고 타게팅이 가능합니다.
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION">
</uses-permission>
타게팅을 더 개선하려면 ACCESS_WIFI_STATE
및 CHANGE_WIFI_STATE
권한을 매니페스트에 추가합니다.
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE">
</uses-permission></uses-permission>
리치 미디어 광고를 요청하려는 경우 다음 권한을 추가할 수 있습니다.
<uses-permission android:name="android.permission.READ_CALENDAR">
<uses-permission android:name="android.permission.WRITE_CALENDAR">
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
</uses-permission></uses-permission></uses-permission>
앱 설치 속성
필수 허가:
앱 설치 속성의 경우, 다음을 매니페스트 파일에 추가합니다.
<receiver android:enabled="true" android:exported="true" android:name="com.inmobi.commons.core.utilities.uid.ImIdShareBroadCastReceiver" tools:ignore="ExportedReceiver">
<intent-filter>
<action android:name="com.inmobi.share.id">
</action></intent-filter>
</receiver>
하드웨어 가속
하드웨어 가속을 통해 HTML5 동영상 광고를 표시할 수 있습니다. 이를 위해 hardwareAccelerated:true
요소를 application
태그에 추가합니다.
Proguard 구성
Proguard를 통해 사용하지 않는 심볼을 제거하고 최종 앱 공간을 줄일 수 있습니다. 다음 Proguard 지시를 앱의 프로가드 구성 파일에 추가합니다.
-keepattributes SourceFile,LineNumberTable
-keep class com.inmobi.** { *; }
-dontwarn com.inmobi.**
-keep public class com.google.android.gms.**
-dontwarn com.google.android.gms.**
-dontwarn com.squareup.picasso.**
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient{public *;}
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info{public *;}
#skip the Picasso library classes
-keep class com.squareup.picasso.** {*;}
-dontwarn com.squareup.picasso.**
-dontwarn com.squareup.okhttp.**
#skip Moat classes
-keep class com.moat.** {*;}
-dontwarn com.moat.**
#skip AVID classes
-keep class com.integralads.avid.library.** {*;}
InMobi SDK는 Android 플랫폼의 최신 버전 인 Android P (API 레벨 28)와 호환됩니다.
Android P 이후 앱은 기본적으로 HTTPS를 통해 연결합니다. InMobi가 HTTPS의 채택을 지원하지만, 현재의 설정에서는 수요 파트너가 HTTPS도 지원해야합니다. 게시자는 수익 잠재력에 영향을 미치는 경우 설정을 HTTP로 변경할 수 있습니다.
여기에서 어댑터를 다운로드합니다. InMobi 어댑터를 Android Studio 프로젝트에 추가합니다.
코드 단계는 광고를 가져오고 불러오는 일반적인 AdMob 연동의 코드 단계와 동일합니다. AdMob 계정 ID로 AdMob SDK와 AdMob "광고 ID"를 초기화하여 광고를 요청하고 가져옵니다.
The publishers monetizing in EEA region will have to pass user consent to InMobi SDK. The publishers can use consent gathering mechanism of their choice (like Consent SDK), and they will have to pass on this consent information to InMobi.
To pass consent information, the publisher has to call:
[InMobiConsent updateGDPRConsent:consentObj];
The consentObj will be a JSON object with the following keys:
Key | Type | Inference |
gdpr_consent_available | boolean | true - Publisher has provided consent to collect and use user’s data.
false - Publisher has not provided consent to collect and use user’s data. Note: Any value other than true and false is invalid and will be treated as value not provided by publisher, i.e. empty value. |
gdpr | Number | Whether or not the request is subjected to GDPR regulations, deviation from the set values true and false, indicate an unknown entity. |
여기에서 샘플 코드를 다운로드합니다.
AdMob SDK 관련 최신 문서 및 코드 샘플은 여기에서 확인할 수 있습니다.
AdMob SDK가 테스트 광고 요청을 InMobi로 릴레이하도록 설정하는 방법:
위 단계를 진행하면 광고 로드를 위해 요청을 테스트하고 InMobi SDK에 릴레이할 수 있습니다.
광고를 연동하려는 액티비티에 다음 라인을 추가하여 주요 SDK 로그를 활성화할 수 있습니다.
InMobiSdk.setLogLevel(LogLevel.DEBUG);
또한, InMobi 포털에서 "테스트 모드"를 활성화한 경우, 광고와 광고 요청에 대한 Diagnostics 탭의 피드백을 활용할 수 있습니다.
위치 신호 전달
권장사항 : 사용자로부터 위치정보를 수집하는 경우, 해당 위치 정보를 전달 할 것을 추천합니다. 이는 위치 신호를 포함한 임프레션이 보다 높은 수익을 창출 할 수 있기 때문입니다.
위치 정보를 전송하지 않으려면, 인모비 대시보드의 해당 속성에서 “Location Automation”을 끄면 됩니다.
InMobi SDK API를 통해 광고에 맞는 사용자 지정 이벤트 클래스를 수정하여 데이터에 전달합니다. 자세한 정보는 샘플 코드를 참고하십시오.
InMobi는 다음 매개변수를 지원합니다.
메소드 이름 | 값 | 설명 |
setAgeGroup |
AgeGroupBelow18 AgeGroupBetween18And24 AgeGroupBetween25And29 AgeGroupBetween30And34 AgeGroupBetween35And44 AgeGroupBetween45And54 AgeGroupBetween55And65 AgeGroupAbove65 |
사용자의 연령 그룹 |
setEducationType |
EducationHighSchoolOrLess EducationCollegeOrGraduate EducationPostGraduateOrAbove |
교육 수준:
|
setAge |
정수 |
사용자의 연령 |
setInterests |
임의 스트링 |
사용자의 추가적인 관련 설명 또는 선호도, 콤마로 구분 올바른 허용 값은 아래 언급됨 |
setPostalCode |
임의 스트링 |
우편 번호(보통 5자리 숫자) |
setAreaCode |
임의 스트링 |
지역 번호(전화번호의 일부) |
setLanguage |
임의 스트링 |
사용자의 모국어(알 수 있는 경우) |
setLocationWithCityStateCountry |
임의 스트링 |
전달된 도시, 주/도, 국가로 위치를 설정함 |
setKeywords |
임의 스트링 |
광고 요청에서 전달할 키워드 |
InMobi SDK 통계 매개변수를 설정하는 샘플입니다. 퍼블리셔는 자신이 원하는 대로 매개변수 값을 설정할 수 있습니다.
InMobiSdk.setAreaCode("080");
InMobiSdk.setEducation(Education.HIGH_SCHOOL_OR_LESS);
InMobiSdk.setGender(Gender.MALE);
InMobiSdk.setAge(23);
InMobiSdk.setPostalCode("122009");
InMobiSdk.setLogLevel(LogLevel.DEBUG);
InMobiSdk.setLocationWithCityStateCountry("blore", "kar", "india");
InMobiSdk.setLanguage("ENG");
InMobiSdk.setInterests("dance");
InMobiSdk.setYearOfBirth(1980);