System message from backend Quickblox - quickblox

I am trying to send a System message from backend to an user using the example in the website and it just does not work. The thing is that I am updating the data of many dialogs (Group dialogs - type == 2) from backend and I want to notify (with a system message) to all the users in those dialogs that the data changes; but the message is not received in the mobile clients.

Below is the documentation for it :
System_Notifications
All System Notifications should Contains extraParams.moduleIdentifier=SystemNotifications ** and **type=headline.

Related

How to fill in Google Play Data Safety form taking into account Firebase Analytics and Firebase Crashlytics libraries?

I have an app which does not push any data to any server except that it uses the Firebase Analytics and Firebase Crashlytics libraries to submit analytics and crash reports to my Firebase account. My use of both of these libraries is bare minimum.
I submit analytics events as follows:
FirebaseAnalytics.getInstance(applicationContext).logEvent("SomeEvent", bundle)
I submit exceptions as follows:
FirebaseCrashlytics.getInstance().recordException(exception)
Neither the bundles submitted via the FirebaseAnalytics instance nor the exceptions submitted via the FirebaseCrashlytics instance contain any of the user's personal data or any data that identifies the user. The exceptions just convey that a certain area of the application has failed and the bundles just convey that a certain button was tapped without linking in any way to the user.
With this in mind, how do I answer the following "Data collection and security" questions in the Google Play Data Safety form:
Does your app collect or share any of the required user data types? [Yes/No]
Is all of the user data collected by your app encrypted in transit? [Yes/No]
Do you provide a way for users to request that their data is deleted? [Yes/No]
There is a repo with all required information required for the Data safety form - link
The same applies to firebase as to admob
Does your app collect or share any of the required user data types?
Yes
Is all of the user data collected by your app encrypted in transit? Yes
Do you provide a way for users to request that their
data is deleted? No
Location > Approximate location
App activity > Page views and taps in app
App info and performance > Crash logs, Diagnostics
Device or other identifiers > Device or other identifiers
How do I know this for sure?
Because under device and other identifiers the extra info states:
Identifiers that relate to an individual device, browser or app. For
example, an IMEI number, MAC address, Widevine device ID, Firebase
installation ID or advertising identifier.
Which indicates that they do consider Firebase to be collecting data

Display user name on remote videos on Group chatting, Raise hand feature on Group chatting

We have integrated agora rtc for group video chatting using vue js. Would like to display corresponding user name on remote videos . I am unable pass user name custome property through stream as like userid. How to solve this issue. is there any way to pass custom object to send through stream to remote users.
Raise hand feature also need to do. How to do .
Could you help me
I'd recommend using the Agora RTM SDK for your use case. It lets you send messages to other users.
Using RTM whenever you join an RTC channel you can send a channel message to RTM with your name. That way other users can receive and display your name.
For raise hand, you can send a message with a request (eg: {"raise": "true"}), the remote user can then accept/reject the request and send the corresponding message back. If accepted you, you read the message and unmute the local user using RTC method.
You can find a quickstart app for RTM here.

Strategy for notification checking

Is there a recommended strategy for checking of notifications within my AngularJS app?
By 'notification' I'm talking about message alerts that are to be displayed to a user when they're logged into the application.
My plan is to notify the user of unread notifications in the app's NavBar as shown below:
My app communicates with my restFul API (written using Node.js, express, MongoDB), so I anticipate that new notification will be written to a MongoDB collection with details the user the notification is intended for.
What I'm unsure about is how the AngularJS application will check for notifications once a user is logged on. I could call my API for unread notifications every time the user navigates from one path to another but that seems simplistic and it wouldn't work if a new notification occurs whilst a user is viewing a page.
Another way would be some sort of timer system that checked, say, every 30 seconds. But this would results in unnecessary polling of my API when there aren't any new notification for a user.
So, wondering if there is a recommended strategy. Thanks for your help.
Polling is a solution but it is very inefficient. The solution to your problem are websockets. Websockets is a technology that provides a full-duplex bidirectional communication between your clients and your server. So you can send messages from your server to your connected clients. Your server maintains an array of connected clients and you just have to know which ID you need to send a message to it.
For your stack, the best solution I have came to is Socket.io http://socket.io
It also have cool features. For example, you can "observe" models, so if a model change in your database, for example an update to a user profile is made, you can trigger an event and automagically send a message to your client. This client get and handles the notification and do something, like put a badge on your alerts icon.
Hope this is useful for you.

send notification to a particular user with notification hub - Azure and GCM

I am a software developer in Xamarin - Android, I want to create notification messages. For this purpose I use Azure notification hub, combined with Google's service - Google Cloud Messaging (GCM).
My problem comes when I want to send notification to a particular user. I realized that I need to use the "TAGS" When I compose a new user to the system (Uniqe TAG)
Indeed, it works great, but when the user logged off his account, and then connect to another one (with another TAGS) - the TAGS of his old account are kept in a certain time, and he continues to receive personal messages from the previous account!!!!
Does anyone know what can be done about it?
thank you very much
This is actually an issue a lot of people/apps have on iOS and Android.
What you should do is:
Register your app at your Azure Notification Hub (ANH) on first start and reregister at every app start, to keep registration in sync
If a user logs in, update the registration with an additional tag for this user (e.g. "user:XY")
Sending notifications to that user tag will of course result in notifications on all devices the user is logged in on
If a user logs out, update the registration without the user tag (omit the user tag, so the registration doesn't have user tag anymore afterwards)
The registration will be updated immediately on ANH and sending notifications to the user (tag) will not result in notifications on that specific client
If the user can logout on your app without internet connection, you won't be able to update the registration of course and you will still have the problem of getting notifications for a logged out user. But as soon as another user logs in, the registration should get updated with the new user tag and everything should be fine again...
What you shouldn't do:
"Developers should never unregister the client app as a mechanism for logout or for switching between users..."

Building a GPS Tracking Web System

I'd like to develop a tracking system using an API of course (like the famous Orange API).
the idea is simple:
I send a SMS (from my Web interface) to the person i want to track
The person's mobile terminal (GPS like this) send me back automatically
the coordinates by SMS.
The sent information are displayed on the user's web interface.
The questions are simple:
How the terminal can send automatically the response?
How to indicate in the message that the information is for "user4655"?
How to make connection between the information and the database?
Thanks,
Regards.
* How the terminal can send automatically the response?
Ans: You set the gateway and the time intervals you want the device to send the sms to on the device itself.
* How to indicate in the message that the information is for "user4655"?
Ans: The gateway you use will have the API to determine that the number it is sent from. The device will use a registered phone number from either a sim or enabled by one of those cell providers.
* How to make connection between the information and the database?
Ans: I dont understand this. But I'm guessing you will have a database to keep track of the user data. You'll just probably need another table that is a child of the user, which has a list of the data and the time they came in.