iOS Push Notifications Question - ios

I have never coded an App with Push Notifications, and I have a very general question. Does the publisher of the App have control to push out a notification whenever they want after the App is released on the App store? I mean, for example, if an App has push notifications enabled, is there some sort of dashboard somewhere where the App developer can instantaneously push out a notification to everyone that has downloaded the App? (Assuming they have push notifications enabled)

If your app supports Push Notifications, you have to provide your own server that communicates with Apple's push infrastructure. You can implement whatever sort of dashboard you want in your server. (In lieu of actually providing this yourself, you could also use a third-party provider such as Urban Airship.)
An overview of how your provider interacts with Apple's service is here: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html

Related

How to send Push notification to iOS WebApp (PWA)?

i have wordpress website and create own PWA based on wordpress.
now i want to use push notification on my web app!
how can send push notification to my ios users?
[resolved in android pwa]
Unfortunately, push notifications are not yet available on IOS.
Right now, Safari only supports push notification on Mac.
If you want push notifications on IOS, you have to develop native app.
There is a workaround,the Wise Notifications plugin
It takes 5 min to setup and the website visitors can subscribe with 2 taps maximum. It uses a notifications hub app to make it possible.
While not as easy to subscribe (if the visitors don't have the hub app already installed) as usual web push notifications, it is the only quick way to reach your iOS audience.
The alternative is for you to create a native/hybrid iOS applications, publish it to the AppStore, implement Apple Push Notifications in the app and server and send notifications via APNS (Apple Push Notification service). This requires a quite a lot of effort (time or money or both).
Currently, push notifications are supported (not yet) on IOS.
Safari only is the only browser in IOS, others use webview (based on Safari) with just a UI.

Receive push notifications from APNS to Titanium (iOS) App without using Appcelerator Cloudpush (ACS)?

I'm now responsible for a initial release of an app for iOS and Android. The developer that started the work has left the company and we are left with an incomplete Titanium application to finish.
Once this app is finished we do not plan to continue using Titanium.
We need to add push notifications to this app.
We have enabled Android push notifications using the standard GCM push servers using http://iamyellow.net/post/40100981563/gcm-appcelerator-titanium-module or https://marketplace.appcelerator.com/apps/5165#!overview
Does anyone know of a guide to use APNS that connects directly to the Apple servers and does not require sending the notification payload via ACS?
Thanks
The first step is to get the device token from apple to do this you have to register for Push notifications, you will find it in detail here
The process that follows is saving the token to your database and using it to send Push notifications, this blog explains it best.
Hope it helps.

Using a UIwebview app to get the UID from the device for apple push notifications

I have a web app which I need to send apple push notifications to. I was thinking if I set up a login screen specifically for the web view to point to, which included a request for the device UUID on post, for the purpose of apple push notifications. So can you ask the device for its UUID from a page being viewed in ui.webview?
There are a couple of things wrong with your question. Firstly apple deprecated the UDID, which was never used for push notifications anyway. You get a push token when you sign up for push notifications.
Secondly you can't send push notifications to a web app or a webpage running in an iOS app, you need to implement this in objective-c in an iOS app. There is no other way around it.
I suggest you read the apple docs / tutorials on this as there is a lot to learn. Heres the main overview: https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction.html

Apple push notification Vs. Parse

i have an app and i'm thinking about implementing push notifications in it. however, i want to use remote notifications. i've tried Parse's push notification service and it's great and works well. You can type any text you want to inform your users about and just press send in order to be delivered to all your App users. On the other hand, i don't know if Apple has any such service that can facilitate the process of sending remote notifications. so which is better to stick to, Apple or Parse? and can i have the same service as Parse from Apple?
Yes, you can get the same services as Parse. You have to build your own server that will talk with Apple APNS. Just for example sending a push notification from your own server without using parse is here.
I didn't understand what are you trying to ask.
You can use Apple push notification service for sending remote content. With Any content related to your App.
Check RemoteNotifications for details. Parse is also using the Apple's push notification service.
Edit: For implementing your own servers for push notification check this tutorial : Push Notification Services

How can a web application send push notifications to iOS devices? [closed]

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 4 years ago.
Improve this question
I'm working on a web app. How can I send push notifications to iOS users when there is new content?
To be more specific, in order for a web application to send push notifications to a mobile device, such as the iPhone, the mobile device must have registered to receive push notifications for a particular application. The registration for push notification is done through a native app and can only be performed through a native app. Once the native app is registered for push notification, it can send the authorization token to the server, which can be used in conjunction with the certificate used to provision the native client, to send the push notifications to the mobile device.
As specified in another answer, one option is to 'wrap' your web application in a native application. Meaning that you would create a native application that basically presents a UIWebView (for iPhone dev) to the user showing your web application. While this pretty much functions in the same manner as the native browser, you would be able to add the ability to register for push notifications using the native controls.
It would be beneficial to you to review the Apple's push notification document as it provides some pretty good information on how push messaging functions on the iPhone.
See these links provided by Peter Hosey:
https://support.apple.com/kb/HT201925
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html
While not yet supported on iOS (as of iOS 10), websites can send push notifications to Firefox and Chrome (Desktop/Android) with the Push API.
The Push API is used in conjunction with the older Web Notifications to display the message. The advantage is that the Push API allow the notification to be delivered even when the user is not surfing your website, because they are built upon Service Workers (scripts that are registered by the browser and can be executed in background at a later time even after your user has left your website).
The process of sending a notification involves the following:
a user visits your website (must be secured over HTTPS): you ask permission to display push notifications and you register a service worker (a script that will be executed when a push notification is received)
if the user has granted permission, you can read the device token (endpoint) which should be sent to the server and stored
now you can send notifications to the user: your server makes an HTTP POST request to the endpoint (which is an URL that contains the device token). The server which receives the request is owned by the browser manufacturer (e.g. Google, Mozilla): the browser is constantly connected to it and can read the incoming notifications.
when the user browser receives a notification executes the service worker, which is responsible for managing the event, retrieving the notification data from the server and displaying the notification to the user
The Push API is currently supported on desktop and Android by Chrome, Firefox and Opera.
You can also send push notifications to Apple / Safari desktop using APNs. The approach is similar, but with many complications (apple developer certificates, push packages, low-level TCP connection to APNs).
If you want to implement the push notifications by yourself start with these tutorials:
Push API: Push Notifications on the Open Web
Apple Push Notification system: Configuring Safari Push Notifications
If you are looking for a drop in solution I would suggest Pushpad, which is a service I have built.
Update (September 2017): Apple has started developing the service workers for WebKit (status). Since the service workers are a fundamental technology for web push, this is a big step forward.
No, only native iOS applications support push notifications.
UPDATE:
Mac OS X 10.9 & Safari 7 websites can now also send push notifications, but this still does not apply to iOS.
Read the Notification Programming Guide for Websites. Also check out WWDC 2013 Session 614.
You can use pushover if you don't want to create your own native app: https://pushover.net/
Google Chrome now supports the W3C standard for push notifications.
http://www.w3.org/TR/push-api/
ACTUALLY.. This is brand new mind you.. On the newest version of OS X (Mavericks) you CAN send push notifications from a webpage to the desktop. But according to the documentation, NOT iPhones:
Note: This document pertains to OS X only. Notifications for websites do not appear on iOS.
Currently Apple has plans to allow 2 kinds of push notifications:
OS X Website Push Notifications
and Local Notifications.
The obvious hurdle here is that this will not work on PCs, nor will it allow you to do android push notifications.
Furthermore, you actually can with versions as old as Snow Leapord, send push notifications from a website as long as said website is open and active. The new Mavericks OS will allow push notifications even if the site isnt opened, assuming you have already given permission to said site to send push notifications.
From the mouth of Apple:
In OS X v10.9 and later, you can dispatch OS X Website Push Notifications from your web server directly to OS X users by using the Apple Push Notification service (APNs). Not to be confused with local notifications, push notifications can reach your users regardless of whether your website or their web browser is open…
To integrate push notifications in your website, you first present an interface that allows the user to opt in to receive notifications. If the user consents, Safari contacts your website requesting its credentials in the form of a file called a push package. The push package also contains notification assets used throughout OS X and data used to communicate to a web service you configure. If the push package is valid, you receive a unique identifier for the user on the device known as a device token. The user receives the notification when you send the combination of this device token and your message, or payload, to APNs.
Upon receiving the notification, the user can click on it to open a webpage of your choosing in the user’s default browser.
Note: If you need a refresher on APNs, read the “Apple Push Notification Service” chapter in Local and Push Notification Programming Guide. Although the document is specific to iOS and OS X push notifications, paradigms of the push notification service still apply.
No, there is no way for an webapp to receive push notification. What you could do is to wrap your webapp into a native app which has push notifications.
The W3C started in 2010 a working group to implement notifications:
http://www.w3.org/2010/web-notifications/
This Working Group develops APIs that expose those mechanisms to Web Applications—so that Web developers creating, for example, Web-based e-mail clients and instant-messaging clients can more closely integrate their Web application behavior with the notification features of the operating systems of their end users.
Finally the result is like a bad joke as it works only if the specific website is open:
http://alxgbsn.co.uk/notify.js/
I think they missed to implement the possibility to add push urls so the browser is able to ask for notifications while its running in the background - and above all - if all tabs have been closed.
You can use HTML5 Websockets to introduce your own push messages. From Wikipedia:
"For the client side, WebSocket was to be implemented in Firefox 4,
Google Chrome 4, Opera 11, and Safari 5, as well as the mobile version
of Safari in iOS 4.2. Also the BlackBerry Browser in OS7 supports
WebSockets."
To do this, you need your own provider server to push the messages to the clients. If you want to use APN (Apple Push Notification) or C2DM (Cloud to Device Message), you must have a native application which must be downloaded through the online store.
Pushbullet is a great alternative for this.
However the user needs to have a Pushbullet account and the app installed (iOS, Android) or plugin installed (Chrome, Opera, Firefox and Windows).
You can use the API by creating a Pushbullet app, and connect your application's user to the Pushbullet user using oAuth2.
Using a library would make it much easier, for PHP I could recommend ivkos/Pushbullet-for-PHP.
Check out Xtify Web Push notifications. http://getreactor.xtify.com/ This tool allows you to push content onto a webpage and target visitors as well as trigger messages based on browser DOM events. It's designed specifically with mobile in mind.

Resources