Unity Android READ_PHONE_STATE permission - android

I've created a mobile game for iOS and Android that uses chartboost plugin to show advertisement and AdMob as well.
The thing is that I've created some permissions in the AndroidManifest in order to make this plugins work and one of this permissions is READ_PHONE_STATE which is asking for permission to read the call information to those who install the game. I don't like this because could generate distrust among users.
I've tried to delete the line that asks for this permission but when I do it the game crashes at the beginning, so, is there any way to remove this permission? Or do I have to keep it if I want to show advertisement?

I'm not sure about the chartboost plugin but I have created my own AdMob plugin and the only permissions that are required in the AndroidManifest file are:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
This is when using Google Play services rather than the AdMob SDK.

Related

GooglePlay Alert For Location Background Access

Google Recently Deleted my app because of new rules for location privacy.
I am using Mapbox library for maps and I have ACCESS_FINE_LOCATION permission, When I Upload new generated app to google play it says my app use background location and force me to the privacy tab for more information,
i dont have any BACKGROUND_LOCATION permission and doesn't use this feature , and all of my usages is for selecting user current location via map.
Still, google says I use background location.
BTW :
use this code to remove permission even it does not exists :
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" tools:node="remove" />
and still having problems.
what should I do?
I don't need background location permission and don't use it.
You can go to Merge Manifest tab in Android Studio to know the origin of permission.
refer to: Manage manifest
Most probably that Mapbox asking for this permission and you should exclude a feature to disable it.
I had the same issue.
My flutter app has 2 AndroidManifest.xml files:
profile/AndroidManifest.xml
main/AndroidManifest.xml
When I added permission removal to the profile/AndroidManifest.xml, nothing has changed. But after extending the main/AndroidManifest.xml file, Google Play Console stooped showing the ERROR and I was able to publish my app with Mapbox component again.
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="...">
<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION" tools:node="remove"/>

What Permissions are Required for Google Admob and Firebase with Analytics?

I'm new to developing android apps, and this is my first one that I'm about to publish. The last step for me is adding permissions. I have to add permissions manually as I'm building the app through Phonegap. Anyway, I can't find what the specific permissions are required to ask of the user if you are going to use Firebase with Google Analytics and Google Admob. My app doesn't need any other permissions than for these services. (By the way, I am not adding these services via SDK, I am adding my app to these services online. However, I believe I still need to add app permissions.)
Only internet, you can add it in your Manifest:
<uses-permission android:name="android.permission.INTERNET" />
No need for runtime permissions for internet.

Unable to publish app in Google Play store due to Declare sensitive permissions

Recently I tried to publish an app in Google Play Store, but I am receiving the following error and my app is getting rejected every time.
I have removed all the SMS related permissions only basic permissions required are included in the app, and I have used some 3rd party libraries like PayPal, Payumoney.
Please find the reference link below for more information regarding the updated Google Policy:
Privacy, Security, and Deception
If you cannot disable adding this permission by a dependency you can explicitly remove it from merged manifest like this:
<uses-permission
android:name="android.permission.READ_PHONE_STATE"
tools:node="remove" />

Google Drive API Manifest Permissions

this isn't really a big problem. I've got an Android App that stores user's passwords on a SQLite Database. So last week I launched an update that allows the user to export those passwords to their Google Drive. To do this, I've used the Google Drive Android API. I didn't add any special permission to the Application Manifest (AndroidManifest.xml) and it works fine (tested on KitKat4.4). But one of my friends told me that it might not work on Android 6.0+, because I should always ask for permissions. But I checked some samples and none of them had those permissions on the Manifest. Do you guys think it's necessary to add permissions? Perhaps INTERNET or GET_ACCOUNTS?
If you are using the Google Drive Android API you don't need INTERNET or GET_ACCOUNTS permissions.
The API automatically handles previously complex tasks such as offline access and syncing files. This allows you to read and write files as if Drive were a local file system.
Check the official Quickstart and the demos sample on GitHub. None of them is having special permissions in the AndroidManifest.xml.
BUT if you are using the Google Drive REST API for Android then you need INTERNET permission for sure.
If you follow the tutorials on Drive API using Android, you will see in the Step 4:Prepare the project that you need to add the permissions below in your code.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
The permission "android.permission.INTERNET" is used if you want your application to connect/perform network operation.
For the "android.permission.GET_ACCOUNTS", it's stated in this documentation that:
Note: Beginning with Android 6.0 (API level 23), if an app shares the
signature of the authenticator that manages an account, it does not
need "GET_ACCOUNTS" permission to read information about that account.
On Android 5.1 and lower, all apps need "GET_ACCOUNTS" permission to
read information about any account.
For more information about different meaning/uses of android permission, check this page.
According to the Google Maps API documentation, INTERNET and ACCESS_NETWORK_STATE permissions will be automatically merged to project's manifest, meaning you don't have to specify them by yourself as long as calling API over Google Play services.
Couldn't find the same description for Google Drive API, though.

Phonegap/Cordova Media Class Permissions

I am making an Android Phonegap/Cordova app which uses the Media Class found here: http://docs.phonegap.com/en/2.9.0/cordova_media_media.md.html
It says that the Media class requires the following permissions:
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
When I add these permissions to my app/AndroidManifest.xml file the audio and app works perfect. If I remove all the permissions the app still works perfect on my Android device. My question is has Phonegap changed the required permissions? Are any permissions required for a Phonegap app to work on all devices? Thanks.
which version of phonegap are you using? with phonegap 3.x the permissions are automatically added by the plugin.
Permission are not specific to phonegap but are relative to android. When you set permissions in androidmanifest.xml, when a user installs an app, he will be notified of the required permissions and if you do not require the permissions, there are some operations your app will not be able to perform.
You can use the media plugin without requiring the permissions, it will work fine as long as you do not try to perform operations that require permissions : you will be able to play audio but not to record.

Categories

Resources