无法通过bluemix控制台发送推送通知

时间:2017-02-13 13:57:46

标签: cordova ibm-mobilefirst cordova-plugins ibm-mobile-services

我已按照以下参考通知w.r.t.机器人,

https://github.com/ibm-bluemix-mobile-services/bms-samples-cordova-hellopush 强调文字 https://github.com/ibm-bluemix-mobile-services/bms-clientsdk-cordova-plugin-push

不同的方案不起作用,列在这里, 1)通过bluemix控制台,当我只是向设备发送通知时,它会在bluemix控制台中显示“发送的通知”。 但有一段时间后我也没有收到移动设备的通知。

我已经配置了bluemix w.r.t. firbease messaging&所以我可以从console.firebase.com发送通知,& paralley我也在设备中检索通知。

2)在设备注册时间内,我没有获得成功响应回调,即使app在后台我能够在设备中收到通知。

3)我正在尝试订阅主题,这里我没有得到任何回复设备,要么我无法向bluemix发送订阅标签的通知,因为bluemix显示标签未订阅。 我在这里订阅了cordova angular js app中的标签。

如果有人对这些查询有任何建议,请告诉我。 感谢。

3 个答案:

答案 0 :(得分:0)

请在此处找到js文件。

var ocMobile=angular.module("ocMobile",[]);
ocMobile.factory("ocMobileFactory",function(/*global parameters */){
var ocMobileFactory={
initialize: function() {
this.bindEvents();
growl.info("B4 initialize");
// some codebase
},
bindEvents: function() {
document.addEventListener('deviceready', this.onDeviceReady, false);
document.addEventListener('offline', this.onOffline, false);
document.addEventListener('resume', this.onResume, false);
},
onOffline: function() {
// somecodebase
},
onResume: function() {
// some codebase
},
onDeviceReady: function() {
console.log("omnichannel onDeviceReady");
growl.info("onDeviceReady");
this.registerNotifications();
},
registerNotifications: function() {
growl.info("registerNotifications");
BMSClient.initialize(BMSClient.REGION_US_SOUTH);
// iOS Actionable notification options. Eg : {"category_Name":[{"identifier_name_1":"action_Name_1"},{"identifier_name_2":"action_Name_2"}]}
// Pass empty for Android
var category = {};
//device returns platform , deviceid etc., parameters
if (device.platform.toLowerCase() === "ios"){
category = {"category_Name":[{"identifier_name_1":"action_Name_1"},{"identifier_name_2":"action_Name_2"}]};
}
growl.info("registerNotifications: category:"+category);
BMSPush.initialize(appGuid parameter, clientSecret parameter, category);
var success = function(successResponse) {
// success handler display successresponse msg with token...
//TODO once successcallback register for topic subscriptions & test it
var successTag = function(successResponse) {
console.log("topic subscribed response:"+successResponse);
growl.info("topic subscribed response:"+successResponse);
};
var failureTag = function(failureResponse) {
console.log("topic subscription failed due to :"+failureResponse);
growl.info("topic subscription failed due to :"+failureResponse);
};
var tag = "YourTag";
BMSPush.subscribe(tag, successTag, failureTag);

        };
        var failure = function(failureResponse) {                          
        //failure handler display failure reason with failureresponse               
        };
        var options = {"userId": "Your User Id value"};
        BMSPush.registerDevice(options, success, failure);

        var handleNotificationCallback = function(notification) {
            alert(notification.message);
        }
        BMSPush.registerNotificationsCallback(handleNotificationCallback);             
    }
}
return ocMobileFactory;
});

如果有人对这些问题有任何建议,请告诉我。

答案 1 :(得分:0)

如果您没有收到通知,则应使用Swagger API验证您的设备是否已注册:

https://mobile.ng.bluemix.net/imfpush/

此外,请确认您已配置Android environment correctly

如果您的环境设置正确,您的设备正在注册,并且在尝试运行基本Cordova sample时遇到同样的问题,则必须使用您的服务实例从Bluemix打开支持服务单。这应该给予支持团队足够的信息来解决问题。

答案 2 :(得分:0)

感谢回复, 无论如何,我已经尝试了所有的选项,但没有从移动端收到通知回调方法。 无论如何,我已经提高了机票w.r.t. bluemix支持团队。