What permissions are considered special in the Play Store? - android

I have added the following permissions onto my app:
full network access
view network connections
When installing the app the Play Store says: "APP_NAME does not require any special permissions". I assume that the two permissions are not considered special.
However they are listed in the permissions section of the app webpage on the store website. They fall under the "other" category.
How may we know which permissions are not considered special if we want to avoid adding them to the app? Is there a list anywhere?

You are looking for the Review App Permissions
Google Play prioritizes the permissions that are most important for
you to make an informed decision, displaying them front and center.
A concise idea about it has been described on this blog about the Permission Groups change.
Welcome to StackOverflow, do try to post (almost only) code related questions here. Refer Help to read more on why code related Qs.

Related

Identifying Impersonation Suspension Reason In App Publishing

I've uploaded my first Android application to Google Play yesterday, and was really excited for my app to finally be on out there.
But my application got suspended for impersonation. I obviously didn't get any more information about what I infringed specifically, and I'm unsure what I should change in order for the app to be accepted (more likely, resend as a different app name).
Before you could help me you'll need to know some information on the app itself. So I basically made a companion app for a video game. I called the application "Horadrim Companion", and it's supposed help players for playing Diablo 3. Naturally, I'm using elements from this game in the app.
So, my main question is why did I get the impersonation suspension?
I can think of several options, please help me figure out what of those could be the issue:
I didn't write "This app is unofficial" in the description, which I've seen several other apps do. This might be the sole reason, but I'm not enough experienced to make this assumption.
I took the logo out of the game lore. Which in itself should be borderline legit, but I've seen other apps do the same, so I assumed it's fine.
The app name. I dont think I've hit a sweet spot with the name or anything, and I dont think it was any of the factors for the bans.
In-app design? I've seen other apps use design elements from Blizzard Entertainment and\or Diablo 3 design elements themselves. Could this be another possible reason? Sounds more like copy right infringement if anything, and not impersonation.
So I'm not sure which, of the above are critical for the impersonation policy or not.
I'd really like your help, you could make one developer a happy man. I'm really afraid the account will be terminated.
I'd really liked your suggestions!
I had the same problem with suspended app publishing because of impersonation.
I solved this by buying/registering the domain name I used as my app package name. I also added my developer email in the company details section of my keystore while signing the apk for release. After doing this my second attempt at publishing was a success.
It becomes easier if you actually own the domain of the package name you wanna use.
I think basically the algorithm used for verifying the originality of our apps is just too strict. So we have to also play our part and go the extra mile to show that we are legit.
Hope someone can relate to this.
All the best.
Usually you receive an email from
Google Play Support with REASON FOR REMOVAL: Violation of the spam provisions of the Content Policy. Please refer to the keyword spam policy help article for more information.
Your title and/or description attempts to impersonate or leverage another popular product without permission. Please remove all such references. Do not use irrelevant, misleading, or excessive keywords in apps descriptions, titles, or metadata.
If you received no such notification, you should try submitting an appeal your app removal/suspension from Google Play using the form in the link below:
https://support.google.com/googleplay/android-developer/contact/appappeals
It is most likely that the reason for suspension is one from the list of options in your post, but usually it is explicitly highlighted by Google in their email under the section 'REASON FOR REMOVAL'
The link below lists more such reasons for removal due to trademark infringement of a third party IP:
https://support.google.com/googleplay/android-developer/answer/2986098?hl=en&ref_topic=2985713
It is unlikely that your account itself will be terminated, unless you are identified by Google as a repeat offender.
"I took the logo out of the game lore"
It's not your resource so you violate intellectual property
"The app name"
You can't use a trademark word
"I've seen other apps use design elements from Blizzard Entertainment"
Those apps must've been released years ago. Now, the SQA team is really strict about rule.
I mean, if u search "One Piece" or "Naruto" there are a lot of apps that doubtfully has a license.

Why are <uses-permission> needed in android? what is their intention?

Why exactly uses-permission
Ex :
<uses-permission>android:name="android.permission.ACCESS_NETWORK_STATE"/>
is needed to access various modules of Android. How is it that just adding one single line that too by the same programmer who is coding it, is actually providing security? I am new to Android programming and this is looking funny. Kindly explain what is the exact use of quoting the <uses-permission>
Google made a whole page to describe the concept. Go through it and you will know the reason.
http://developer.android.com/guide/topics/security/permissions.html
EDIT: In addition to above information. These required permissions are shown to the user at the time of installing the application. They are even visible at the google play store for each app. While most users don't see reqd permissions before installing, some might check them out and if its interfering with their privacy more than required they may not install it or even give bad reviews on play store. These are mentioned in AndroidManifest so Google doesn't have to go through all the scenarios to check what all services the application might request in future.
Whatever permissions you have added in <uses-permission> are actually used later at installation time of your application. User will be asked that this applications require following permissions: Access network states. And if user accepts, the application can be installed. Else application won't be installed.
Refer to this for ore clarification.

What is the equivalent of Android permissions in iOS development? [duplicate]

This question already has answers here:
Android like permissions in iOS
(3 answers)
Closed 9 years ago.
I am not sure how to search for this so even a bunch of keywords would be enough or +1 if someone can point me to the relevant documentation.
Android has approx. 122 permissions described here. What is the equivalent in iOS? Do developers declare permissions or can they access everything? If everything, where can I find what this "everything" entails?
Although there are key differences in the way iOS and Android access the system, what Apple have done is to let you use some system resources (such as contacts or photos for example) and also register your app via some keys in a property list for using features such as background execution (for example a voip application that would like to listen for incoming calls). You can find all these options (keys) here.
There is no manifest-like permission concept in iOS. You can access every public API, as long as it is not against the developer agreement, and if you do something wrong, your application will be rejected by Apple.
There is no concept of "permissions" in iOS, there are certain things you are allowed to do and certain things you are not. You need not ask the user for access to these permissions.
I don't know of a specific list of things you are allowed to do, but the Review Guidelines should give you a good idea.
There is no concept of permissions for iOS (iOS 5; may happen in iOS 6 but do not count on it). You can only access official API as approved by Apple. Use of any unofficial API is not permitted and as such will in most cases leads to your app being rejected for distribution in the AppStore.
The closest you will find to permissions in notifications you see when using Location. See more #: http://developer.apple.com/library/ios/#documentation/UserExperience/Conceptual/MobileHIG/TechnologyUsage/TechnologyUsage.html#//apple_ref/doc/uid/TP40006556-CH18-SW10
Regards,
Bo
There is no such thing in iOS unfortunately. You might interested in reading this article about the difference between iOS and Android on this particular point.

Android app permissions in ibuildapp.com

I’ve been building some android apps using the website ibuildapp.com
But the thing is that each app requires so many permissions despite the app does not use these features. My question is, can the app send personal information to their servers?
Are you asking if the app can send information to ibuildapp.com servers, or servers in general?
Apps should request permissions only when they need them to provide major functionality. I don't know anything about ibuildapp.com, but if it's requesting a lot of permissions it goes high on my "suspect" list.
permission.READ_CONTACTS, permission.READ_CALENDAR, permission.READ_PROFILE, among others, are not to be handed out lightly! The full list of permissions is listed at
Android.Manifest.Permission javadoc, along with documentation.
I'm an iBuildApp team developer, so I can answer your question. :)
The only reason why we ask all these permissions in every app is that this is how our service works at the current moment.
It has great number of widgets (i.e. page types / functions), every widget has it's own permissions needed. One of our features is that you can manage your app on the fly (modify content, change pages' types etc.), while in most cases there is no necessity to rebuild native app: all the changes will be visible in already built ones. This means that all the modules are built in inside an app (while, as mentioned before, every widget needs it's own permissions).
So in the main: yes, if an app (I assume not specifically our app, but any app) asks for some permissions then it can potentially use them in "bad" way.
But as for us: no. We're not interested in your personal data. We're only interested in providing an excellent service.
Hi i'm ibuildapp android developer.
You can unzip recieved apk file and edit manifest file. As soon as you've done zip it.

Is there a way to see that a user has submitted a review to the Android Marketplace?

I'm considering asking users to submit a review to the Android Marketplace (Google Play I guess now, but...) ocassionally, but I would like to know before I ask them to if they have submitted a review. Is this even possible?
There is no API for the Play Market, which is what you really need.
As others have mentioned, you can always keep track if a user has pressed a button to launch the Play Market, but you can't tell what they did once there.
There is a 3rd party Market API, but it is not reliable (certainly not there fault - it is a workaround, since an official API doesn't exist).
It is possible to create a "Campaign" using AdWords. This allows you to track referral URLs (which would allow you to track entry points to the app from external resources). I found a good post about that here: http://gyurigrell.com/2012/2/21/tracking-install-sources-android-apps
Bottom line, I am pretty sure you can't do what you are asking.
Googling gave me this link - http://code.google.com/p/android-market-api/. I haven't tried it but it claims that it can get the comments according to your app ID. There are other ports listed there.
What you can try is that get all the comments for your app. Then get the user account details using the AccountManager. Check if any details here match those with the author name in the comments. You will need to add a permission in your manifest to get data from the AccountManager and it's a pretty creepy permission.
It seems like a lot of work though and I think you would be better off just using a dialog box once and then making sure it does not pop up again after someone has clicked on it through a stored preference.
if you have a button for them to press to leave you the review, you could always put a preference when they click it, and then check later to remove the button.
It would be nice if Google/Android, one day, would allow for a custom rate-my-app dialog where that user information could be known server side and not popup the developer/app dialog if it doesn't need to (the user has already rated the app). Wishful thinking Feature Request
Unfortunately this is not possible at the moment. See How to know if a specific user has rated a Android App?
Also, although a suggestion might be to use something like android-market-api please note that it does violate absent licenses and you could lose your developer account although I doubt it, but the app may mysteriously get banned one day!
I think the biggest issue is that of privacy.
As far as workarounds, it may be better to wait for something official. All unofficial APIs often are unreliable as to changes Google makes and the unofficial APIs have to catch up and fix problems while the service no longer works, with no way of continuing to run until it is fixed. Therefore, simply setting a SharedPreference may be the most you can comfortably achieve at this point. Either on first run, at delayed and specified intervals, or if a user has already checked a 'don't ask again/already rated' box.

Categories

Resources