-
Notifications
You must be signed in to change notification settings - Fork 34
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
iOS app rejected due to not making remote push notifications optional #827
Comments
Nope, but I haven't submitted an update for a couple of months. What are the screenshots that they are complaining about? |
I am not sure whether they are complaining about the "optional" part, or the "user consent" part. We do clearly ask for user consent. It would be very challenging to make them be completely optional, because, in case the visit API does not work, we use the silent push notifications to detect when a user has stopped moving and end the trip. For a concrete example of this, see your email from Aug 14 2021 titled "Issues with trip detection and UI" And we indicate this to the user upfront. Maybe ask them which part they are complaining about and clarify that the "optional" is challenging given that we use silent push notifications. I think they want us to use the new provisional notifications feature, but I don't think we can do that for silent notifications since the user will not see them anyway... |
I should also be submitting an update to NREL OpenPATH at the end of the week, so can report a second set of communications... |
Can we just let the user continue to the next page even if they don't allow the notification? Maybe we can add one |
That would definitely make the notifications optional. But then our silent push notifications would not go through and we would get emails like the one that you sent out on Aug 14 2021 titled "Issues with trip detection and UI" Or people will click on "deny" by mistake when prompted to allow location access in the background, and not be prompted to turn it on again. And then we would have to ask people to turn on their notifications instead of having them just do it upfront. Again, you can make that change in your custom app - but I want to argue a bit with Apple first, because the option they are pushing us towards (provisional notifications), do not seem to really work with silent push notifications. For the record: the HTML code is in Or if you want to show it, but handle the rejection differently, the code is in
we call |
@shankari how can we make it prompts only one on iOS but keep the same behavior on Android? |
Do these examples help? |
Do you mind providing me a response that I can pass on to them and see how they react? Unfortunately I don't really know the low-level of this as much as you do. |
Or this is enough at this stage?
|
Yup something like this is what I had in mind, along with some details of why we use silent push notifications.
|
I have decided to check the platform variable in
|
@shankari this is not looking good. Hello, Thank you for providing this information. Regarding guideline 4.5.4, push notifications should not be required for your app to function. They should also not be used to send sensitive personal or confidential information. Please revise your app to allow push notifications to be fully optional for your users and allow your app to function normally if push notifications are not enabled. Additionally, upon further review, we found that your submission does not comply with the following guidelines: Guideline 5.1.5 - Legal - Privacy - Location ServicesWe noticed that your app does not request and obtain the user's consent with a permission access request prior to accessing their location data, which is not allowed on the App Store. It is not appropriate to circumvent permission access requests for user data by directing users to iOS Settings. Next Steps To resolve this issue, please revise your app to include a permission access request for the user's location data and ensure the features are still functional if the user initially opts out. Please resubmit your app for review once you have revised your app to allow push notifications to be fully optional and implemented a permission access request for users' location data with an appropriate purpose string that clearly explains your app's need for location data access and provides a specific example of how users' data will be used. We look forward to reviewing your resubmitted app. Best regards, App Store Review |
I also checked 5.1.5, https://developer.apple.com/app-store/review/guidelines/#location and it says that we should "Use Location services in your app only when it is directly relevant to the features and services provided by the app. " and that "If your app uses location services, be sure to explain the purpose in your app;" Didn't you also say that you have noticed that other apps redirect to iOS settings to turn on the location settings? |
I am just waiting for #831 to be fixed before I submit my own update, so you could also wait and see what happens when I submit. My most recent accepted version was from Sept 1, so not that long ago. If my update is accepted, you might want to change the text to make the app purpose more clear. |
@asiripanich Since you have a pending data collection that you want to have the updated app for, you might want to work around this as well without waiting for me to finish the change and then finish the argument with Apple. You already have a workaround for the notifications. For the location services change, you know how to open your native version of the app (from Before submitting, open
Make sure to remove the last As you can see, this will then prompt for always permission, but on iOS13+, users have to select "when in use" first and then select "always" after some period of tracking, as they used to in #483 before the status screen changes. |
Thank you so much @shankari for suggesting these workarounds. I will submit an updated app today and let you know how it goes. |
@shankari i have a suggestion. I think we should show a warning message on the diary tab if the are any settings not configured correctly. Tapping on the message would show a pop up window that explain how to enable the permission with a shortcut to settings.
|
We already check the settings every hour and generate a notification if the settings are not configured correctly. Clicking on the notification automatically opens the NREL status page (from Profile -> App Status), which allows the users to see which settings are misconfigured and need to be fixed. This allows us to be proactive about telling users about the settings that need to be fixed instead of waiting for users to launch the app. In general, we expect that users are not necessarily launching the app multiple times a day. |
You wouldn't be able to notify the user if they don't allow notifications right? That is why I think showing them what settings are not correct when they open the app is the best way to inform them. |
Well, that's why I think that we need notifications 😄 wrt in-app UI, we already do have the app status screen (Profile -> App Status) for users to find out what is wrong with the app. If you would like to contribute functionality to make the app status more visible in other screens, that would be great. It is a bit tricky to get it right given that the diary is already fairly cluttered and complicated, and given that OpenPATH is configurable, the main screen is likely to be different for different instances. For example, we will likely make the dashboard be the launch screen for the open access instance, while the e-bike trip logger instances will want to stay with the label screen as primary. |
So ideally, you would make this a directive that we can |
And again, the direction that we are going in from the NREL side is towards more passive data collection with potentially some intermittent labels. So there is no guarantee that people will open the app every day, and in fact, in the programs we see that people typically label once a week. |
Update. Apple has approved the new version of my custom app that I modified using your recommendations here. |
FYI, the OpenPATH app was approved with the original status screen. I did not change the status screen for the new version, so I think that they let it go as already approved. I will keep this in mind during the update because it may come up later if they do a more comprehensive review, or for new apps using the platform. @asiripanich you might also want to see if you can change your app description to better match OpenPATH. |
@shankari yesterday I submitted a new release of my custom app of e-mission to Apple and got the response below about a violation of Guideline 4.5.4. Do you have the same problem at your end? How did you fix this?
Guideline 4.5.4 - Design - Apple Sites and Services
We noticed that your app requires push notifications in order to function.
Next Steps
Push notifications must be optional and must obtain the user's consent to be used within the app.
Resources
For information on working with push notifications, review User Notifications framework and Technical Note TN2265: Troubleshooting Push Notifications.
Please see attached screenshots for details.
The text was updated successfully, but these errors were encountered: