Comments (5)
Google still rejects the app. Could you please check to implement the feature as described in the Google documentation?
Issue found: Prominent disclosure not found
Your app must display a prominent disclosure in a dialog that appears before your app’s location runtime permission. Based on our review, a prominent disclosure didn’t appear. (See Google Play Policy - Declared permissions and in-app disclosures video for an example of a dialog that pops up in the app with the necessary information.)
To bring your app into compliance, follow these steps:
Read through the Help Center article about understanding location in the background permissions for more information.
Review the prominent disclosure and consent requirements and add a prominent disclosure.
Your prominent disclosure must appear before your app’s location runtime permission.
Include at least the following sentence, which you adapt to include all the relevant features requesting access to location in the background in your app that are readily visible to the user: “This app collects location data to enable {feature}, {feature}, and {feature} even when the app is closed or not in use.” If you extend permitted usage to ads, also include: “This data is also used to provide ads/support advertising/support ads.”
Include any other details necessary to make it clear to the user how and why you’re using location in the background. While additional content is permitted, it should not cause the required content to not be immediately visible.
from badgemagic-android.
Google rejected it again.
Issue details
We found an issue in the following area(s):
In-app experience: Please see attached screenshot IN_APP_EXPERIENCE-2431.png
To bring your app into compliance, follow these steps:
Read through the Help Center article about understanding location in the background permissions for more information.
Review the prominent disclosure and consent requirements and update your prominent disclosure:
Make sure your prominent disclosure includes the term “location”.
Indicate how location is used in the background by including one of these phrases: “background” / “when the app is closed” / “always in use” / “when the app is not in use”.
Include a list of all the features that use location in the background.
If you extend permitted usage to ads include: “used to provide ads/support advertising/support ads.” (Choose the most accurate phrasing.)
from badgemagic-android.
This is what we need:
https://developer.android.com/develop/connectivity/bluetooth/bt-permissions#assert-never-for-location
Strongly assert that your app doesn't derive physical location
If your app doesn't use Bluetooth scan results to derive physical location, you can make a strong assertion that your app never uses the Bluetooth permissions to derive physical location. To do so, complete the following steps:
Add the android:usesPermissionFlags attribute to your BLUETOOTH_SCAN permission declaration, and set this attribute's value to neverForLocation.
Note: If you include neverForLocation in your android:usesPermissionFlags, some BLE beacons are filtered from the scan results.
If location isn't otherwise needed for your app, remove the ACCESS_FINE_LOCATION permission from your app's manifest.
The following code snippet shows how to update your app's manifest file:
<manifest>
<!-- Include "neverForLocation" only if you can strongly assert that
your app never derives physical location from Bluetooth scan results. -->
<uses-permission android:name="android.permission.BLUETOOTH_SCAN"
android:usesPermissionFlags="neverForLocation" />
<!-- Not needed if you can strongly assert that your app never derives
physical location from Bluetooth scan results and doesn't need location
access for any other purpose. -->
<strike><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /></strike>
...
</manifest>
from badgemagic-android.
Feedback from Google:
Step 1: Review the policy violation with your app
We found that your app is not compliant with the Location Permissions policy, or we were unable to review and verify your in-app experience for compliance with this policy.
Specifically,Missing information in prominent disclosure
Your prominent disclosure must appear before your app’s location runtime permission, and should tell the user which feature(s) will use location in the background. Based on our review, your app’s prominent disclosure did not include the term “location” / indication that the nature of usage is in the background by using one of the following phrases “background” / “when the app is closed” / “always in use” / “when the app is not in use” / a list of all the features that use location in the background / one of the following phrases “used to provide ads / support advertising / support ads” (if you extend permitted usage to ads).
To meet the policy requirements, it is recommended that you reference one of the following example formats, the second example includes the use of location for ads (choose the most relevant phrasing):
“[This app] collects location data to enable ["feature"], ["feature"], & ["feature"] even when the app is closed or not in use.”
“[This app] collects location data to enable ["feature"], ["feature"], & ["feature"] even when the app is closed or not in use and it is also used to support advertising.”
Example: “Fitness Funds collects location data to enable fitness tracking even when the app is closed or not in use.”
Therefore I guess we need something like this:
Badge Magic collects location data to enable Bluetooth Low Energy and to connect to LED badges and transfer data to the badges even when the app is closed or not in use. No location data is transferred to external devices or our servers.
Even though this is not correct, it seems we have to do it in order to satisfy Google.
from badgemagic-android.
This is what we need: https://developer.android.com/develop/connectivity/bluetooth/bt-permissions#assert-never-for-location
Strongly assert that your app doesn't derive physical location If your app doesn't use Bluetooth scan results to derive physical location, you can make a strong assertion that your app never uses the Bluetooth permissions to derive physical location. To do so, complete the following steps:
Add the android:usesPermissionFlags attribute to your BLUETOOTH_SCAN permission declaration, and set this attribute's value to neverForLocation.
Note: If you include neverForLocation in your android:usesPermissionFlags, some BLE beacons are filtered from the scan results. If location isn't otherwise needed for your app, remove the ACCESS_FINE_LOCATION permission from your app's manifest.
The following code snippet shows how to update your app's manifest file:
<manifest> <!-- Include "neverForLocation" only if you can strongly assert that your app never derives physical location from Bluetooth scan results. --> <uses-permission android:name="android.permission.BLUETOOTH_SCAN" android:usesPermissionFlags="neverForLocation" /> <!-- Not needed if you can strongly assert that your app never derives physical location from Bluetooth scan results and doesn't need location access for any other purpose. --> <strike><uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /></strike> ... </manifest>
This permission flag I've already added in the last commit.
from badgemagic-android.
Related Issues (20)
- Added a dialog that notifies the users below android 11 that the app is using location permission.
- Badge saving is broken on Android 13+
- Legacy app's pipeline broken on PR
- Work on the Logic to transfer the hex of the text and vectors to the badge.
- Add the screen where the user can draw on the badge.
- Add the logic for saving the drawn clipart locally to the device
- Work on the Screen Orientation problem
- Add the logic to transfer the user drawn clipart to the badge.
- Add the logic to display the text and clipart to the virtual badge.
- Add support for Spotled badges HOT 1
- Android 11 Location Not available HOT 4
- Add support for USB transfer HOT 1
- Add support for updating the firmware using the mobile app
- Add the Left animation on the badge view
- Add the right scroll animation
- Add the fixed animation
- Add the scroll Up animation.
- Add the scroll down animation
- Add the SnowFlake Animation
- Tag a new release to also create a new F-Droid build - stuck at version 1.7.0 at the moment
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from badgemagic-android.