참고: 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와 어댑터를 모두 연동해야 합니다.
iOS 9에 도입된 기본 설정인 App Transport Security(ATS)는 앱이 TLS 버전 1.2 이상의 네트워크에만 연결되도록 명령합니다. InMobi는 HTTPS를 채택해 왔지만, 현재 상황에 따라 파트너들은 이러한 변화를 수용하고 ATS의 모든 요건을 준수해야 합니다.
InMobi는 파트너와 함께 까지 보안 환경을 구축하고자 노력하고 있으며, 그동안 iOS 9 이상에서 광고를 제공하려면 다음 임시 조치를 진행해야 합니다.
ATS 비활성화(권장) - 파트너의 비보안 콘텐츠를 업데이트된 앱에서 올바르게 작동시킵니다. ATS 플래그를 비활성화하려면 다음 코드 스니펫을 앱의 Info.plist
에 추가합니다.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true>
</true></dict>
예외 조건으로 ATS 비활성화(권장하지 않음) - ATS 준수에 따라 마이그레이션할 경우를 대비하여 예외 목록에 있는 도메인을 추가하여 도메인의 보안 콘텐츠를 허용합니다.
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true>
<key>NSExceptionDomains</key>
<dict>
<key>example.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true>
</true></dict>
</dict>
</true></dict>
참고: 예외 목록에 있는 InMobi 도메인과 CDN을 사용하면 런타임 도중 오류가 발생하게 됩니다.
프로젝트에 SDK 추가
방법 1: Cocoapods를 사용한 연동(https://cocoapods.org/pods/InMobiSDK)
다음 단계를 진행합니다.
Xcode 프로젝트 디렉터리로 이동한 다음 아래 명령을 사용하여 Podfile을 생성합니다.
pod init
Podfile
에 다음을 추가하십시오.
참고: SDK 820 이상 :
pod 'inmobi-ios-sdk', :source => 'https://bitbucket.org/aerservllc/inmobi-ios-sdk-pod.git'
참고: SDK 7xx를 사용하는 경우 :
pod 'InMobiSDK'
아래 명령을 실행하여 종속성 작업을 완료합니다.
pod install
Pod가 포함된 워크스페이스가 생성됩니다.
방법 2: 프레임워크를 직접 연동
다음 필수 프레임워크를 Xcode 프로젝트에 추가합니다
InMobiSDK.framework
(다운로드한 InMobi iOS SDK 번들에 포함)libsqlite3.0.tbd
libz.tbd
WebKit.framework
-ObjC
플래그를 Other Linker Flags에 추가합니다.
-ObjC
플래그를 추가합니다.프로젝트에 InMobi 어댑터 추가
여기에서 어댑터를 다운로드합니다. InMobi 어댑터 번들을 Xcode 프로젝트에 추가합니다.
코드 단계
코드 단계는 광고를 가져오고 불러오는 일반적인 AdMob 연동의 코드 단계와 동일합니다. AdMob 계정 ID로 AdMob SDK와 AdMob "광고 ID"를 초기화하여 광고를 요청하고 가져옵니다.
Do not remove window property from the AppDelegate.h
file as it may lead to an undefined behavior.
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. NoteAny value other than true and false is invalid and will be treated as value not provided by publisher, i.e. empty value. |
gdpr | String | 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에 릴레이할 수 있습니다.
아래와 같이 다음을 앱 델리게이트의 .m 파일 내 didFinishLaunchingWithOptions
메소드에 추가합니다.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//Initialize InMobi SDK with your account ID
[IMSdk initWithAccountID:@"Insert InMobi account ID here"];
//Set log level to Debug
[IMSdk setLogLevel:kIMSDKLogLevelDebug];
// Do your stuff.
return YES;
}
또한, 광고와 광고 요청에 대한 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);