У меня есть проект Phonegap, который пытается получать push-уведомления с помощью phonegap-plugin-push .
Я зарегистрировался и настроил свое приложение Firebase (FCM) и загрузил google-services.json и поместил его в мой корень (рядом с config.xml).
Когда я тестирую приложение Phonegap Mobile Dev на моем устройстве, PushNotification.init ()работает как ожидалось.
** Проблема: Когда я компилирую и устанавливаю APK через Phonegap Build (онлайн), PushNotification.init () не запускается.
Мой config.xml выглядит так:
<engine name="android" spec="^7.0.0" />
<engine name="browser" spec="^5.0.4" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<plugin name="cordova-plugin-splashscreen" spec="^5.0.2" />
<plugin name="cordova-plugin-network-information" spec="^2.0.1" />
<plugin name="cordova-plugin-file" spec="^6.0.1" />
<plugin name="cordova-plugin-globalization" spec="^1.11.0" />
<plugin name="phonegap-plugin-push" spec="^2.1.3">
<variable name="FCM_VERSION" value="11.6.2" />
</plugin>
<platform name="android">
<allow-intent href="market:*" />
<resource-file src="google-services.json" target="app/google-services.json" />
</platform>
Мой index.js выглядит так:
onDeviceReady: function() {
console.log('DEVICE READY...');
var push = PushNotification.init({
"android": {
vibrate: true,
sound: true,
forceShow: true,
},
"browser": {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
"ios": {
alert: true,
badge: true,
sound: true
}
});
push.on('error', function(e) {
console.log("push error = " + e.message);
});
push.subscribe('example', function () {
console.log('Subscription error:');
console.log(e);
});
PushNotification.hasPermission(function (data) {
console.log("data.isEnabled = " + data.isEnabled);
});
push.on('registration', function (data) {
console.log(data.registrationId);
console.log(data.registrationType);
});
push.on('notification', function (data) {
console.log(data.message);
console.log(data.title);
console.log(data.count);
console.log(data.sound);
console.log(data.image);
console.log(data.additionalData);
console.log(navigator.notification);
navigator.notification.alert(data.message, null, data.title,'Ok');
});
}
Есть идеи?