How to build in app notification service? - push-notification

I'm learning backend and API development and trying to understand how to implement some features from scratch without using any paid third party service.
I want to understand this concept from design as well as implementation pov. Please share if you have any resources where I can learn how to code the below service.
How to build in app notification service like one of these from scratch ?
Notification when user likes or comments on a post (Instagram, Twitter)
Notification when someone views your profile (Linkedin)
Notication when a channel you are subscribed to uploads a video (Youtube)
These are different from push notifications like
Notification when someone sends you a message (All chat apps)
Live status via notification of your delivery (Food delivery apps)
Push notifications need not be stored permanently in any database but what happens with in app notifications? How to build such service which is scalable too.
One possible solution I could think of is this, for notification on post like
User A has made a post.
User B likes their post.
From likePost API emit an event which will notify User A that User B liked their post, listen for these real time events on client side. This can be done via sockets.
Do not store any notifications in database, just update the notifications in UI on that event emitted by likePost API or listen to real time changes in likes attribute of a User's Post table (is this possible?) and update UI.
In UI just show all such notifications by fetching from likes and comments table.
But I wonder how scalable is this approach.
I searched but couldn't find any good resources regarding this, so please if anyone could explain this or provide link to any blog or videos it will be helpful.
(P.s. I'm an undergrad student and don't have experience in system design and architectures, just started learning about these so just curious)
Thanks.

apps like Facebook, Instagram and linkedIn provides web hook of notifications. Webhooks allow you to receive real-time HTTP notifications for subscribed events. This functionality is only available for applications with an approved use case for webhooks. Webhhook received as a notification when user comment on your post or like your post, a web hook can be used to retrieve the information of post, comment and commentor etc.
I am attaching a reference of LinkedIn web-hook.
https://learn.microsoft.com/en-us/linkedin/shared/api-guide/webhook-validation

Related

BuildFire: Tracking Commerce and Conversion Analytics

I am attempting to track certain events in Buildfire's platform and have a few questions. I've integrated Firebase into a plugin not using the Buildfire API but by following Firebase's steps to integrating with a web app.
I'd like to be able to register the following events but don't see them mentioned in the Buildfire Wiki:
When a user signs up (creates an account) on an app - I believe Firebase registers users anonymously the first time they use an app since Firebase has been integrated but was wondering if there was a signup event when a user actually creates an account to distinguish between people who view the app and those who create an account
Paywall view (when a user tries to see premium content and is directed to the paywall).
When a user subscribes to a paid plan - additionally, I'd like to access the subscription information such as the price of the subscription.
These events would help drive funnels and deliver better conversion rate statistics. I've looked but just haven't found the documentation related to tracking these events within Buildfire. I've looked at the getUser methods under Authentication in Buildfire's API but don't see any user information returned regarding subscriptions.
Any information would be appreciated!
There are many ways to accomplish what you are looking for. I'll try to describe several so you can pick the method that best suits you.
Use the BuildFire integration with Firebase. This doesn't really change much on your implementation. However, you now will have the BuildFire Auth Servers sending your Firebase server, secure user information along with User Tags. If you have the user tagged when they view premium content, then you can run queries on this directly in firebase.
https://github.com/BuildFire/sdk/wiki/Buildfire-Firebase-Integration
Send your Analytics to BuildFire. This way you have one spot to view the users' journey
https://github.com/BuildFire/sdk/wiki/How-to-capture-Analytics-for-your-plugin
For more advanced analytics and funnel creation you can send your analytics to BuildFire and use BuildFire's integration with Segment.io which will allow you to pipe the data into your database, google analytics, mixpanel, or anyone of the hundreds of integrations they have.
https://learn.buildfire.com/en/articles/3225298-how-to-integrate-segment-with-your-app-for-additional-analytics

Getting r_fullprofile access to the Linkedin API

I am currently using a linkedin API with r_lightprofile in my application.
Two months ago, I sent a request for access to r_fullprofile using the Partner Program form.
https://business.linkedin.com/marketing-solutions/contact-us
http://prntscr.com/opfnpd
I also sent a request to the Marketing Developer Platform, but the request is still pending (http://prntscr.com/opfvfx)
After all this, I got an email with a form to fill out information about the company.
But after filling out the form, I did not receive an answer that the company is suitable or not suitable for full access.
1) How long does it usually take to get access?
2) Does the linkedin API have support? Email, Live chat or something else?
3) Have I done everything for access? Maybe I missed something?
4) Does Linkedin send an email in case of failure?
It's been a long way for me too, I'll give you some random tips:
Make sure your app is connected to a LinkedIn company page and that the status is Verified. To do this, from the app dashboard, add to the Team members an administrator of the LinkedIn company page (as Admin member) and let him access the app dashboard. He should be able to see a Verify button to confirm the authenticity of the app.
The only support that was really helpful to me was Zendesk.

Best way to utilise push notifications when app goes into background

I am a React Native developer currently working on a vehicle tracking app.
We want to develop a feature that allows users to exit the app, but continually be updated in the form of notifications when the vehicle moves (on average every 60 seconds).
I have been tasked with coming up the best way of integrating this. Our app already has push notifications set up with Firebase and we do use this to push out generic messages to the app.
My thinking is as follows:
When a user begins tracking a vehicle, the app should subscribe to a Firebase topic identified as the vehicle's registration. On the server side, each time an update comes in for a vehicle, send out a Firebase notification to that vehicle registration's topic, and then any users tracking it will be updated. When a user returns to the app and presses 'Stop tracking', the app unsubscribes from the topic.
In theory I think this would work. The reason I'm posting is I'm not sure it's the most efficient way. Our server received updates for over 1,000 vehicles every minute.
Any help/ideas would be gratefully received!

How to add "subscribe button" in facebook messenger bot?

I need to add a button (subscription ) in my messenger bot through which users can subscribe. and after that bot will automatically send latest post to the users at the specific time.
I was going through documentation but i am unable to find any proper documentation for it.
Can anybody please help regarding that?
Facebook don't provide a mechanism to manage subscriptions. It's up to you as a developer to choose how to implement this - for example using a button with a payload to confirm that the user wants to opt in.
You could perhaps put an Opt Out option in your persistent menu and listen for the relevant payload and unsubscribe the user.
Facebook have published some documentation about this, explaining how they expect subscription messaging to be triggered:
Person sends a message to a business or clicks on a call to action button within Messenger to request subscription messaging
Person requests subscription messaging from a business via a Send to Messenger plugin
Person signs up for SMS alerts
See the full page of documentation at https://developers.facebook.com/docs/messenger-platform/policy-overview#messaging_types for more details on their expectation

Push Notification from API Update?

I am working with the soundcloud API and I want to send a user a push Notification on iOS whenever a targeted user uploads a new track. The app is developed with the Ionic Framework/ Cordova. I've looked into Amazon SNS and Parse but I can't find a way to watch the array. I can also do this through a RSS feed if that is easier.
Thanks
RSS is probably a pretty good way to detect new episodes/sounds posted. Hopefully, Soundcloud will implement PubSubHubbub, or you'll have to fetch/parse the feeds yourself.
Once you've identified the new entries, you can then sent the notifications.

Resources