Android

Android 연동 시작하기

1단계: InMobi 계정 생성

InMobi 계정 설정 방법:

  1. 퍼블리셔로 가입합니다.
  2. 이메일 인증을 완료합니다.

2단계: 앱 등록

  1. Add an App을 클릭한 다음 아래 보이는 링크를 클릭합니다.
  2. 앱 이름을 기재한 다음 플랫폼을 선택합니다.
  3. 13세 미만 아동을 대상으로 한 앱 관련 조항을 읽고 해당하는 경우 확인란을 선택합니다.

    참고: URL이 없는 앱의 경우 테스트 모드가 기본으로 활성화됩니다. 앱이 정식으로 출시되면 링크를 클릭하여 아래 보이는 대시보드에서 URL을 입력할 수 있습니다.
    이제 앱 수익화 준비가 완료되었습니다.

3단계: 배치 ID 생성

배치 ID는 MoPub의 광고 ID를 나타내는 InMobi 용어입니다. 예를 들어, InMobi 네트워크를 통해 배너 광고를 수익화하려면 "배너"라는 배치 ID를 생성해야 합니다.

성공적인 수익화를 위해 다음 표를 참고하십시오.

MoPub 광고 유닛 유형 InMobi 배치 유형
배너 광고 배너 광고
중간 크기(300x250 배너 광고) 배너 광고
전체 화면 광고 전면 광고
보상형 동영상 광고 보상형 동영상 광고
네이티브 광고 네이티브 콘텐츠 광고
  1. 적합한 광고 형식을 선택하여 광고 배치를 결정합니다.
  2. 수익률을 높이려면 앱 내 광고의 위치와 맥락을 바탕으로 배치를 태그합니다.

4단계: 정산 정보 입력

수익을 지급받으려면 지급 프로필을 생성, 인증, 활성화해야 합니다. InMobi의 정산 주기는 60일입니다. 다시 말해 한 달간의 수익은 60일 이후에 정산됩니다. PayPal이나 전신 송금/RTGS를 통해 수익을 지급받을 수도 있습니다.

지급 약관에 관한 자세한 정보는 여기를 참고하십시오.

5단계: InMobi를 MoPub 대시보드의 광고 소스로 구성

  1. MoPub 계정에 로그인합니다.
  2. InMobi를 통해 수익화할 광고를 확인한 후 Networks 탭으로 이동합니다.
  3. InMobi를 통해 수익화하려면 Custom SDK Network를 선택합니다. 이를 통해 MoPub에서 InMobi와 플러그 앤 플레이 "사용자 지정 이벤트"를 연동할 수 있습니다.

    참고: 연동을 진행하려면 InMobi SDK와 사용자 지정 이벤트가 모두 필요합니다.

  4. InMobi를 통해 수익화할 특정 광고로 이동합니다.
  5. 해당 광고 형식에 맞는 InMobi 사용자 지정 이벤트 클래스의 이름을 사용자 지정 이벤트 클래스 값으로 입력합니다. 예를 들어, 전면 광고의 사용자 지정 이벤트는 “InMobiInterstitialCustomEvent”입니다. 이때, 정규화된 사용자 지정 이벤트 이름을 사용해야 합니다.

    광고 유형별 사용자 지정 이벤트의 전체 목록은 다음과 같습니다.

    광고 클래스 이름
    배너 광고 <your_package_name>.InMobiBannerCustomEvent</your_package_name>
    중간 크기(300x250 배너 광고) <your_package_name>.InMobiBannerCustomEvent</your_package_name>
    전체 화면 광고 <your_package_name>.InMobiInterstitialCustomEvent</your_package_name>
    보상형 동영상 광고 <your_package_name>.InMobiRewardedCustomEvent</your_package_name>
    네이티브 광고

    <your_package_name>.InMobiNativeCustomEvent/</your_package_name>

    <your_package_name>.InMobiNativeStrandCustomEvent</your_package_name>

  6. 계정 ID는 아래 스크린샷에 보이는 대로 InMobi 계정에서 확인할 수 있습니다.

    아래 스크린샷에 보이는 대로 배치 ID는 배치 섹션 아래 표시됩니다.

    다음 형식에 따라 계정 ID와 배치 ID를 사용자 지정 이벤트 클래스 데이터 플레이스홀더에 입력합니다.

    {"placementid": "<enter here="" id="" inmobi="" placement="" your="">","accountid":"<enter account="" here="" id="" inmobi="" your="">"}
    			</enter></enter>
    


    입력 예시는 다음과 같습니다.

    {"placementid":"1468850508657","accountid":"2072131215e04a5ea20e25ffec1a7171"}
    
    

6단계: 프로젝트에 InMobi SDK 및 사용자 지정 이벤트 추가

프로젝트에 InMobi SDK 추가

방법 1: jCenter를 통해 최신 SDK 추출

Gradle을 사용하여 Android 앱을 빌드하는 경우 jCenter에서 SDK 최신 버전을 추출할 수 있습니다.

방법:

  1. 다음을 최상위 수준 build.gradle 파일에 포함합니다.

    allprojects {
        repositories {
            jcenter()
        }
    }
    
    
  2. 다음 라인을 앱 모듈의 build.gradle 내 종속성 요소에 추가합니다.

    compile 'com.inmobi.monetization:inmobi-ads:8.x.x'
    
    
  3. 빌드 시스템이 종속성 요소를 다운로드하도록 Gradle 프로젝트를 동기화합니다.

방법 2: SDK 라이브러리를 앱 프로젝트에 추가

여기에서 InMobi SDK 최신 버전을 다운로드한 후 앱 모듈의 libs/ 디렉터리에 라이브러리만 복사해도 됩니다.

라이브러리를 프로젝트 종속성에 추가하려면 다음 라인을 모듈의 build.gradle 내 종속성 요소에 추가합니다.

compile fileTree(dir: 'libs', include: ['*.jar'])

종속성 추가 및 확인

InMobi 광고 SDK로 수익화하려면 다음 종속성을 추가해야 합니다.

참고: RecyclerView 라이브러리의 종속성 관련 설정을 애플리케이션의 gradle 스트립트에 포함하지 않을 경우, 전면 배너의 Ad Request(광고 요청)에 실패하실 수 있습니다.
이는 인모비 SDK를 활용한 광고 수익화에 영향을 줄 수 있습니다.

  • Google Play Services

    Google Play Advertising ID를 통해 광고 타게팅 효과를 높이려면 Android용 InMobi SDK에 Google Play Services 라이브러리가 필요합니다. InMobi SDK는 사용자가 위치 수집에 동의한 경우 Google Play Services를 통해 사용자의 정확한 위치를 파악합니다.

    Google Play Services 클라이언트 라이브러리 추가 방법:

    1. 다음 라인을 앱 모듈의 종속성 요소에 추가합니다.

      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'
      
      
    2. 종속성이 포함되도록 Gradle 프로젝트를 동기화합니다.
    3. 다음 요소를 앱 매니페스트에 추가합니다.

      <meta-data android:name="com.google.android.gms.version"
      android:value="@integer/google_play_services_version" />
      
      
  • Picasso

    Android용 InMobi SDK는 널리 쓰이는 Picasso 라이브러리를 통해 광고 에셋을 불러옵니다.

    Picasso 라이브러리 추가 방법:

    1. 다음 라인을 Gradle 빌드 스크립트에 있는 앱 모듈의 종속성 요소에 추가합니다.

      compile 'com.squareup.picasso:picasso:2.71828'
      
      
    2. 종속성이 포함되도록 Gradle 프로젝트를 동기화합니다.
  • 지원 라이브러리

    네이티브 스트랜드 광고 형식의 경우, support-v4 라이브러리를 추가해야 합니다.

    이를 위해 다음 라인을 Gradle 빌드 스크립트에 있는 앱 모듈의 종속성 요소에 추가합니다.

    compile 'com.android.support:support-v4:28.0.0'
    
    

매니페스트 파일 변경

권한 승인

다음 필수 권한을 앱 매니페스트에 포함해야 합니다. 필수 권한을 포함하지 않으면 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_STATECHANGE_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.** {*;}

Android P 호환성 확보

InMobi SDK는 Android 플랫폼의 최신 버전 인 Android P (API 레벨 28)와 호환됩니다.

Android P 이후 앱은 기본적으로 HTTPS를 통해 연결합니다. InMobi가 HTTPS의 채택을 지원하지만, 현재의 설정에서는 수요 파트너가 HTTPS도 지원해야합니다. 게시자는 수익 잠재력에 영향을 미치는 경우 설정을 HTTP로 변경할 수 있습니다.

사용자 지정 이벤트 추가

MoPub 프로젝트에 사용자 지정 이벤트를 추가합니다. 여기에서 다운로드할 수 있는 샘플 코드의 일부에서 여러 광고 형식에 맞는 사용자 지정 이벤트를 확인할 수 있습니다. 사용자 지정 이벤트는 관련된 패키지 구조 아래 제공됩니다. 또한, 코드에는 MoPub SDK를 통한 미디에이션 방법을 보여주는 샘플 액티비티가 포함되어 있습니다.

코드 단계

코드 단계는 광고를 가져오고 불러오는 일반적인 MoPub 연동의 코드 단계와 동일합니다. 일반적인 MoPub “광고 ID”를 사용하여 광고를 요청하고 가져오십시오.

Passing user consent information to InMobi SDK

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, and they will have to pass on this consent information to InMobi.

  • The publisher has to copy InMobiGDPR class into the project.
  • Use InmobiGDPR.grantConsent() or InmobiGDPR.revokeConsent() APIs to pass on user consent. Publisher will have to call these based on the current Consent status. It should be called once every session. In case grantConsent() is not called, we will presume that consent is not available for users belonging to EEA+UK+Switzerland region.
  • Use InMobiGDPR.isGDPRApplicable() to let InMobi know whether user belongs to GDPR compliant region.

추가 정보

여기에서 전체 샘플 코드와 예제를 다운로드할 수 있습니다.

MoPub SDK 관련 최신 문서 및 코드 샘플은 여기에서 확인할 수 있습니다.

7단계: 연동 테스트

MoPub SDK가 테스트 광고 요청을 InMobi로 릴레이하도록 설정하는 방법:

  • MoPub을 포함한 모든 네트워크의 광고 네트워크 최적화를 수동으로 설정합니다.
  • InMobi의 최소 eCPM이 다른 네트워크보다 높도록 모든 네트워크의 최소 eCPM을 수동으로 설정합니다. 이를 통해 테스트를 위한 광고 요청이 InMobi로 릴레이됩니다. 예를 들어, InMobi는 $5로, MoPub 마켓플레이스는 $0.05로 설정되어 있습니다.

주요 SDK 로그 활성화

광고를 연동하려는 액티비티에 다음 라인을 추가하여 주요 SDK 로그를 활성화할 수 있습니다.

InMobiSdk.setLogLevel(LogLevel.DEBUG);

또한, InMobi 포털에서 "테스트 모드"를 활성화한 경우, 광고와 광고 요청에 대한 Diagnostics 탭의 피드백을 활용할 수 있습니다.

8단계: 고급

위치 및 통계 정보 제공

위치 신호 전달

권장사항 : 사용자로부터 위치정보를 수집하는 경우, 해당 위치 정보를 전달 할 것을 추천합니다. 이는 위치 신호를 포함한 임프레션이 보다 높은 수익을 창출 할 수 있기 때문입니다.
위치 정보를 전송하지 않으려면, 인모비 대시보드의 해당 속성에서 “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);

이 페이지가 도움이 되었나요?

이 페이지에서

마지막 업데이트 날짜: 17 Sep, 2020