无法使用MFP8.0注册设备

时间:2016-09-15 08:54:49

标签: ionic-framework ibm-mobilefirst mobilefirst-server

我们正在开发mfp8.0的离子应用程序。我们使用以下代码连接mfp服务器,

var Messages = {
  // Add here your messages for the default language.
  // Generate a similar file with a language suffix containing the translated messages.
  // key1 : message1,
};

var wlInitOptions = {
  // Options to initialize with the WL.Client object.
  // For initialization options please refer to IBM MobileFirst Platform Foundation Knowledge Center.
  onSuccess:function(){alert('success')},
  onFailure:function(){alert('fail')}
};

function wlCommonInit() {
  app.init();
}

var app = {
  //initialize app
  "init": function init() {
      app.testServerConnection();
  },
  //test server connection
  "testServerConnection": function testServerConnection() {
    WL.App.getServerUrl(function (url) {
    });

    WLAuthorizationManager.obtainAccessToken()
      .then(
        function (accessToken) {
          alert('accessToken   '+JSON.stringify(accessToken));
          isPushSupported();
        },
        function (error) {
           alert('Error   '+error);
        }
        );
  },

}

function isPushSupported() {
    MFPPush.isPushSupported(
        function(successResponse) {
            alert("Push Supported: " + successResponse);
            registerDevice();
        }, function(failureResponse) {
            alert("Failed to get push support status");
        }
    );
}

function registerDevice() {
    WLAuthorizationManager.obtainAccessToken("push.mobileclient").then(
        MFPPush.registerDevice(
            {"phoneNumber":""}, // workaround due to a defect in the current release of the product. An empty "phoneNumber" property must be passed at this time.
            function(successResponse) {
                alert("Successfully registered");
            },
            function(failureResponse) {
                alert("Failed to register");
               alert("Failed to register device:" + JSON.stringify(failureResponse));
            }
        )
    );
}

我们可以与mfp服务器连接。但是,我们无法注册推送通知设备。我们收到以下错误,

"com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushException:Response:Status=404, Text:Error 404: SRVE0295E: Error reported: 404\r\n, Error Message : Not Found"

(或)

"com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushException:Response:Status=500,Text:{\"errorCode\":\"UNEXPECTED_ERROR\",\"errorMsg\":\"Unexpected Error Encountered\"}, Error Message : Unexpected Error Encountered"

实际上,我们最近收到了这个错误。在此之前,相同的代码对我们来说运作良好。

任何帮助都会得到赞赏!!!

2 个答案:

答案 0 :(得分:2)

相应地更改注册设备的功能。 请浏览链接: https://github.com/MobileFirst-Platform-Developer-Center/PushNotificationsCordova/blob/release80/www/js/index.js

function registerDevice() {
    WLAuthorizationManager.obtainAccessToken("push.mobileclient").then(
        MFPPush.registerDevice(
            null,
            function(successResponse) {
                alert("Successfully registered");
            },
            function(failureResponse) {
                alert("Failed to register");
               alert("Failed to register device:" + JSON.stringify(failureResponse));
            }
        )
    );
}

答案 1 :(得分:0)

您的代码段未显示您是如何尝试将应用程序注册到推送服务的...

在打开问题之前,您是否按照推送教程的说明查看了示例推送应用程序?

请参阅教程和示例,此处:https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/notifications/handling-push-notifications/