Device ID & call information

Hi guys,
 

When downloading my game for android, the google play store asks a permission to get access to Device ID & call information.

My question is-

  1. Is it necessary? for what I know I don’t have any use for that.

  2. Which lines in the the code are responsible for this request?( so I can remove them)

I was not the one who is responsible for the coding, I paid someone for it, and now I’m getting charged with every fix.

Here’s the link if anyone is interested-

https://play.google.com/store/apps/details?id=com.gmail.AsafGibor.MonkeyandaBarrel&hl=en

P.S

I was not sure which one of the API sub forums is the most suitable, so if there is more relevant one, I’d be happy to move it there.

That is going to be specified as  a permission or feature in the Android section of the build.settings file.

Someone here may know the exact answer, but I think you are going to have to research the persmission/features tied to this via these links:

Please show us just the android part of your build.settings file (use a code block too) and we may be able to spot the culprit:

Ex:

 android = { versionCode = "11", usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, },

There are things like the native.showPopup() API that lets you send text messages. This would require access to the phone information. If you use a native.newWebView() you can have tel:nnn-nnn-nnnn URL’s. I’m sure there are a few other API calls that would also need access to the phone hardware.

Rob

android = { googlePlayGamesAppId = "XXXXXXXX", --insert your app id number for google game services usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.READ\_PHONE\_STATE" }, },

Thanks for your answer guys!
This is the Android part, I’m guessing the “READ_PHONE_STATE” line is the one that I was looking for. 
Could you confirm that?
Also, just to be sure, if I remove the request for Device ID & call information the app will still function as usual right?
While I was looking for a solution I’ve read that this request is responsible to get calls while playing the game.
It seems pretty weird to me because there are a lot of apps that don’t require this and still let you get calls while using them.
unfortunately I can’t check this issue in testing, it only occurs while the app is live.

  1. I can’t confirm it with 100% certainty, but I do think it is “READ_PHONE_STATE” that is troubling you.

  2. re: Getting calls.  I don’t think that’s right, but not being an Android expert I can’t be sure.  However it seems very unlikely that you could block phone call from coming in.

  3. re: removing ‘READ_PHONE_STATE’ permission.  Yes, you should be fine.  You can test this. Remove the permission, build it, and install it on your test device. If it still works fin, then you’re good to go.

READ_PHONE_STATE will prompt you for those permissions. But there are things that may need that permission. You need to figure out why you added it in the first place. If you don’t need it remove it.

Rob

Thanks for your answers again guys :slight_smile:

I will try your solution!

That is going to be specified as  a permission or feature in the Android section of the build.settings file.

Someone here may know the exact answer, but I think you are going to have to research the persmission/features tied to this via these links:

Please show us just the android part of your build.settings file (use a code block too) and we may be able to spot the culprit:

Ex:

 android = { versionCode = "11", usesPermissions = { "android.permission.INTERNET", "android.permission.WRITE\_EXTERNAL\_STORAGE", "android.permission.ACCESS\_FINE\_LOCATION", "android.permission.ACCESS\_COARSE\_LOCATION", }, },

There are things like the native.showPopup() API that lets you send text messages. This would require access to the phone information. If you use a native.newWebView() you can have tel:nnn-nnn-nnnn URL’s. I’m sure there are a few other API calls that would also need access to the phone hardware.

Rob

android = { googlePlayGamesAppId = "XXXXXXXX", --insert your app id number for google game services usesPermissions = { "android.permission.INTERNET", "android.permission.ACCESS\_NETWORK\_STATE", "android.permission.READ\_PHONE\_STATE" }, },

Thanks for your answer guys!
This is the Android part, I’m guessing the “READ_PHONE_STATE” line is the one that I was looking for. 
Could you confirm that?
Also, just to be sure, if I remove the request for Device ID & call information the app will still function as usual right?
While I was looking for a solution I’ve read that this request is responsible to get calls while playing the game.
It seems pretty weird to me because there are a lot of apps that don’t require this and still let you get calls while using them.
unfortunately I can’t check this issue in testing, it only occurs while the app is live.

  1. I can’t confirm it with 100% certainty, but I do think it is “READ_PHONE_STATE” that is troubling you.

  2. re: Getting calls.  I don’t think that’s right, but not being an Android expert I can’t be sure.  However it seems very unlikely that you could block phone call from coming in.

  3. re: removing ‘READ_PHONE_STATE’ permission.  Yes, you should be fine.  You can test this. Remove the permission, build it, and install it on your test device. If it still works fin, then you’re good to go.

READ_PHONE_STATE will prompt you for those permissions. But there are things that may need that permission. You need to figure out why you added it in the first place. If you don’t need it remove it.

Rob

Thanks for your answers again guys :slight_smile:

I will try your solution!