How to automate push notifications on Desktop? - selenium

I want to automate push notifications on Desktop. i.e. I want to automate push notification when sent by Chrome and Firefox. I have search enough online but unable to get any concrete solutions/information.
Since the delivered push notification is not a part of browser and hence it cannot be detected by Selenium. Any other ways one can automate this?

What about UiAutomation? I'd look towards it. It could handle both Silverlight and win/wpf applications

Related

React Native - Keep app running when it's killed or closed

this question may seem duplicate, but I've searched a lot, but could not find any appropriate solution.
I need my socket connection to not break when user kills/closes app. It works when user presses the home button and apps goes to background. But connection breaks when user kills or closes the app. I need behavior like how chat apps like whatsapp literally work. So when I close the whatsapp, I can still receive new messages.
If anyone has found any solution for this, please share.
Thank you.
Your Socket connection should run as a background task and continuously listen to stream of message events even when the app close then you can push notifications to notify the user.
https://github.com/jamesisaac/react-native-background-task provide an abstract layer for both iOS and Android

Error 2001 AUDIO_INPUT_LEVEL_TOO_LOW in Agora video Call

Everything was working fine but After updating Agora to 3.1.2., once remote user joined the video call, After a few seconds, Video call disconnected and getting this error in the log
"type":"exception","code":2001,"msg":"AUDIO_INPUT_LEVEL_TOO_LOW"
Version info.
"ngx-agora": "2.0.1",
"agora-rtc-sdk": "3.1.2",
Angular 10.0.8
It is a known issue by the developer and the team is working on fixing it and is an open bug on the Agora IO Community Repo here.
In the words of the developer:
How to reproduce
If you create and publish your microphone audio track without any user interaction, the remote user may not hear you. In this case, the console will print some logs like SEND_AUDIO_BITRATE_TO_LOW and AUDIO_INPUT_LEVEL_TOO_LOW.
And once you interact with the webpage, the remote user will hear you.
Root cause
Agora Web SDK NG uses the AudioContext API to do some audio pre-processing by default. However, the AudioContext is restricted by the browser's autoplay policy. If user has not interacted with your webpage, the AudioContext will not run. So there is no audio data produced from the SDK's pre-processing module in this case.
How to avoid
We will fix this issue in v4.0.2, and it will be released next month.
For now, we recommend that you should ensure that the user has interacted with the webpage before the audio track is published. For example, the user is required to click the accpet or confirm button to start a call.

Using postMessage in a Chrome Custom Tabs CustomTabsSession

I'm getting to grips with the functionality available in Chrome Custom Tabs and I'm curious to know how I might go about communicating between the Custom Tab and the app itself. I can see in CustomTabsSession that there are methods like requestPostMessageChannel, but it returns false every time I try to use it. I also can't find any documentation or examples about this.
Does anyone know how I'd go about successfully establishing a message channel between my native code and my Custom Tabs client? Bonus question: is it possible to postMessage to a service worker?
I just found the following Chromium patch from 2018:
https://chromium.googlesource.com/chromium/src/+/20891520570f780b13ae9725d9aa5a909338d0a9%5E%21/
🤝 Disable PostMessage on Trusted Web Activities.
Moving Trusted Web Activities over to CustomTabActivity gets us
PostMessage for free. Unfortunately we're not ready to launch that, so
disable it for the time being.
It's possible that things have changed since then, but this flag in Chrome 81 suggests it hasn't. So it might just not be possible to do this right now.

Is it necessary to start a windows 8 app at least once to enable background taks and/or push notifications

I understand how i can tie my application to the windows push notification service but the code i have to write to do so will only be reached when my app is started by the user. What if i want my application to receive push notifications when it has just been installed ?
the same question applies to background tasks
Setting up push notification channels and background tasks does require and app to be run at least once. You can, however, set up periodic notifications in Windows 8.1 through an entry in the manifest, so that you can have a live tile experience after install but before the app is run. If you do that, you can at least surface some info on the live tile right away to invite the user into the app, after which you can customize the experience much more with push notifications and background tasks.
You can find the periodic update URI field in the manifest editor's Application tab under Tile Update. The XML schema ref is here: http://msdn.microsoft.com/en-us/library/windows/apps/dn391689.aspx.
Who will install the background agent or create push notification channel in this case? Yes, it should.

Does Titanium have method for "didReceiveRemoteNotification" of Objective-C?

I would like to receive remote push notification when the app is on the foreground. I think I can use "didReceiveRemoteNotification" in Objective-C, but how about in Titanium? I've been searching solutions but can't find anything. Does anybody help me out?
Titanium currently only supports local notifications (by default) I believe. You might want to take a look at AppCelerator as a solution.
Sorry, i was wrong last time. It's very hard to find but Titanium supports a way of interacting with PushNotifications.
Please take a look at Ti.Network.registerForPushNotifications. It provides a callback that is executed when you receive a Push Notification.
The other posted solutions below may provide a better integration for titanium so it's up to you what you want to use. But this should answer your original question.
Unfortunately Titanium only supports local notifications on iOS. If
you want to support remote notifications you can use
Urban Airship
ACS (Appcelerator Cloud Services) or
you write your own module that provides "didReceiveRemoteNotifcation" as an app event to your app
As far as i know you can only listen on local notifications by
default but you can try this method if it reacts on remote
notifications..