Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 11 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
InMobi SDK for Android
======================

Modified: October 1, 2019
Modified: 27 January, 2020

SDK Version: 9.0.0
SDK Version: 9.0.2

Thanks for monetizing with InMobi!
If you haven't already, [sign up](https://www.inmobi.com/user/index?locale=en_us#signup) for an account to start monetizing your app!
Expand All @@ -20,7 +20,7 @@ repositories {
jcenter()
}
dependencies {
implementation 'com.inmobi.monetization:inmobi-ads:9.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.2'
}
```

Expand All @@ -31,29 +31,14 @@ To download the latest SDK as a AAR, please visit [http://inmobi.com/sdk](https:
**To continue integrating with the InMobi SDK, please see the [Integration Guidelines](https://support.inmobi.com/monetize/android-guidelines/) for Android.**

## New in this version
- Modular SDK
- Added an ability to integrate Mediation as a separate module.
- Added support for Android 10
- Support for Mopub 5.8
- Interface Changes
- APIs added
- AerServTransactionInformation
public String getCreativeID()
- InMobiBanner
public void destroy()
- APIs removed
- InMobiNative
public InMobiNative(Context context, long placementId, NativeAdListener listener)
public void setNativeAdListener(NativeAdListener listener)
- InMobiNative.NativeAdListener
- InMobiBanner
public void setListener(BannerAdListener listener)
- InMobiBanner.BannerAdListener
- InMobiInterstitial
public InMobiInterstitial(Context context, long placementId, InterstitialAdListener2 listener)
public void setInterstitialAdListener(InterstitialAdListener2 listener)
- InMobiInterstitial.InterstitialAdListener2
- Bug fixes and performance improvements
• Added support for success/failure status for InMobi Initialization.
• Proactive detection of abnormal network calls by fraudulent creatives.
• Improvements and Bug Fixes.
• Interface Changes
- APIs Updated
• InMobiSdk
public static @InitializationStatus String init(@NonNull final Context context, @NonNull @Size(min = 32, max = 36) String accountId)
public static @InitializationStatus String init(@NonNull final Context context, @NonNull @Size(min = 32, max = 36) String accountId, @Nullable JSONObject consentObject)

## Requirements
- Android 4.0.1 (API level 15) and higher
Expand Down
2 changes: 1 addition & 1 deletion samples/bannerSample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ dependencies {
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.annotation:annotation:1.0.0'
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.2'

implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
Expand Down
3 changes: 2 additions & 1 deletion samples/bannerSample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

<application android:allowBackup="true" android:icon="@drawable/icon"
android:label="@string/app_name" android:theme="@style/AppTheme"
android:name="androidx.multidex.MultiDexApplication">
android:name="androidx.multidex.MultiDexApplication"
android:networkSecurityConfig="@xml/network_security_config">

<activity
android:name=".BannerBase"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,30 +4,46 @@
import android.os.Bundle;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AppCompatActivity;

import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.inmobi.sdk.InMobiSdk;
import com.inmobi.unification.sdk.InitializationStatus;

import org.json.JSONException;
import org.json.JSONObject;

public class BannerBase extends AppCompatActivity {

private static final String TAG = BannerBase.class.getName();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
JSONObject consent = new JSONObject();
try {
// Provide correct consent value to sdk which is obtained by User
consent.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
} catch (JSONException e) {
e.printStackTrace();
}
InMobiSdk.init(this, "1234567890qwerty0987654321qwerty1234", consent);
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
setContentView(R.layout.banner_base);

@InitializationStatus String initStatus = InMobiSdk.init(this,
"1234567890qwerty0987654321qwerty12345", consent);

switch (initStatus) {
case InitializationStatus.SUCCESS:
Log.d(TAG, "InMobi SDK Initialization Success");
break;
case InitializationStatus.INVALID_ACCOUNT_ID:
case InitializationStatus.UNKNOWN_ERROR:
Log.e(TAG, "InMobi SDK Initialization Failed. Check logs for more information");
}

setContentView(R.layout.banner_base);
Button xmlIntegration = (Button) findViewById(R.id.xmlSample);
xmlIntegration.setOnClickListener(new View.OnClickListener() {
@Override
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" >
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
2 changes: 1 addition & 1 deletion samples/interstitialSample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ dependencies {
implementation 'com.google.android.material:material:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.2'

implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
Expand Down
3 changes: 2 additions & 1 deletion samples/interstitialSample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@

<application android:allowBackup="true" android:icon="@drawable/icon"
android:label="@string/app_name" android:theme="@style/AppTheme"
android:name="androidx.multidex.MultiDexApplication">
android:name="androidx.multidex.MultiDexApplication"
android:networkSecurityConfig="@xml/network_security_config">

<activity
android:name=".InterstitialAdsActivity"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,20 +11,19 @@
import com.inmobi.ads.InMobiInterstitial;
import com.inmobi.ads.listeners.InterstitialAdEventListener;
import com.inmobi.sdk.InMobiSdk;
import com.inmobi.unification.sdk.InitializationStatus;

import org.json.JSONException;
import org.json.JSONObject;

import java.util.Map;
import java.util.concurrent.atomic.AtomicInteger;

public class InterstitialAdsActivity extends AppCompatActivity {

private InMobiInterstitial mInterstitialAd;
private Button mLoadAdButton;
private Button mShowAdButton;
private final String TAG = InterstitialAdsActivity.class.getSimpleName();
private AtomicInteger forcedRetry = new AtomicInteger(0);

@Override
protected void onCreate(Bundle savedInstanceState) {
Expand All @@ -36,8 +35,20 @@ protected void onCreate(Bundle savedInstanceState) {
} catch (JSONException e) {
e.printStackTrace();
}
InMobiSdk.init(this, "1234567890qwerty0987654321qwerty12345", consent);

InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
@InitializationStatus String initStatus = InMobiSdk.init(this,
"1234567890qwerty0987654321qwerty12345", consent);
switch (initStatus) {
case InitializationStatus.SUCCESS:
Log.d(TAG, "InMobi SDK Initialization Success");
break;
case InitializationStatus.INVALID_ACCOUNT_ID:
case InitializationStatus.UNKNOWN_ERROR:
Log.e(TAG, "InMobi SDK Initialization Failed. Check logs for more information");
break;
}

setContentView(R.layout.activity_interstitial_ads);

mLoadAdButton = (Button) findViewById(R.id.button_load_ad);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" >
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
2 changes: 1 addition & 1 deletion samples/nativeSample/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ dependencies {
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.cardview:cardview:1.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.0'
implementation 'com.inmobi.monetization:inmobi-ads:9.0.2'

implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
Expand Down
3 changes: 2 additions & 1 deletion samples/nativeSample/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@

<application android:allowBackup="true" android:icon="@drawable/icon"
android:label="@string/app_name" android:theme="@style/AppTheme"
android:name="androidx.multidex.MultiDexApplication">
android:name="androidx.multidex.MultiDexApplication"
android:networkSecurityConfig="@xml/network_security_config">

<activity
android:name=".NativeAdsActivity"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,22 @@
package com.inmobi.nativead.sample;

import android.os.Bundle;
import android.util.Log;

import com.google.android.material.tabs.TabLayout;
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;
import androidx.viewpager.widget.ViewPager;

import com.inmobi.sdk.InMobiSdk;
import com.inmobi.unification.sdk.InitializationStatus;

import org.json.JSONException;
import org.json.JSONObject;

public class NativeAdsActivity extends AppCompatActivity {

private static final String TAG = NativeAdsActivity.class.getName();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Expand All @@ -26,7 +30,19 @@ public void onCreate(Bundle savedInstanceState) {
} catch (JSONException e) {
e.printStackTrace();
}
InMobiSdk.init(this, "12345678901234567890123456789012", consent);
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
@InitializationStatus String initStatus = InMobiSdk.init(this,
"12345678901234567890123456789012", consent);

switch (initStatus) {
case InitializationStatus.SUCCESS:
Log.d(TAG, "InMobi SDK Initialization Success");
break;
case InitializationStatus.INVALID_ACCOUNT_ID:
case InitializationStatus.UNKNOWN_ERROR:
Log.e(TAG, "InMobi SDK Initialization Failed. Check logs for more information");
break;
}

setContentView(R.layout.activity_native_ads);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" >
<trust-anchors>
<certificates src="system" />
<certificates src="user" />
</trust-anchors>
</base-config>
</network-security-config>
17 changes: 17 additions & 0 deletions sdk/ChangeLog.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,23 @@
InMobi Monetization SDK ChangeLog for Android
=============================================

## Build 9.0.2 [27/January/2020]
• Added support for success/failure status for InMobi Initialization.
• Proactive detection of abnormal network calls by fraudulent creatives.
• Improvements and Bug Fixes.
• Interface Changes
- APIs Updated
• InMobiSdk
public static @InitializationStatus String init(@NonNull final Context context, @NonNull @Size(min = 32, max = 36) String accountId)
public static @InitializationStatus String init(@NonNull final Context context, @NonNull @Size(min = 32, max = 36) String accountId, @Nullable JSONObject consentObject)

## Build 9.0.1 [25/October/2019]
• Add support for IAB GDPR consent string
• Update OMSDK to v1.2.19
• Banner refresh support from SSUI
• Support for Facebook Audience Network 5.5
• Bug Fixes for SDK and AudienceBidder Plugin

## Build 9.0.0 [20/September/2019]
• Modular SDK
- Added an ability to integrate Mediation as a separate module.
Expand Down
Binary file modified sdk/libs/InMobiSDK.aar
Binary file not shown.