Android 가이드라인 |

Android SDKのインテグレーションの基本操作

以下に従ってください。

InMobi SDK의 최신 버전은 Android OS 버전 4.0.3 (API 레벨 15) 이상을 지원합니다.

버전 8.1.3 7.2.9
크기(.APK Inflation) 415 KB 395 KB
SDK 링크

프로젝트에 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'
    			

    Note: SDK 7xx를 사용하는 경우

    compile 'com.inmobi.monetization:inmobi-ads:7.x.x'
    			
  3. Gradle 프로젝트를 동기화합니다.

방법 2 : 응용 프로그램 프로젝트에 SDK 라이브러리 추가

InMobi의 SDK 최신 버전을 여기에서 다운로드하여 라이브러리를 귀하의 응용 프로그램 모듈 libs / 디렉토리에 복사 할 수 있습니다.

라이브러리 프로젝트 종속성 설정에 추가하려면 다음 행을 build.gradle 파일의 dependencies에 추가해야합니다.

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

의존성 추가 및 확인

InMobi 광고 SDK로 수익을 창출하려면 다음과 같은 종속 설정을 추가해야합니다.

  • Google Play Services

    Android 용 InMobi SDK는 Google Play Advertising ID를 통해 효과적으로 광고를 게재 할 수 있도록 Google Play Services 라이브러리가 필요합니다. 또한 사용자가 위치 정보를 수집하는 데 동의 한 경우 Google Play Services를 사용하여 위치 정보를 가져옵니다.

    Google Play Services 클라이언트 라이브러리를 귀하의 응용 프로그램에 추가하려면 다음과 같이합니다.

    1. 다음 줄을 응용 프로그램 모듈의 dependencies에 추가합니다.
      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 build 스크립트에서 다음 줄을 응용 프로그램 모듈의 dependencies에 추가합니다.
      • For SDK versions 811 and onwards, please compile using:
        compile 'com.squareup.picasso:picasso:2.71828'
        					
      • For the SDK versions below 811, please compile using:
        compile 'com.squareup.picasso:picasso:2.5.2'
        					
    2. Gradle 프로젝트를 동기화하여 종속 설정이 포함되어 있는지 확인합니다.

      주의 : Picasso 라이브러리가 제대로 추가되지 않으면 삽입 광고 요청이 실패 귀하의 응용 프로그램에서의 수익 창출에 영향을 미칩니다.

  • 지원 라이브러리

    기본 스토리 보드 광고 형식은 support-v4 라이브러리를 추가해야합니다.

    Gradle build 스크립트에서 다음 줄을 응용 프로그램 모듈의 dependencies에 추가합니다.

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

    이미지와 광고의 갑판 전체 스크롤을 지원하려면 RecyclerView 를 사용해야합니다.

    이렇게하려면 Gradle 빌드 스크립트에서 다음 줄을 응용 프로그램 모듈의 의존 요소에 추가합니다.

    compile 'com.android.support:recyclerview-v7:28.0.0'
    			

    주의 :

    RecyclerView 가 제대로 추가되지 않으면 삽입 광고 요청이 실패 귀하의 응용 프로그램에서의 수익 창출에 영향을 미칩니다.

  • 기타

    InMobi SDK를 구현함으로써 응용 프로그램의 메소드 상한 (64K)를 초과 할 수있을 거라고 생각합니다. 특히 귀하의 앱이 사용자에게 다양한 기능을 제공하기 위해 이미 대량의 코드를 구현하고있는 같은 케이스입니다. 그런 경우 multidex 지원 라이브러리를 사용하여 응용 프로그램을 제대로 구축 할 수 있습니다.

    다음 단계를 수행합니다.

    1. defaultConfig 를 수정하여 귀하의 응용 프로그램 multidex을 활성화합니다.
      defaultConfig {
      applicationId "com.inmobi.samples"
      minSdkVersion 15
      targetSdkVersion 28
      versionCode 1
      versionName "1.0.0"
      multiDexEnabled true // add this to enable multi-dex
      }
      				
    2. 다음 줄을 응용 프로그램 모듈의 build 스크립트의 dependencies에 추가합니다.
      compile 'com.android.support:multidex:1.0.1'
      				

매니페스트 파일의 변경

선언 InMobiAdActivity 요소는 응용 프로그램이 API 레벨 24 이상을 대상으로하는 경우 그렇습니다.

< activity
    android:name = "com.inmobi.rendering.InMobiAdActivity"
    android:configChanges = "keyboardHidden | orientation | keyboard | smallestScreenSize | screenSize | screenLayout"
    android:hardwareAccelerated = "true"
    android:resizeableActivity = "false"
    android:theme = "@안드로이드:style / Theme.NoTitleBar"
    도구:ignore = "UnusedAttribute" />
		

特に、 android:resizeableActivity = "false" 属性を変更し、このアクティビティを screenLayout 変更用に設定します。

권한을 부여

응용 프로그램 매니페스트에 다음 필수 권한을 포함해야합니다.

참고 : 이러한 권한을 포함하지 않으면 InMobi 네트워크에서 응용 프로그램을 수익 창출 능력에 영향을줍니다.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
		

위의 권한에 추가하여보다 효과적으로 광고가 전달되도록 ACCESS_COARSE_LOCATION 이나 ACCESS_FINE_LOCATION 중 하나를 포함하는 것을 적극 권장합니다. 필수는 아니지만이를 포함하여 광고 게재 대상의 검색의 정확도가 높아집니다.

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
		

광고 게재 대상의 검색을 더욱 강화하기 위해 매니페스트 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 android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
		

하드웨어 가속

하드웨어 가속을 사용하면 HTML5 동영상 광고를 게재 할 수 있습니다. 이렇게하려면 hardwareAccelerated : true 요소를 application 태그에 추가합니다.

Proguardの設定

Proguard는 사용하지 않는 symbol을 삭제하거나 최종 애플리케이션 풋 프린트를 작게하는 데 도움이됩니다. 다음을 귀하의 응용 프로그램 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로 변경할 수 있습니다.

SDK의 초기화

  1. 컨텍스트와 고객의 InMobi 계정 ID를 전달하여 시작 활동에서 SDK를 초기화합니다.
                JSONObject consentObject = new JSONObject();
    try {
       // Provide correct consent value to sdk which is obtained by User
       consentObject.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
      // Provide 0 if GDPR is not applicable and 1 if applicable 
       consentObject.put("gdpr", "0");
    } catch (JSONException e) {
       e.printStackTrace();
    }
    InMobiSdk.init(this, "Insert InMobi Account ID here", consentObject);
    			
    1. consentObject - consentObject게시자가 SDK에 제공하는 모든 동의의 사전 적 표현입니다. EEA 지역에서의 트래픽을 수익 창출하려면 키가 필요합니다. InMobi는 규정을 준수하기 위해 사용자의 동의를 얻으려면 게시자에 의존하고 있습니다. 여기에서 GDPR 규제에 대한 자세한 내용 참조하십시오.
      Key Type Inference
      gdpr_consent_available boolean "true":게시자는 사용자의 데이터를 수집하고 사용하는 데 동의했습니다.

      "false" :게시자는 사용자의 데이터를 수집하고 사용하는 것에 동의하지 않았습니다.

      "true"및 "false"이외의 값은 무효이며, 게시자가 제공하지 않는 값, 즉 빈 값으로 처리됩니다.

      gdpr Number 요구가 GDPR 규제의 대상인지 여부를 확인합니다. 다음 값 세트에서의 편차 0 = No 및 1 = Yes는 알 수없는 엔티티를 나타냅니다.

      The key gdpr_consent_available can be accessed via string constant IM_GDPR_CONSENT_AVAILABLE

      Important

      1. consentObject모든 세션에서 제공 될 필요가 있습니다. SDK는 consent를 유지하지 않고 consentObject 를 메모리에 보관하면됩니다. 앱이 다시 시작하거나 충돌, SDK는 consentObject 를 잃게됩니다.
      2. Within a session, you can update the consent like this:
        InMobiSdk.updateGDPRConsent(JSONObject consentObject)
        					
      3. General Data Protection Regulation (GDPR)의 일부로 응용 프로그램에서 데이터를 수집하는 게시자 European Economic Area ( "EEA") 사용자의 개인 정보를 수집하고 처리하기위한 법적 근거를 가지고 있어야합니다. 유럽 InMobi에 광고 요청을하기 전에 사용자가 적절한 동의를 얻어 권장 SDK 구현에 따라 유사한 것을 보여주십시오. 유럽에서 이러한 사용자에서 사용자의 동의가없는 경우, 사용자의 인구 통계 정보를 전달하지 마십시오.
    2. 아래의 그림과 같이 계정의 인터페이스에서 계정 ID를 찾습니다

    주의 : 이 메소드는 UI 스레드에서 호출해야합니다. 그렇지 않으면 초기화에 실패하여 귀하의 응용 프로그램이 InMobi에서 수익을 창출 할 수 없습니다.

  2. 위치 신호를 전달하여 광고 게재 대상의 검색의 정확도를 높입니다.

    권장 : 귀하의 앱이 위치 정보를 취득하는 경우 그 위치 정보를 광고 요청에 포함하는 것을 주로 의상합니다. 위치 정보를 이용한 광고 게재는 더 고액의 수익 창출에 연결됩니다. 앱에서 위치 정보를 수집하는 경우 InMobi SDK가 자동으로 정보를 광고 요청에 포함됩니다. 만약 귀하의 응용 프로그램에서 위치 정보를 수집하고 있어도, InMobi에 공유 광고에 이용하고 싶지 않은 여러 계시다면, 관리 화면의 Property 설정에서 "Location Automation"을 OFF로하여 위치 정보를 InMobi에 공유하지 않는 설정이 가능합니다.

    다음 Android 프레임 워크에서 귀하의 응용 프로그램이 취득한 Location 개체를 전달합니다.

    InMobiSdk.setLocation(locationObj);
    			

    마찬가지로 다음에서 도시, 주, 국가를 정보를 설정할 수 있습니다.

    InMobiSdk.setLocationWithCityStateCountry("city", "state", "country");
    			
  3. 사용자의 속성 정보를 전달하여 광고 게재 대상의 검색의 정밀도를 올립니다.

    InMobi SDK를 통해 성별 정보를 사용할 수 있습니다 나이.

    InMobiSdk.setGender(InMobiSdk.Gender.MALE); // or InMobiSdk.Gender.FEMALE
        InMobiSdk.setAge(age); 
        InMobiSdk.setAgeGroup(InMobiSdk.AgeGroup.BELOW_18); 
    // other enums: BETWEEN_18_AND_24, BETWEEN_25_AND_29, BETWEEN_30_AND_34 
    // BETWEEN_35_AND_44, BETWEEN_45_AND_54, BETWEEN_55_AND_65, ABOVE_55
    			

이러한 광고 형식으로 고객의 Android 앱 유료화를 시작하자.