IBM Mobile First Platform - 从适配器发送推送通知

Posted

技术标签:

【中文标题】IBM Mobile First Platform - 从适配器发送推送通知【英文标题】:IBM Mobile First Platform - Sending Push Notification from adapter 【发布时间】:2017-03-28 13:08:16 【问题描述】:

我正在使用具有推送通知功能的 IBM MobileFirst Platform 8.0 sdk 开发 ios 应用程序

我设法通过邮递员发送通知,过程是 从 MobileFirst 平台服务器获取令牌 并通过 rest api 连同令牌一起发送通知

我关注的教程链接是,

服务器端 - https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/notifications/sending-notifications/

客户端 - https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/notifications/handling-push-notifications/cordova/

获取令牌 - https://mobilefirstplatform.ibmcloud.com/tutorials/en/foundation/8.0/authentication-and-security/confidential-clients/#obtaining-an-access-token

目前,我正在尝试在应用触发适配器调用时发送推送通知

我目前卡在使用 WL.Server.invokeHttp 发送通知,下面是更多适配器代码

function sendPushNotification(message)     
    var result = getToken();    
    var access_token = "Bearer " + result["access_token"];    

    var requestStructure = 
        method : 'post',
        returnedContentType : 'json',
        path : '/imfpush/v1/apps/my.app/messages',
        headers: 
            "Content-Type" : "application/json",
            "Authorization" : access_token
        ,  
        parameters : 
          'message':'alert' : 'Test message'
        
    ;

    result = MFP.Server.invokeHttp(requestStructure);

    return result;



function getToken() 
   var requestStructure = 
        method : 'post',
        returnedContentType : 'json',
        path : '/mfp/api/az/v1/token',      
        headers: 
            "Content-Type" : "application/x-www-form-urlencoded",
            "Authorization" : "Basic UHVzaE5vd213123asdsadGlvbjpQdXNoTm90aasdasdWZpY2F0aW9u"
        ,
        parameters:
            "grant_type" : "client_credentials",
            "scope" : "push.application.my.app messages.write"
        
    ;

    var results = MFP.Server.invokeHttp(requestStructure);
    return results;

我好像有问题

parameters : 
    'message':'alert' : 'Test message'

我可能在这部分做错了,希望得到建议。

提前致谢

【问题讨论】:

您似乎在 JSON 中缺少目标:ibm.com/support/knowledgecenter/SSHS8R_8.0.0/… 【参考方案1】:

sendPushNotification 方法在 Mobile First 中调用 WS 时使用了错误的语法。 你云改成这样:

function sendPushNotification(message)     
var result = getToken();    
var access_token = "Bearer " + result["access_token"];    

var requestStructure = 
    method : 'post',
    returnedContentType : 'json',
    path : '/imfpush/v1/apps/my.app/messages',
    headers: 
        "Authorization" : access_token
    ,
     body: 
        content: 'message':'alert' : 'Test message',
        contentType: 'application/json'
    
;

result = MFP.Server.invokeHttp(requestStructure);

return result;

【讨论】:

以上是关于IBM Mobile First Platform - 从适配器发送推送通知的主要内容,如果未能解决你的问题,请参考以下文章

IBM Mobile First Platform 不采用 Ubuntu 操作系统中的 JquerMobile 文件夹

使用 IBM Mobile First Platform 7.1 和 Ionic 的适用于 Android 的 TouchID

使用 IBM API Manager 和 IBM Mobile First 的 OAuth

IBM Mobile First Push Notification 安全测试

注册客户 IBM Mobile First 时出错

IBM Mobile First - mfpdev-cli 安装失败