- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在关注 this sample让 android pushNotifications(使用 GCM)在 android 模拟器上工作。在 $cordovaPush.register(config)
之后我得到 Ok 作为响应。但它从不运行我的回调 [$scope.$on('$cordovaPush:notificationReceived'
]。结果我从来没有得到我的注册 ID。
我创建了一个 google API 项目。我在调用 $cordovaPush.register(config)
时在 config.senderID 中使用该项目 ID。
我还在我的模拟器中注册了一个 gmail 帐户。
我想我有 2 个问题。
1.是否可以在安卓模拟器上获取(并注册)推送通知?
为什么我没有收到调用回调的 $cordovaPush:notificationReceived 事件?
app.controller('AppCtrl', function($scope, $cordovaPush, $cordovaDialogs, $cordovaMedia, $cordovaToast, ionPlatform, $http) { $scope.notifications = [];
// call to register automatically upon device ready
ionPlatform.ready.then(function (device) {
$scope.register();
});
// Register
$scope.register = function () {
var config = null;
if (ionic.Platform.isAndroid()) {
config = {
"senderID": "12834957xxxx"
};
}
$cordovaPush.register(config).then(function (result) {
console.log("Register success " + result);
$cordovaToast.showShortCenter('Registered for push notifications');
$scope.registerDisabled=true;
}, function (err) {
console.log("Register error " + err)
});
}
$scope.$on('$cordovaPush:notificationReceived', function (event, notification) {
console.log(JSON.stringify([notification]));
if (ionic.Platform.isAndroid()) {
handleAndroid(notification);
}
});
// Android Notification Received Handler
function handleAndroid(notification) {
// ** NOTE: ** You could add code for when app is in foreground or not, or coming from coldstart here too
// via the console fields as shown.
console.log("In foreground " + notification.foreground + " Coldstart " + notification.coldstart);
if (notification.event == "registered") {
$scope.regId = notification.regid;
storeDeviceToken("android");
}
else if (notification.event == "message") {
$cordovaDialogs.alert(notification.message, "Push Notification Received");
$scope.$apply(function () {
$scope.notifications.push(JSON.stringify(notification.message));
})
}
else if (notification.event == "error")
$cordovaDialogs.alert(notification.msg, "Push notification error event");
else $cordovaDialogs.alert(notification.event, "Push notification handler - Unprocessed Event");
}
最佳答案
修复比看起来简单得多。我改变了:
$scope.$on('$cordovaPush:notificationReceived', function (event, notification) {
到:
$scope.$on('pushNotificationReceived', function (event, notification) {
同时 debugging我在 ng-cordova.js 上注意到了这一点:
angular.module('ngCordova.plugins.push', [])
.factory('$cordovaPush', ['$q', '$window', '$rootScope', function ($q, $window, $rootScope) {
return {
onNotification: function (notification) {
$rootScope.$apply(function () {
$rootScope.$broadcast('pushNotificationReceived', notification);
});
},
这意味着它正在为“pushNotificationReceived”进行广播。不是“notificationReceived”为 documented .
关于在模拟器上使用 PushPlugin 的 Android PushNotifications,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28677612/
我正在使用 PubNub 在移动设备中推送通知。我在我的项目中使用了以下代码。按照以下链接的指示。 https://www.pubnub.com/blog/2014-12-18-sending-and
我正在使用 cordova PushPlugin 一段时间以及所有其他时间的插件: https://github.com/phonegap-build/PushPlugin效果很好。 但现在它甚至不请
我用过pushPlugin在我的 phonegap android 应用程序中接收推送通知。一切正常。唯一的问题是当通知栏中存在多条消息时,最后一条消息会覆盖上一条消息。我想像 whatsApp 一样
我正在尝试实现一个使用 Cordava 3.3 创建的推送通知应用程序:https://github.com/phonegap-build/PushPlugin ;以本教程为基础:www.androi
我目前正在开发适用于 Android 和 iOS 的 Phonegap 3.0 应用程序。我添加了PushPlugin除了两件事之外,几乎所有东西在 Android 上都能正常运行: 1.当我收到推送
我正在使用 Ionic 框架为 iOS 应用程序设置推送通知,但我遇到了问题。 我使用以下添加了插件 ionic plugin add https://github.com/phonegap-buil
在尝试为 PhoneGap 上的推送通知安装 PushPlugin 时 https://github.com/phonegap-build/PushPlugin Android 的手动安装过程需要在
我将 Phonegap 插件“PushPlugin”( https://github.com/phonegap-build/PushPlugin ) 与适用于 iOS 和 Android 的 Phon
我的问题是如何配置通知,即有标题和消息,因为它只会让我收到消息而没有标题。在“GCMIntentService.java”插件文件中,我找到了三个变量,title、message 和 msgcnt,可
我正在尝试注册我的 Android 设备并获取注册 ID,以便我可以向我的应用程序发送推送通知。 我已按照此处列出的步骤进行操作并注册了我的应用程序。 http://developer.android
我正在使用 Cordova 3.5.0-0.2.6 来创建 Android 应用程序并使用 PushPlugin 2.2.1 来推送通知。 一切正常,当应用程序在后台时,我的机器人通知栏中会收到通知,
我见过多个类似的项目,但没有一个在相同的上下文中(使用 Angular ,不使用 ionic )。我正在使用 cordova 5.0.0(cmd 中的 cordova --version 显示 5.0
我正在为 Android 和 iOS 开发一个 Phonegap 应用程序,并希望为两者启用推送通知。 该应用正在使用 Phonegap 插件 PushPlugin,该插件将其设置为接收 Androi
我一直在关注 this sample让 android pushNotifications(使用 GCM)在 android 模拟器上工作。在 $cordovaPush.register(config
我正在尝试运行安装了 PushPlugin 的 phonegap 应用程序。我用这个命令添加插件: $ phonegap local plugin add https://github.com/pho
我花了将近 3 天的时间让 PushPlugin 与我的应用程序一起工作。我有以下问题为此,我必须按照“https://github.com/kentmw/PushPlugin”的建议修改 PushP
我正在通过 HTTP 发送一个非常简单的 GCM 推送通知。在我的 android 上,它显示前 32 个字符,后面跟着 3 个点。来自其他应用程序的消息看起来很好,都包装得很好。 应用程序端是使用
我正在关注 this在我的 PhoneGap 应用程序中实现推送通知的教程。但是我在 XCode 中不断收到以下错误: 2014-06-03 22:50:38.425 Clubbed In[336:6
我正在开发我的第一个 PhoneGap/Cordova 应用程序,但在使 iOS 推送通知正常工作时遇到了问题。 我的环境如下: Cordova 版本:3.5.0-0.2.7 推送插件版本:2.4.0
我正在使用最新的 Cordova 版本和推送插件 (https://github.com/phonegap-build/PushPlugin)。 我正在尝试在 Android 模拟器上使用 githu
我是一名优秀的程序员,十分优秀!