DCS - User specifc push notifications - icalendar

I am trying to get user specific push notifications working.
I followed thread : https://lists.macosforge.org/pipermail/calendarserver-users/2010-August/001649.html
However, I do not understand how does user specific notifications get pushed. Thread above does not discuss any user specific configuration.
Please provide some details.
Updated:
What I am trying to accomplish is "For iOS users, push notifications for any changes for that user on server side"
User specific : "Push notifications for a user....means user1 receives new email on server...push notify user1....."
I tried following thread above along with http://svn.calendarserver.org/repository/calendarserver/CalendarServer/trunk/doc/Extensions/caldav-pubsubdiscovery.txt
But I could put everything together.
I was hoping for some documentaion or blog describing the process to accomplish push notifications.
Maybe its my lack of understanding of the push notifications with DCS that I can not ask the right question.
If I am still not clear...please leave a comment and I will delete the question.

Related

Notifications in background

I work on application in swift3, my application receive data from web server, I need my application push notification when new item added in server side, Even when my application is closed, without consuming mobile resource or periodically update, How can I do that?
Push notifications does not consume resources, your app must not be open to make it work, so it looks like the solution to your problem is just to implement them on your server and app.
Please note that the user will be prompt to accept or decline the use of push notifications, and based on his answer he will receive or not your messages.
To know how to implement push notifications this tutorial might help you.
https://www.raywenderlich.com/123862/push-notifications-tutorial
This is the official apple documentation about push notifications:
https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html#//apple_ref/doc/uid/TP40008194-CH8-SW1
The official apple documentation explains how to implement the communication between your server and APNs.
Hope it is enough for you to get started with that. :)

What Kind of Service Do I Need to Use for Sending User-to-User Push Notifications on iOS

I need a little help with understanding what to look for when selecting a service to use for allowing my application's users to create accounts and send push notifications to each other. I do not have any backend service experience, except for with Parse, and I don't understand some of the functionality requirements.
I want users to be able to register an account and add other users. Then, I would like the users to be able to select specific users from their "friends" list in order to send a push notification to each selected user for a meeting. However, I honestly don't even know where to start.
It seems that many of the services that I have looked at are set up for sending targeted push notifications to groups of users from a dashboard (seemingly for marketing and other purposes).
I am completely new to servers and backends, except for a little activity with Parse, so can anyone recommend a direction for me to take for integrating such functionality in an iOS application that I am working on?
You can use mbaas providers like built.io backend, It provides push notification functionality on object creation event, and a set of ACL can be specified on these objects. This will act as a filter criteria as to who are the allowed to receive this push notification.
You can refer to their docs here https://docs.built.io

How to get specific github notifications like pull requests or assigned issues?

Github provides notifications via mail or web, based on watched repos. But is there a way to get more in detail? Like only watch a specific pull requet or assigned issue? I feel like i get spammed from comments on other pull requests that have nothing to do with me.
Update Nov. 2020: you now have "Custom notification controls"
This week we are giving you more control over the types of content that you are notified about on GitHub:
Watching a repository can often be a double-edged sword.
You want to stay up to date with a project, but if you have a specific interest or role within the community, you have no choice but to subscribe to updates on everything.
No more.
Beneath the watch button, you’ll find that we have made a few changes: we’ve made the language clearer so you know what you’ll receive updates about, we’ve made the interface more accessible and, we’ve introduced a new custom category.
Within this, you can select the types of content you would like to be notified about.
Do you focus on code review? Limit your notifications to pull requests.
Are you a community manager? Select Discussions.
As new types of notifications are added, you’ll find them in this menu.
You’ll find these controls on all repository pages and on your watching page where you can customize notifications for repositories you already watch.
Update May 2019: you now have "Custom thread subscriptions"
You can now limit the types of notifications you receive for any issue and pull request to be specific to merge, reopened and/or closed events.
That should allow to further control the amount of emails received.
Update July 2017: you now can declare in the GitHub repo a code owner.
Any pull request touching a file managed by said code owner will trigger a notification to that person.
See "Repo owner automatic notification after updating a pull request"
2015: Yes, for instance, for a specific issue on a project (issue 2595), you can register by clicking the "Subscribe" button at the right side of the page (since 2015).
Once clicked, it will appear as "Unsubscribe" (for you to click if you don't want any more notifications)
So you don't have to watch the all repo, you can subscribe only to specific issues.
Not sure if this has changed, but now there's a subscribe button in the top right corner:
https://help.github.com/articles/subscribing-to-conversations/
first disclaimer, Im part of the team at zigi.ai
Instead of getting notifications for every activity on Git via email or web, Zigi integrates with your Github to learn your pull request activity,
Filters the information and sends you actionable notifications on your pull requests activity (from all repos) that is relevant to your work directly from Slack.
Once a PR is created in GitHub, Zigi manages the entire workflow:
Gathers all the communications related to a PR- that's relevant to
you
Tells me which PRs are waiting for my review from all repos
Shows which of my PRs are waiting for a teammate's review and for how
long
Makes it easy to ping teammates to remind them (without feeling
awkward about bothering them)
Lets me add reviewers
Tells me when a PR is stuck or open for a long time
Helps me make sure the code owner approved
See here an example of a Slack message with filtered notification for pull request

How to check if a person in your iPhone contact list has an app installed?

I want to allow people to privately share data with each other using their contacts list to select people to share with. I'm planning on using Push Notifications to notify others that they have been shared with, but how can I handle those that do not have the app installed?
The cases are that I have their phone # and/or email. I can simply send them a message saying "X wants to share Y with you", but how can I determine if I need to send a Push Notification or an email/text?
If you're looking for API then you're out of luck. You can always collect this personal data server-side with agreement of your users. There you can also manage groups and other community relations.
Check here:
https://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/ApplePushService/ApplePushService.html
The crux of it though will be that you will need to store a token when the device is registered anyway to be able to send notifications to them, so you can use that.
And using The Feedback Service alluded to in the documentation, you can remove the token, should it fail too often.
But, as rokjarc said, if you're expecting a third-party API to exist, you're pretty much out of luck. Apple ahs done most of the work for you already anyway.
When the app registeres for push notifications you need to pass additional data to your server. The user could input their own email/phone which will be sent to the server so that users can find each other. The email/phone can be stored alongside with the push token. When someone wants to share something, you would search the corresponding push token in the database and send the notification through APNS. Note there can be multiple push tokens for one email or phone i.e. when a user has multiple devices.
The users of your app should be aware of the data which is stored on your server and should have the option to delete it. Also use the APNS feedback service to detect and remove invalid push tokens.

Could one iOS application support multiple push notification registration?

This is the first time that I approach the push notification service and I'm little bit confused. I 'd like to have just some conceptual help, not code.
I need to build an app that should receive and register for different kind of notifications. For instance in my app I'd like that users could register for PROMO notifications category and NEWS notifications category, I'd like that they could choose which one they want to be notified.
Reading the Apple doc, that was not so clear to me, it seems that once the app device is registered I receive just one token and seems impossible to receive more tokens for different kind of registration(NEWS and PROMO for instance), because the token is related to the app and the device. Is that correct?
The other thing that is not so clear to me is, if a device is registered for a specific notification is it possible to send the notification only to a set o devices?
If nothing of that is offered by Apple Push services do you think that is possible to manage everything like that:
-I register the app device for notification if (PROMO || NEWS) are selected
-I get the token
-I send the token to my server giving also as additional info about the service which the user wants to subscribe
-The server (provider) register the token and the kind of subscription (PROMO || NEWS)
-Later when I have a notification to push I ask the server all the tokens registered for that specific category and then I send the notification only to those devices registered for that category.
Thanks for helping me out I'm really confused.
"Reading the Apple doc, that was not so clear to me, it seems that once the app device is registered I receive just one token and seems impossible to receive more tokens for different kind of registration(NEWS and PROMO for instance), because the token is related to the app and the device. Is that correct?"
YES
The other thing that is not so clear to me is, if a device is registered for a specific notification is it possible to send the notification only to a set o devices?
YES, you need a DB where you connect a Push Token with the related Services (promo | news). If you have a new Promo Push Message you send the message to all related token. on the app site, everytime the user change the categorie (promo / news) you should prpvide these infos to your service with the push token.
These are all problems that you have to solve yourself on the server side. The push service simply provides a means to send a single message to a single device. You have to figure out yourself which messages you want to send to which devices. Each message has to be sent individually, there's no way to "broadcast" a message to all your users directly.
You could think of the push tokens as email addresses – of course, one email address might be subscribed to different newsletters from the same publisher, but it's the publisher's job (yours) to figure out whom to send which newsletters, not the email provider's (Apple's).
You should think of the push notification registration like my I send the user push notifications. Not what kind of push notification can I send the user.
Then you need to do serverside filtering on you categories, like the ones in your example promo and news.
The perferance of the user should be stored on your server, so you will know what kind of notification to send to which user.