How to setup a serverless webhook for a macOS / iOS app? - swift

For background, we have a standalone macOS / iOS app. These apps connect to Google Calendar to retrieve a user's calendar events. Google Calendar supports notifying clients (i.e. our app) of any changes that may occur remotely to an event via a webhook. We don't have a backend / cloud server.
Is there a service that allows one to setup a serverless webhook which also supports Push notifications (or direct network streaming) so that our app can be notified on-demand when there's a change? I wish to achieve this:
Our app connects to Google Calendar
Google Calendar notifies us of changes via the webhook (a serverless webhook)
The serverless webhook notifies our app - i.e. the user's installed copy - (via Push / network connection that we opened at launch), passing on the notification as the payload, including headers etc.

Related

How to run background service listen to realtime database flutter

I need to run background service to listen to firebase realtime database and trigger local notifications on change in flutter app
Native mobile platform such as iOS and Android, actively work against such background listeners as they drain the battery in a way that the OS can't control (on behalf of the user). So while you may be able to start listening in a background process, the OS will kill the socket connection used for that listener quickly (in 5m on recent Android versions).
The proper way to notify the user of activity in the database while they're not actively using the app is to set a listener in an always-on environment, and then use Firebase Cloud Messaging and/or APNS to send a notification to the affected user(s).
If you don't have a server you control yet, you can use Cloud Functions through Firebase to get started. For an example of this, see the notifying the user when something interesting happens use-case in the Firebase docs and the code sample linked from there.
The function triggers on writes to the Realtime Database path where followers are stored.
The function composes a message to send via FCM.
FCM sends the notification message to the user's device.

Make a listener to know when exciting item is being updated in dynamodb

I have a DynamoDb table with about configuration details of my ios app.
In my app I retrieve all data in configuration table only when user launch app and store that data in my app for use it for necessary times.
Admin can changed configuration table manually.
I want to create listener. The listener's purpose is to detect when a table item is being updated and change the data which are my app is stored in user's launching time.
Enable Dynamo streams on your table, then create a Lambda to process the stream.
The Lambda could place a notification on an SNS topic for your application. SNS will use
Amazon Device Messaging (ADM)
Apple Push Notification Service (APNS) for both iOS and Mac OS X
Baidu Cloud Push (Baidu)
Firebase Cloud Messaging (FCM)
Microsoft Push Notification Service for Windows Phone (MPNS)
Windows Push Notification Services (WNS)
To push the notification to your users device.

Ionic 2 Cloud services

I've built an ionic app that uses Ionic Cloud services to subscribe to FCM Push notifications. Currently, I receive the notifications whenever it's sent.
It requires 'CloudSettings' const to be configured in the app-module.ts, where the Push configurations like sender-id, android and ios specific configuration including GCM topics could be provided.
Now, I want to subscribe to additional topics based on the user selection. How to subscribe to different topics (dynamically) with Ionic 2 Cloud Services?
As 'CloudSettings' is a constant and imported in the app module, it could not be overridden. Is there any way to override the configuration?
I tried to reset the value for push.PushOptions before registering to, but it's not working. Any solution to this would be appreciated.
You can use something like azure notificaton hubs. They allow multiple tagging and registration for single devices.
Create a backend app to manage sending and subscriptions and register via this instead of the ionic backend.
There are lots of tutorials to support this, but ultimately once the push registration was completed and the FCM token returned,I manually registered this via my .NET backend where I can control the tags and allow them to be easily updated depending on user preferences. The backend app can then be used to broadcast notifications depending on the tags you want to receive them

Online Push Notification Services

I have developed an app and it is published sucessfully on iOS and Android. I have integrated push using the App42 Push Notification API which works great, but is quite expensive. I am storing the device tokens on my peronal MySQL-database which is hosted on my webpage. I am wondering if there are any other Push Notification Services that supports sending of push notifications using PHP/HTML using device tokens and API keys?
I have researched following:
Parse
OneSignal
PushWoosh
PushWizard
Pushover
None of them seems to support sending of push notifications using PHP or HTML.
Nearly all of them support sending push notifications via a RESTful interface/web-service which needs to be consumed by your PHP.
Parse: https://parse.com/docs/rest/guide/#push-notifications
OneSignal: https://documentation.onesignal.com/reference#create-notification
I am sure few of the others also support sending push notifications via an API.

Implementing Apple Push Notification without an access to a source server

I'd like to implement some push notifications from Twitter in my app. I can connect to Twitter's stream of user-related events using Sreaming API. Do I need some 'middleman' server between Twitter API and an iPhone app in order to push a notification to an app ? Maybe I can do it using Parse.com Cloud Code or something similar ?
This question may be helpful not only in the case of the Twitter API but also in case of any server that a developer don't have any access to.
To push a notification you would generally need a server of your own which has been configured to send a notification when some event occurs. If you are using Parse as a backend for your app, you can leverage their backend to allow you to implement Push Notifications or use a service like UrbanAirship
In the case of the Twitter API, you will need to implement some middleman in either case to get the data from Twitter for your user and parse it to see whether some event has occurred and then send off a notification either using your own custom logic directly to Apple's servers or using Parse or UrbanAirship (or some other service)