Mobile Safari Push Notifications - mobile

A few months back I saw that Safari 7 was allowing push notification and it seemed like a very useful tool except every example of it that i've seen is focused on desktop browsing, not mobile.
Do the Safari push notifications work on mobile and if not is there plans to release this to Safari mobile in the near future?

I guess it is just for OS X, at least for now. I received a mail from Apple broadcasting this: https://developer.apple.com/notifications/safari-push-notifications/.
I am also waiting for web-based push notification on iOS. But it seems Apple is pursuing a native-first strategy on iOS platform, giving native apps much more privilege than mobile web.

[Updated] Web Push Notifications depend on "Service Workers" which are "Supported" in WebKit (Mobile Safari), but the state of Push Notifications is unclear. – Kudos to Chris Talman for the update
https://webkit.org/status/#specification-service-workers
https://w3c.github.io/ServiceWorker/

Since this was 2 years ago, I no longer think this is of service, but Apple has no plan to expand to mobile nor has any plan for push notifications on mobile. I have been on the Apple developer site and have found that there is no way for push notifications on IOS. However, Users using Google Chrome can use push notifications on Android using the Push API (https://developers.google.com/web/updates/2015/03/push-notifications-on-the-open-web?hl=en)

Looks like Safari 16 in macOS 13 will support the Notifications API. Details are vague / possibly protected under non-disclosure agreement during the macOS beta.
Source: https://developer.apple.com/documentation/usernotifications/sending_web_push_notifications_in_safari_and_other_browsers
The Safari 16 release notes doesn't make particular mention to iOS/iPadOS 16 & Mobile Safari, however.
Web API
New Features
Added Web Push Notifications support on macOS.
Source: https://developer.apple.com/documentation/safari-release-notes/safari-16-release-notes

Right now there's no way to send push notifications to mobile Safari nor any plan to add it in the future.
However the latest versions of Chrome on Android started to support the push notifications through the Push API, so Apple might want to add push support to iOS to avoid being outdated by Android.

Related

can i use ionic push native without FCM?

so i have a web app and a mobile app, the web app works fine with signalR and SQL, and i'm trying to create an ionic mobile app using the same backend from the web app, so i am a little limited to using signalR as well.
in the web app, i have certain triggers set up to fire popup notifications when certain events occur, and it works great with signalR in the webapp.
the problem is : due to some restrictions i have to use ionic,and i've been searching for 3 days on a way to implement push notifications without having to resort to FCM but i haven't reached anything.
is there a way to do this with ionic 3? to implement push notifications with signalR instead of FCM?
I'm not sure I completely understand your question, but let me see if I can start a dialog.
Ultimately, for push notification, you have to contact both APNS (Apple push notification server) and GCM (Google Cloud Messaging) to enact push notifications on both ios and android phones. So, that means that you can contact the servers directly from your app. (kind of a pain for ios, not so much for android) or you can use a middle man such as:
FCM
Onesignal: https://onesignal.com/
Amazon Simple Notification Service: https://aws.amazon.com/sns/
or a bunch of others: http://www.businessofapps.com/guide/push-notifications/
I'm not familiar with signalR per se... but I'm very familiar with push notification. You can do everything you need with http api calls from signalR, but the certification requirements for the GCM and APNS servers are difficult to keep up on the app itself. (hence so many businesses that will do it for you.)
Although, I guess one thing I'm a little confused about exactly who you are pushing to... a web service? a phone? (I'm assuming a phone since you mentioned FCM)
Edit after first comment:
So, the answer (as I understand your question) is that you cannot go from signalR to a mobile device directly without using something like FCM (which I recommend) or Onesignal.
For Why... Let's start with a diagram:
You'll notice the bidirectional flow from the cloud marked APNS, GCM and FCM between the device. That means that only way to get to the phone via push notification is via APNS, and FCM, which you'll have to do through a push notification service.... such as FCM
Before any confusion sets in, let me point out some important point:
1. FCM and GCM are pretty much synonymous. FCM is the updated version of GCM that added some functionality. more info here
FCM is both a push notification service and the messaging service. That is to say that FCM provides both the services of the gray box and the gray cloud below. As far as I know, there is nothing similar in the ios world that does both. FCM allows you to pass along messages to both android and ios phones (via FCM and APNS)
So, you don't HAVE to go through FCM to do push notifications, but even if you picked OneSignal, they will still communicate with FCM to actually send out the push notification to the phones themselves.
You're doing the right thing by starting in the android world. Push notification is significantly easier there than in ios. (The difficulty lies in the certification process which is easy after you get to know it... but it was tough for me to understand at first)
In short, this is what I would recommend:
1. use ionic native push to communicate with FCM as a push notification service (the gray box)
2. setup FCM so that it can communicate with the APNS servers as well when the time comes.
for ionic native, I'd use their github site for documentation (I'm sure you've already been there) https://github.com/phonegap/phonegap-plugin-push
For setting up FCM, I'd recommend the documentation at the firebase website: https://firebase.google.com/docs/cloud-messaging/
Note: When using firebase products in ionic... choose "web" for all documentations. For example, despite the fact that you're planning on using ios and android phones, you'd pick "get started for web" at this link:
https://firebase.google.com/docs/

App update Notifications in Codename One

I developed an app using codename one,and in that app i need to show notifications to user regarding the app update if update is available in playstore.LocationManger is working on mobiles with version 5 and above,but its not working on tablets.How to work with notifications in android/ios tablets with version using codename one.
First, you have to differenciate local notification (which is launched when app is running or in background) and push notification (which use Google or Apple server).
I suggest you to use a webservice and push notification. For example, when your app launch, request the webservice to send the app version and know the current version on stores. Here, you can deduce if the app can be updated and you can send push notification to alert that an update is avalaible.
Codename One provides an easy-to-use API for push notification.
However, Google Play and ITunes usually alert user that updates are avalaible.

Cross Platform Mobile Push Notifications

I know this isn't directly programming related, but couldn't find another StackExchange site to post this on. I'm using a minimally customizable template to create a few dozen mobile apps (under one publisher) using PhoneGap, and need to push notification messages to all users across the following platforms:
Android
iOS
Windows Phone
Blackberry OS 7+
We have a custom backend powered by ASP.NET MVC that needs to send notifications to mobile app users based on various events that are raised - such as when a certain date is reached send a certain message, or for announcements, as well as to send notifications about special offers.
I'm unsure if a full-blown push notification service like PushWhoosh or PubNub subscriptions are worth investing in or if we should rather opt for each platform's own service such as Apple's APNS and Android's GCM (not too sure what Blackberry services are available for push messaging to BB OS 7+).
I would really appreciate if someone could shed a little light on this matter and will tremendously help my decision making process.
Many thanks!
After finding a similar thread here on SO (Custom Apple Push Notification Server vs Urban Airship and likings), I've decided that it would be best to instead leverage each platform's native push service:
Apple Push Notification Service (APNS): here
Google Cloud Messaging (GCM): here
Microsoft Push Notification Service (MPNS): here and here
BlackBerry Push Access Protocol (PAP): here and here
Alternatively, use the open source PushSharp Library.
Hope this helps someone!
I'd suggest you try out those at QuickBlox (it's free of charge).
Here's the guide for iOS: http://quickblox.com/developers/SimpleSample-messages_users-ios
And the Android one: http://quickblox.com/developers/SimpleSample-messages_users-android
Not sure about Windows Phone and Blackberry though.
IBM MobileFirst supports
APNS / Push notifications in native iOS applications
GCM / Push notifications in native Android applications
MPNS / Push notifications in native Windows Phone applications
Push notifications in hybrid applications

SignalR and Mobile Devices

Does SignalR work on mobile devices ?
I've only found this Does SignalR work on Mobile
However there's no real answer there - one of the replys refers to web-socket support however SignalR is supposed to revert to long polling if web-sockets aren't supported.
Has any one used this in a real cross platform application ?
We have built an application which runs on:
Win 7
Google Chrome
FireFox
Safari
IE6/7/8/9/10
Win 8
Google Chrome
FireFox
Safari
IE10
OSX
FireFox
Google Chrome
Safari
iOS5 (IPhone 4, IPad 2)
Safari
iOS6 (IPhone 4/5, IPad 2, new IPad)
Safari
Android Froyo - Android current
default browser
Windows Phone 7
default browser
SignalR works on all very well and will use the best transport for that device/OS/browser. The only problems I have seen are when using Opera browser.
If you have any issues with building a cross platform/browser app let me know as I have seen all sorts of crazy bugs!
While the support on the browsers is good, the support for the mobile platforms is not up to date. Microsoft is not focusing in keeping the android client api up to date (anti Android and iOS?). The documentation is very poor as well. With the help of a couple of non Microsoft resources, I could get it done with some effort.

Is there a way to spoof a desktop browser response to a css media query?

Maybe a browser plugin? Just looking for a dirty, quick way to test some mobile web development.
Here's 3 tools I found pretty helpful for testing media queries for mobile devices within my desktop browser:
Adobe Shadow: You'll have to download the app on your mobile device, and then link the device to Chrome and once you've done so you can inspect your webpages on chrome as they would appear on your mobile device.
Remote Debugging with Chrome for Android: Similar to Adobe Shadow, but I found this to be a lot more reliable when dealing with network requests on mobile devices - you will need a android device with Ice Cream Sandwich however.
Changing User Agent on Safari to debug different browsers straight from your desktop Safari: If you have Safari, it allows you to change the useragent string from the developer tools. Pretty useful if you want to spoof browsers. - Didn't really find this useful for media queries though.
Go into Safari settings, there is one that reads "Request Desktop Website." Check it, then browse to facebook.com Now you can message within browser. No app needed.

Resources