Content push for Newsstand in iOS 7.1 to change magazine cover suddenly not working in existing Newsstand App - push

We noticed that the silent content push messages that we are sending to update the magazine cover of our Newsstand App suddenly stopped working specifically in iOS 7.1.
I just did some testing sending the content push to the following devices:
iOS-5.1.1 -> push received -> magazine cover updated -> OK
iOS-7.0.6 -> push received -> magazine cover updated -> OK
iOS-7.1 -> push never received -> NOK
However, if I send a push alert message to these devices, all alert messages are correctly received and shown, so I am sure that I am using the correct device tokens.
And this issue is on an existing App live in the App store, never having this issue before and it seems to be specific to iOS 7.1.
This is the content push message we are sending:
$payload = '{
"aps" :
{
"content-available" : 1,
}
}';
Anybody else having the same problems specific in iOS 7.1?
Thx!

I am having that issue also on 7.1 in development. If connected to XCODE we see the method application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler invoked... ONCE we disconnect from Xcode... that method does NOT get called based on reviewing the console.
EDIT :: Today during testing against the sandbox environment with a iPhone on iOS7 7.1 (11D167) the content-available starting working ?? We are getting calls into didReceiveRemoteNotification fetchCompletionHandler: NOW, even when phone is NOT connected to XCode or anything. Even if the Phone is Locked and Application is in the background... which is what we needed and very important.
Really odd... but we did find that the Manual Do Not Disturb was ON.. on this test phone.. not sure how that got on and if that was issue. Make sure that is NOT ON.. otherwise you will not get any remoteNotification calls into your application. We may have gotten off track with the other postings that content-available was broken on ios7.1.
If anyone knows anything else about this, please share.

From https://support.magplus.com/entries/84992596-About-Lower-Issue-Download-Counts-Since-iOS-7:
About Lower Issue Download Counts Since iOS 7
With the release of iOS 7, Apple changed the way Newsstand Push Notifications work, and it is a significant departure from how Newsstand Push Notifications were delivered with iOS 5 and iOS 6. With iOS 7, Apple attempted to change the way these notifications worked, primarily optimizing the mechanism for apps that receive e-mail and Twitter updates and notifications multiple times within a 24-hour period. Part of the problem with iOS 7 is that it is not clearly differentiating Newsstand Push Notifications (which initiate a background download of content) from standard Push Notifications (which just deliver text).
A key change in iOS 7 is that if an app is killed manually by the end user, then the app simply does not receive Newsstand Push Notifications to automatically download new content in the background. Users manually kill an app by bringing up a screen of currently running apps and swiping one up to force it to quit. Apple views this scenario as one where the end user has made a conscious decision that they do not want the app running/performing background operations which consume battery life.
The two unique features of Newsstand Apps as promoted by Apple self in 2011, 2012 and 2013 (in WWDC video's about newsstand) were:
A - background download of new Magazines and
B - changing the cover when a new Magazine is available and showing a badge.
Unfortunately, in the real world situation, since iOS 7, Apple has killed both these features. Content push messages needed for these two features don't work if the user has killed the Newsstand App. Which in real world situation will almost always be the case.
Suppose you have a Magazine that appears monthly. How big is te chance that the user will have your Newsstand App running all the time in the background? I think almost none...
Before iOS 7, this user could be notified via a content push message resulting in a badge and a new cover visible in the Newsstand.
Since iOS7, these features are gone in real world situations.
Result: much lower magazine views and downloads.
Thanks Apple!

Related

How to create proper notifications on iOS (FCM doesn't seem to be the way)?

According to FCM official documentation:
On iOS, if the user swipes away the application from app Switcher, it
must be manually reopened again for background messages to start
working again
See:
https://firebase.flutter.dev/docs/messaging/usage/
However, any app with notifications that I can think of (Whatsapp, Facebook messenger, Tinder etc) will still notify the user if there's a new message, even if the app was swiped away. A different behavior will be a very bad UX (as a sidenote, background messages don't work on FCM ->APN -> client if the physical iPhone was restarted, see https://github.com/FirebaseExtended/flutterfire/issues/7785)
So FCM isn't the right way for iOS. I thought that APN might be the right way, but to my surprise, all of the APN packages seem to be dead (for example see https://pub.dev/packages/flutter_apns - was last pushed 6 months ago and authors stopped responding to issues).
Flutter is a popular framework which exists for years now, so there must be a way to implement notifications properly. What is that way?

Does iPhone combine Push notification?

I observed in iPhone that,When an app receive too frequent notification and that app is in background,iPhone does not show banner for all notification,instead it shows banner with message " You have 6 new Connect notification." ( 6 is the push notification count and connect is the name of app.).Is this behaviour documented anywhere?
As for your question of where it is stored, it is probably stored in the cache of the phone (which is cleared every so often) so you're not being monitored and watched as far as I know of. If you wish to turn off these notifications you can do so in the settings. Hope I answered your question!

using ios 5 newsstand limitations

I have an app that needs to fetch background media from the server even when the app is closed.
I know that ios 5 newsstand does this for once a day.
but i also know that this feature is intended for magazines and not any app.
so what is the limitation of integrating it in my app? will it simply get rejected ? is there a format for the app to be a newsstand?
They're very strict on the requirement that the app's content be a newspaper or magazine.
That is, issue-based, mainly written content. Don't waste your time if your app is none of these.
Newsstand applications can receive Push Notifications with a special payload ("content-available":1) that causes the app to launch in the background so that it can check for content to download. This notification can only be sent once a day (the rest of the time it is ignored).
In order to receive this notification, your app must have a UIBackgroundModes that includes newsstand-content. Apple has suggested that non-newsstand apps with this background mode will be rejected, but I have not seen any evidence one way or another.
According to the App Store Review Guidelines,
Apps that are offered in Newsstand must comply with schedules 1, 2 and
3 of the Developer Program License Agreement or they will be rejected.
The License Agreement requires that
[You] confirm that the content of the Licensed Application is a
periodical (e.g., newspaper or magazine)
You acknowledge and agree
that Apple reserves the right to recategorize or reject your Licensed
Application if it is not appropriate for Newsstand.
(I'm in the same boat - would love to use the NK features to manage downloads, spent half a day reading about it, then found out about this limitation.)

Sending notifications from Mac to iPhone/ iPad/ iPod touch

I currently sell a Mac-only productivity tool that uses visual and audio notifications to remind the user of certain events taking place.
I've started planning the iPhone and iPad versions of that Mac program and would like to be able to provide notification services from the Mac to the iPhone, e.g. instead of the Mac playing an audio cue, the iPhone could vibrate, etc.
I have so far done very little iPhone development and I'm not really sure how the various push notification services work. Is this easy enough to do? or is a "challenge".
A few more potentially relevant pieces of information:
there will be a Dropbox-based sync between the iPhone and the Mac versions, so there is also the possibility of "sharing" a file that would prompt some action
it might be acceptable as a first step to not have "background" notifications and require that the iPhone client is running
What authentication issues should I expect to deal with?
You'll need to implement APNs (Apple Push Notification Service) in both your app and your server.
To clarify a few things:
You'll need a server doing those transferring messages job between the user's Mac/PC and their iDevices.
Your server will decide when to push what kind of notification to which user's device.
After that, your server sends a message to Apple's APNs server, which will push that message on your behalf.
It's absolutely OK that your app can be in the background or even closed when the APNs message arrives at the user's device. The user will be guided by the OS to open your app.
If the user has explicitly disabled your app's APNs function in her/his device, or, if the user cancels the APNs alert when it arrives, your app won't be launched if it originally stays in the background or if it hasn't been open yet.
The user will be asked to enable (as you put it, authenticate) your app's APNs function by the OS in her or his device when your app is launched for the first time.
It's not a challenging task for an experienced iOS developer or an experienced PHP developer, since Apple's documents and APIs are pretty straightforward. However, configuration on the server side can be a little tricky.
I believe Stack Overflow already has tons of information on how to enable APNs in iOS apps. All you need to do is be specific in your question and do the search work beforehand.
Hope that helps.

Timer based reminder in iPhone app

My app asks the user to fill in and save a form locally. I want him to be reminded 48 hrs after the app has been closed that he has a pending form.
Is push notification the only way out? Does it cost money to use a provisioning service?
iPhone OS 4 adds timer-based alerting for apps that aren't running. See here for a brief description. I'm guessing this means that push notifications are your only option prior to version 4.