Cordova Phonegap推送通知的实现
我知道以前有人提出过这种类型的问题,但我的问题是,有这么多不同的答案,让我们只说文档不是很好,问题是,我想在我的应用程序上实现推送通知,但我仍然停留在图像的第3步和第4步 我已经学习了本教程,但当我想将私有令牌发送到我的服务器时,我需要做什么才能区分ios和android?。如果你看一下教程,你会发现实际上有两种方法可以区分APN和GCM(这是一个古老的教程!),但是如果你去phonegap或者我一直在遵循的这个教程,这些方法就不是了Cordova Phonegap推送通知的实现,cordova,phonegap-plugins,phonegap-build,phonegap-pushplugin,phonegap-cli,Cordova,Phonegap Plugins,Phonegap Build,Phonegap Pushplugin,Phonegap Cli,我知道以前有人提出过这种类型的问题,但我的问题是,有这么多不同的答案,让我们只说文档不是很好,问题是,我想在我的应用程序上实现推送通知,但我仍然停留在图像的第3步和第4步 我已经学习了本教程,但当我想将私有令牌发送到我的服务器时,我需要做什么才能区分ios和android?。如果你看一下教程,你会发现实际上有两种方法可以区分APN和GCM(这是一个古老的教程!),但是如果你去phonegap或者我一直在遵循的这个教程,这些方法就不是了 有人知道我可以学习的最新教程吗 要实现推送通知,您可以遵循l
有人知道我可以学习的最新教程吗 要实现推送通知,您可以遵循link(您已经遵循了link,这是更新的插件,您提到的其他教程解释了旧的不推荐使用的插件) 要区分ios和android,您可以向服务器发送设备令牌和设备平台。 在以下回调中,您将收到可能属于任何平台(iOS或Android)的设备的设备令牌,请将此令牌存储在某个位置,以便将其发送到服务器:
push.on('registration', function(data) {
var deviceToken = data.registrationId
});
现在有两种方法可以获取设备平台,您可以使用其中任何一种:
var devicePlatform = device.platform;
function getDevicePlatform() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if (/windows phone/i.test(userAgent)) {
return "Windows";
}
if (/android/i.test(userAgent)) {
return "Android";
}
if (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream) {
return "iOS";
}
return "unknown";
}
首先在服务器中检查设备平台,然后根据平台执行其他步骤。PHONEGAP推送通知(版本1.3.0) 遵循以下步骤
- Android支持库版本23或更高版本 支持库的本地Maven存储库(以前的Android支持存储库)版本20或更高版本
- Google Play Services版本27或更高版本
- Google存储库版本22或更高版本
var push = PushNotification.init({
android: {
senderID: "XXXXXXX"
},
browser: {
pushServiceURL: 'http://push.api.phonegap.com/v1/push'
},
ios: {
alert: "true",
badge: "true",
sound: "true"
},
windows: {}
});
push.on('registration', function(data) {
console.log("data.registrationId :"+data.registrationId);
});
push.on('notification', function(data) {
// data.message,
// data.title,
// data.count,
// data.sound,
// data.image,
// data.additionalData
});
push.on('error', function(e) {
// e.message
//alert("e.message:"+ e.message)
});
1. Cordova CLI (3.6.3 or newer)
2. Android (cordova-android 4.0.0 or higher)
3. Browser
4. iOS (cordova-ios 4.1.0 or higher)
5. Windows Universal (not Windows Phone 8)