Naturally this is programmatically possible (using enabledRemoteNotificationTypes). This is a policy question.
Can I require that a user has push notifications enabled to be allowed to use an app, or will this behaviour cause the app to be rejected by Apple?
The App Store Review Guidelines includes a section on push notifications (ยง 5), but does not cover this.
Sometimes I might not want any notification from any application because I am busy. Therefore I turn Notifications on or off as I choose. All you can do is display an UIAlertView reminding the user that push notification is disable when they enter your app.
Submit and see what happens. First, try it with the app closing itself if the user has push notifications turned off, showing them an alert letting them know why the app won't run and how to fix it (and a button that will take them to the right part of Settings if that's possible). If Apple rejects it, then just take out the app quiting code and let them continue by dismissing the nag screen.
Like you say, there's nothing explicitly forbidding it in the guidelines that you can find, so the only way to get an answer is to submit code and see what happens, since you generally can't get a straight answer out of Apple regarding these issues until you have something specific and real for them to consider.
Related
Is there a way to store app notifications in a flutter app. Most of the time this app will be closed and the app notifications will not directly be hitting the app. I would like to store app notifications in a notifications received section. I know I can get the notifications if the app is opened, but for if the app is closed and it just shows as a status, I can't get them in the device unless the user clicks on the notification message. and it opens the app. What options do I have and is what I am wanting to do even possible?
First interpretation of your question: If I read your question correctly, you're saying its not possible to have text in your notifications when the app is not open. This is definitely possible, almost all your apps create notifications on the device with more than just 'status'.
Another interpretation of your question: In response to a firebase cloud messaging message, you might want to save data or do some other background task, instead of just creating a notification the user sees. This is not enabled by default. There's lots more instructions on enabling and using this in the README
By default background messaging is not enabled. To handle messages in the background:
The golden nugget of information is _firebaseMessaging.configure(onBackgroundMessage: yourBackgroundMessageHandler) which is not listed under the receiving messages section.
Let me know if I misread. What do you mean by status?
You can use background Fetch to make the app stay in the background. The package will awaken an app in the background about every 15 minutes.
If I submit a newstand app that does not use push notifications, but instead queries my server for new content each time the user launches the app will apple reject my app?
I.e. Do users expect push on all newsstand apps?
Thanks
No, Apple's guidelines do not mandate the use of push notifications, and your app should not be rejected for not using them. However it may provide a better experience for your users if you implement push notifications. Otherwise the only way for a user to know that updates are available is to manually run your app and check.
Note that the official review guidelines for a Newsstand app are exactly the same as the review guidelines for any other app.
Aroth has answered the question correctly but I want to add few important points to keep in mind for Newsstand apps based on my personal experience.
Apple will reject any Newsstand app without subscription in it.
In case all your content is free still you have to create a Free
subscription.
The content must be a magazine/newspaper/newsletter.No catalog etc
in Newsstand.
The new content must come with frequency of at most a quater.
To answer this question
Do users expect push on all newsstand apps?
YES they will, because it is one of the most important functionality of NS apps and is assumed by default. Every single NS app in App Store has it.
While the technical answer is "no", there is a very good point to implement push notifications. The end user is expecting to see fresh content "magically appearing" in the newsstand applications without actual interaction. For this feature to work, you need to implement background downloading on new issues, data, whatever, which is possible when you have an APNS server informing (and waking up) your application on new content.
I can confirm that a newsstand app with a method for in app purchase of a Free subscription but without automatic content pushing will not be rejected.
Apple just approved an app I've been working on that only has a Dummy "functionality" for subscribing to Free subscription.
User touches "Subscribe now for free", goes through in app purchase and that's it - nothing changes.
Sole purpose of that button is to get the app approved.
Btw. I've implemented that button only 'cause of this thread.
Thanks!
Hello I was wondering if there are any methods that would allow me to interact with the iphone users. What I mean is like UIALERTVIEW of some sorts that will popup and update them with a status. But I don't want to have a fixed status, but one I can change anytime I want, like say if there is a day off, I want to provide a status over the air and when the user opens the app it will show the new message.
Is this even possible?
If there are any other alternatives please list them
The easiest solution would be that your app is contacting your website and downloads any message it should show on startup.
You can use Push Notifications to send users important updates automatically.
What you are looking for are called Push Notifications. They can put small numbers on your app's icon like the email app when you have new emails, or even show you popups when you need it. Start here: https://developer.apple.com/appstore/push-notifications/index.html
you can use Push notifications .. or build your own notification system by design a function fired when your application launching to contact your website and check if there any new notification .. then you present a pop , view whatever to show the notification.
I'm currently working on an iPhone app that requires the user to accept a terms of use/disclaimer. If the user does not accept the disclaimer, I would like the app to close.
It is my understanding that exit(0); is frowned upon (as discussed at Proper way to exit iPhone application?) and the Human Interface Guidelines state that the only time an application should close is via user intervention.
What is the best practice for stopping the functionality of my app if the user presses a 'Reject' button for the disclaimer?
Should exit(0); be called, or is there a more graceful way to close the app? I'm not necessarily worried about removing the app from memory -- I'm just wanting the app to kick the user back to the home screen.
Does the user pressing a 'Reject' button constitute user intervention, consistent with the Human Interface Guidelines?
The correct way to handle this would be to write your terms into the EULA that goes along with your application. The gatekeeper then becomes the App Store, and this problem goes away. You can then assume that anyone running your app has agreed to the terms.
Apple provides a standard EULA, but your laywers can supply you with a custom one. Apple just has a few requirements that that custom EULA's terms must meet.
In my opinion, the best thing to do after user taps "reject" is to give him a sorry message without any button to proceed. In other words, the user will have nothing to do without pressing the home button. It's better than exit(0) as that looks like a crash.
In my case I had a message at the beginning of my app stating that some amount of data should be downloaded before continuing, with two buttons to "Continue" or "Exit" the app. The "Exit" button didn't really exit but just bring to front the Safari browser to show our home page.
And this app got rejected by the App Store reviewers just because of that Exit button. The funny thing is they rejected the app when submitting my second update to the original version! (the two previous versions had been approved just fine and had that very same "Exit" button).
Anyway, it seems it's important not to exit your app in any way.
Your app will almost certainly be rejected if you force it to quit programatically. You should simply present a pop-up informing the user they cannot use the app unless they accept the disclaimer, and ask them to press the Home button to exit. Basically, don't kick the user out of the app at any point. Let them decide when to leave.
Does anyone know if you can send a user to an app's update in the appstore?
We want to do this from within the app and/or when getting a Push Notification.
Thanks!
Yes, it is possible as long as you have the URL that links to your app.
I'm not 100% sure, but I seem to remember seeing something in the apple rules that means you may not be able to send a push notification advertising new apps. But an update may be ok.
Remember as well that a user may have already updated the app because they had the badge on the AppStore icon and then you push a notification out to all users. Could be annoying.