[IMPORTANT] Sohan from InMobi here. Please read this before using the InMobi plugin.

Hello!

I’m Sohan and I work as a developer evangelist with InMobi.

Lately there’s been some confusion about the InMobi plugin(s) for Corona. Let me try and clear it up best I can. Relevant documentation is linked in the post as well.

Essentially there are two plugins through which you can use InMobi on Corona:

  1. AdProvider Plugin:

This is essentially a wrapper that is written above the Corona ad-provider plugin.

Updated with InMobi 4.1.0 SDK

Supports interstitial Ad

Takes demographic information to provide better ads

Available to only Basic/Pro/Enterprise users (Not available for Starter Subscribers)

  1. Library Plugin:

This is a custom plugin and thus has few extra features.

Updated with InMobi 4.0.3 SDK.

Supports interstitial Ad.

Includes InMobi Analytics.

Provides support for Multiple Banner Ads on screen. (can display more than 1 ad on the screen - used in Tablets)

Provides custom API to request banner and interstitial ad. Takes demographic information to provide better ads

Available to only Pro/Enterprise users.

Documentation available on the InMobi site too.

Unfortunately, neither InMobi plugin is available for the folks using the Starter edition. However, we are working with the Corona team to get this sorted and soon the AdProvider plugin will be available to people on Starter.

Hope that cleared things up. Feel free to ask any questions and if you need help you can always write in to developer at inmobi.com . I try and reply to all mails :slight_smile:

Is the app ID the same as the Property ID?

Yes Scott,

The app ID and the Property ID are the same. 

I just took a look at your documentation for your Library Plugin.

Are all this permission really necessary?

  •   android =
  •     {
  •      versionCode = “11”,
  •      usesPermissions =
  •      {
  •      “android.permission.INTERNET”,
  •      “android.permission.READ_PHONE_STATE”,
  •      “android.permission.ACCESS_NETWORK_STATE”
  • “android.permission.ACCESS_LOCATION”,
  •      “android.permission.ACCESS_COARSE_LOCATION”,
  •      “android.permission.ACCESS_FINE_LOCATION”
  • “android.permission.CALL_PHONE”,
  •      “android.permission.MODIFY_AUDIO_SETTINGS”,
  •      “android.permission.ACCESS_WIFI_STATE”
  • “android.permission.CHANGE_WIFI_STATE”,
  •      “android.permission.VIBRATE”,
  •      “android.permission.RECORD_AUDIO”    
  • “android.permission.ACCESS_GPS”,
  •      “android.permission.ACCESS_ASSISTED_GPS”,
  •      “android.permission.WRITE_EXTERNAL_STORAGE”
  • “android.permission.READ_LOGS”,
  •      “com.google.android.gms.permission.ACTIVITY_RECOGNITION”,
  •      },
  •     }

Hey!

Well we need these permissions essentially to show rich media ads from InMobi. 

Here’s a link that will tell you why exactly we need some of these permissions: https://www.inmobi.com/support/integration/29575756/22051163/android-sdk-required-permissions/

If we exclude permissions we do not wish to include, will the plugin work ? (serve ads that do not need that permissions)

You should include all the mandatory permissions for it to work. The others depend on your requirement. 

And the mandatory permissions are ?

The mandatory permissions are:

<uses-permission android:name=“android.permission.INTERNET” />
<uses-permission android:name=“android.permission.READ_PHONE_STATE” />
<uses-permission android:name=“android.permission.ACCESS_NETWORK_STATE”/>

Sorry, but I find this somewhat hilarious. (having just battled the READ_PHONE_STATE permission for another ad network)

First, you give a link to “official” documention of "required* permissions – where not even INTERNET is mentioned. (nor is READ_PHONE_STATE, nor ACCESS_NETWORK_STATE) Clearly, without INTERNET it’s not gonna work at all, right? That link only covers the *optional* stuff.

Second, you fail to give this link: https://www.inmobi.com/support/integration/23817448/22051163/android-sdk-integration-guide/ which DOES cover the manadatory permissions, but indicates only INTERNET and ACCESS_NETWORK_STATE.

Third, your last response here states that all three of these are manadatory: INTERNET, ACCESS_NETWORK_STATE _and_ READ_PHONE_STATE. Based on what??? Not your own documentation.

All of this gives the strong impression that you have NO IDEA whether or not the READ_PHONE_STATE permission is actually required. (that is, without it will your plugin entirely fail to function? that should be a simple yes/no question.)

Again, apologies, sorry to take this out on you/inmobi specifically, but this whole situation, among nearly all ad networks as implemented in Corona (not just you), is just laughable. (or, rather, WOULD BE laughable if it weren’t so frustrating!)

(aside: Brent appears to have changed the docs yet again – that original massive list of permissions now seems to have vanished, so now we have NO list of permissions, rather than a big confusing list of maybe-required/maybe-not permissions?? Not sure if that’s better/worse.)

Hi Dave,

As promised, I discussed this with the engineers and I intend to improve the documentation this week, barring some other high priority task. While the required permissions are dictated by the plugin author (as I’ve stated), I will hopefully be able to provide a list on each ad provider’s documentation index page which tells you the required permissions. Thanks for your patience on this.

Brent 

Brent, I do understood, and appreciate that you’re looking into it.

You have to take my twisted “humor” here with a grain of salt… I’m not trying to cast blame, especially at Corona staff, because clearly (and this is the ironic humor to me) even representatives of the ad networks themselves don’t understand the issue, or perhaps even WHY it’s an issue, and do themselves a disservice by furthering the spread of misinformation in public forums.

So I laugh, perhaps at myself, when I read something that makes we wonder if I don’t already know this topic better than the ad networks themselves, which would be scary, because I DON’T know this topic! :smiley:

Hi Dave,

Part of the issue, at least in regards to InMobi, is that they offer 2 separate plugins, the “basic” that Corona has offered for a long time, and another enhanced version (their Library version) which offers more features. Each of these requires a different set of permissions which will be clarified in my documentation update. So ultimately, it’s not that InMobi “doesn’t understand what is required”, but rather that each plugin requires different things. This has clearly confused you and others in the community.

Docs exist for both at this time on the plugin index page:

http://docs.coronalabs.com/plugin/index.html

If you’re chomping at the bit to get it going now, the basic version requires these permissions:

[lua]

            “android.permission.INTERNET”,

            “android.permission.READ_PHONE_STATE”,

            “android.permission.ACCESS_NETWORK_STATE”,

[/lua]

And the enhanced Library version requires these:

[lua]

            “android.permission.INTERNET”,

            “android.permission.READ_PHONE_STATE”,

            “android.permission.ACCESS_NETWORK_STATE”,

            “android.permission.ACCESS_ASSISTED_GPS”,

            “android.permission.ACCESS_COARSE_LOCATION”,

            “android.permission.ACCESS_FINE_LOCATION”,

            “android.permission.ACCESS_GPS”,

            “android.permission.ACCESS_LOCATION”,

            “android.permission.ACCESS_WIFI_STATE”,

            “android.permission.CALL_PHONE”,

            “android.permission.CHANGE_WIFI_STATE”,

            “android.permission.MODIFY_AUDIO_SETTINGS”,

            “android.permission.READ_LOGS”,

            “android.permission.RECORD_AUDIO”,

            “android.permission.VIBRATE”,

            “android.permission.WRITE_EXTERNAL_STORAGE”,

[/lua]

Brent

Brent,

What would really help is knowing WHY they require READ_PHONE_STATE as implemented in Corona, yet don’t in native Android (as per the api link given above) - because (as per other thread) a similar condition also appears to exist for other providers (again based on native java docs vs Corona docs).

There’s something “fishy” going on somewhere, but it’s beyond me to identify it. Maybe if we knew the WHY, we’d also learn the WHAT to resolve it. Because short answer for me is: if they truly require it, then pass, not worth the trouble, will break other things that forbid it.

Apologies if I appear to be badgering this topic lately. :smiley:
Dave

I am a starter and I had been using Inmobi ads for the past whole year. I thought of inmobi as a better application monetization option as compare to all the others out there. And now instead of providing us with something better, they have completed turned off their services for us. This is really sad. 
I wish they do something about it ASAP. 

Hey Arsalan

Yes for now InMobi plugin doesn’t work with the Starter edition. But rest assured that we are working with the Corona team to get this sorted as soon as possible. Do stay tuned :slight_smile:

Is the app ID the same as the Property ID?

Yes Scott,

The app ID and the Property ID are the same. 

I just took a look at your documentation for your Library Plugin.

Are all this permission really necessary?

  •   android =
  •     {
  •      versionCode = “11”,
  •      usesPermissions =
  •      {
  •      “android.permission.INTERNET”,
  •      “android.permission.READ_PHONE_STATE”,
  •      “android.permission.ACCESS_NETWORK_STATE”
  • “android.permission.ACCESS_LOCATION”,
  •      “android.permission.ACCESS_COARSE_LOCATION”,
  •      “android.permission.ACCESS_FINE_LOCATION”
  • “android.permission.CALL_PHONE”,
  •      “android.permission.MODIFY_AUDIO_SETTINGS”,
  •      “android.permission.ACCESS_WIFI_STATE”
  • “android.permission.CHANGE_WIFI_STATE”,
  •      “android.permission.VIBRATE”,
  •      “android.permission.RECORD_AUDIO”    
  • “android.permission.ACCESS_GPS”,
  •      “android.permission.ACCESS_ASSISTED_GPS”,
  •      “android.permission.WRITE_EXTERNAL_STORAGE”
  • “android.permission.READ_LOGS”,
  •      “com.google.android.gms.permission.ACTIVITY_RECOGNITION”,
  •      },
  •     }

Hey!

Well we need these permissions essentially to show rich media ads from InMobi. 

Here’s a link that will tell you why exactly we need some of these permissions: https://www.inmobi.com/support/integration/29575756/22051163/android-sdk-required-permissions/