Skip to content
This repository has been archived by the owner on Sep 4, 2020. It is now read-only.

Commit

Permalink
🕸️ Issue #2109: Receive push notifications when using cordova-browser…
Browse files Browse the repository at this point in the history
… > 5.0.0
  • Loading branch information
macdonst committed Dec 19, 2017
1 parent 3dabcb8 commit f6e0dcc
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 0 deletions.
49 changes: 49 additions & 0 deletions hooks/browser/updateManifest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
module.exports = function(context) {
console.log('Updating manifest.json with push properties…');
var path = require('path');
var fs = require('fs');

var platformProjPath = path.join(
context.opts.projectRoot,
'platforms/browser'
);

if (!fs.existsSync(platformProjPath)) {
platformProjPath = context.opts.projectRoot;
}

var platformManifestJson = path.join(platformProjPath, 'www/manifest.json');

if (!fs.existsSync(platformManifestJson)) {
return;
}

fs.readFile(platformManifestJson, 'utf8', function(err, platformJson) {
if (err) throw err; // we'll not consider error handling for now
var platformManifest = JSON.parse(platformJson);

var pluginManifestPath = path.join(
context.opts.projectRoot,
'plugins/phonegap-plugin-push/src/browser/manifest.json'
);

fs.readFile(pluginManifestPath, 'utf8', function(err, pluginJson) {
if (err) throw err; // we'll not consider error handling for now
var pluginManifest = JSON.parse(pluginJson);

platformManifest['gcm_sender_id'] = pluginManifest['gcm_sender_id'];

fs.writeFile(
platformManifestJson,
JSON.stringify(platformManifest),
function(err) {
if (err) {
return console.log(err);
}

console.log('Manifest updated with push sender ID');
}
);
});
});
};
1 change: 1 addition & 0 deletions plugin.xml
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
</js-module>
<asset src="src/browser/ServiceWorker.js" target="ServiceWorker.js"/>
<asset src="src/browser/manifest.json" target="manifest.json"/>
<hook type="after_prepare" src="hooks/browser/updateManifest.js"/>
</platform>
<platform name="ios">
<config-file target="config.xml" parent="/*">
Expand Down

0 comments on commit f6e0dcc

Please sign in to comment.