google gcm "raw_data" payload for desktop chrome 50 beta - google-chrome

I am trying to send a and read message payload using the google GCM mechanism.
To send the data I am using the instructions found under "Web Push" in:
https://developers.google.com/web/updates/2016/03/web-push-encryption?hl=en
where it is instructed, that until full support by chrome is available, the payload can be sent using "raw_data" which needs to be base64 encripted.
to display the data I am ussing chorome 50Beta, since it is supposed to support payloads.
but when the 'push' event is fired, the service-worker event.data is null.
Is there a live web example of chrome push messaging payload out there?

You could use my web-push Node.js library. I've recently added support for Chrome 50.
I've just released the version 2 of the library with support for payloads on Chrome 50 and I've updated the ServiceWorker Cookbook to use it.
You can use the demos on that website (in particular the Push Payload one).

Related

Web Push notifications on Chrome for Android: Do I need a third party service like GCM or SNS?

I'd like to set up Web Push notifications on my progressive web application (PWA) using Service Workers. But I'm having trouble understanding the role of third-party services like Google Cloud Messaging and Amazon SNS, and if I need them at all.
From what I understand, when the user clicks the Allow notifications button, you get a unique subscription endpoint. Then in your backend, you can use this endpoint to send notifications to that specific user.
However, all back end libraries that I've found (like pywebpush or web-push for Node.js), mention that you need a GCM API key in order to send notifications.
But here is what the MDN Push API documentation says:
Chrome versions earlier than 52 require you to set up a project on
Google Cloud Messaging to send push messages [...]
So I'm assuming that the new versions of Chrome (version 58 today) should be able to display notifications without the help of a third party.
Here is an example of what I want to achieve. I'm just not sure of what they do in the backend.
Note: I'm not trying to send native push notifications to Android or iOS devices, but only to my progressive web application on Chrome using the Web Push API.
The Browser Push Service
As I have explained in another answer, in order to send web push notifications, you need to interact with the browser push service. Basically each browser, when the user allows push notifications, returns an endpoint (URL) that is specific for its own push service.
For example:
Chrome and Opera endpoints start with prefix https://fcm.googleapis.com/, because they use FCM (ex GCM)
Firefox endpoints start with prefix https://updates.push.services.mozilla.com/, because Firefox uses Mozilla autopush
So notifications will always pass through FCM and autopush, there's no alternative: the push service is hardcoded inside the browser.
Web Push Notification Services as a layer of abstraction
There is also another kind of web push services. Their aim is to provide a layer of abstraction and additional features over the browser push service. For example Pushpad is one of them (I am the founder).
Instead of interacting directly with the different browser push services (e.g. FCM, autopush), your web app can interact just with one push service (e.g. Pushpad), which then interacts with the browser push services for you (automating many tasks, like VAPID and providing additional features like monitoring and integrations).
Confusion about FCM
FCM is quite confusing because it acts both as a "browser push service" for Chrome and Opera, but it also acts as a general "web push notification service" for other browsers. So for Firefox for example, FCM acts as a proxy towards Mozilla autopush.

Is Postman Chrome Extension marked for deprecation? (Seeking company rep answer)

I've seen conflicting and stale information regarding whether Postman Chrome Extension is marked for deprecation or not. Could someone with direct knowledge address this question?
I need to know if I need to request that my work replace the extension with the native Windows app or not. Does the company intend to keep feature parity?
What's the difference between the Postman plugin and the extension? (since they are different)
The Chrome version of Postman is not using the same runtime for execution of requests & test scripts. It is recommended to transit to the native client. Especially when you plan to use Postman collections with the CLI client Newman.
You can read a blog post of the company on this topic here: Blog post on Chrome Extension vs. native app
We're encouraging Postman Chrome users to transition to the the Mac or Windows app when convenient, and to the Linux app when available, by heading to https://www.getpostman.com/apps and downloading the correct app. Going forward, we will be watching to see how Chrome OS app development proceeds, to make sure we provide the right tools for our community.

Can I use GCM for a chrome EXTENSION?

I'm new to web development and currently I'm trying to create a chrome extension.
I followed this google tutorial and also this one and this one but for some reason the push notifications does not work when I define the extension as an extension and not as an application.
Can anyone give some guidance? my code is basically identical to the 2nd tutorial only I am defining the extensions as an extension and not as an application.
To my understanding it might be impossible due to safety reasons(?)..
Any help will be appreciated...
Can I use GCM for a chrome EXTENSION?
Yes you can. GCM docs states that:
For Chrome apps and extensions, GCM enables Chrome instances to send
and receive message data from servers. The
chrome.gcm API allows the
Chrome apps or extensions to access the GCM service. The service works
even if an app or extension isn't currently running. For example,
calendar updates could be pushed to users even when their calendar app
isn't open.
Receive downstream messages
chrome.gcm.onMessage.addListener(function(message) {
// A message is an object with a data property that
// consists of key-value pairs.
});
There's also a dev blog guide that you might want to see. It includes sample codes and instructions like:
How push messaging works
1) Chrome extension gets a Channel ID from Chrome Run-time
2) After receiving Channel ID, your extension sends the channel ID to your web server.
3) Using GCM API, you can send a message to chrome browser which will queued in GCM Server.
4) GCM server sends your message to Chrome Run-time.
5) Chrome Run-time forwards the message to your extension.

How to automate a Chrome extension with UFT

The new version of UFT 12.01 is supporting up to Chrome 36 when it comes to web content.
What about Chrome´s extensions though?
I read somewhere that they cannot be automated.
From the other hand side, when I use developer tools (12) I can identify buttons, textboxes etc.
Is it possible to test a Chrome extension by using UFT?
PS: I specifically try to automate one extension called POSTMAN - Rest Client (https://chrome.google.com/webstore/detail/postman-rest-client/fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en)
UFT's Chrome support doesn't work with other extensions since Chrome disallows extensions being injected into other extensions.
As a workaround you may be able to use UFT's Insight option to automate any technology that UFT doesn't support directly.
Specifically for the Postman extension, this is a simple REST Client. I Assume you want to use it in order to test your REST services rather than actually testing the Postman extension. If this is the case wouldn't a more natural way to approach this issue be to use a UFT API test?
API tests support calling and validating REST services with all the functionality previously available in HP's Service Test.

Sending POST request via HTTP using Safari on Mac

I need to call a webservice with Safari on Mac. Since the methods are in POST I can't paste the url in the address bar of Safari (like with GET methods).
So, I'm looking for a plug-in or similar that allows me to send the request and then receive the response inside the browser. The response is JSON so with the JSON plug in I can see all the response with his formatting.
Solutions ? Thanks !
Safari is my browser of choice, so I can empathize with you for wanting a native plugin. Fortunately, while there aren't any extensions available, there are quite a few native OSX clients for HTTP/REST end-point testing. I have been using CocoaRestClient, which includes auto-formatting and syntax highlighting for JSON, as you requested. It's open source, lightweight, and is at least actively supported by its developers:
http://mmattozzi.github.io/cocoa-rest-client
Another great tool is Postman, an application inside Google Chrome.
I don't know why you care whether the client is in Safari or not. A restful POST should be able to be executed from any sort of client. You might want to look at RESTClient extension for Firefox http://restclient.net/
Also just Google 'REST client' you should see plenty of other tools available to generate POST's against your service. If you are really would about Safari-specific responses, most good REST tools, should allow you to set the User-Agent header so as to make the request look like it is coming from Safari.