首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何实现推送通知?

如何实现推送通知?
EN

Stack Overflow用户
提问于 2013-06-14 00:00:19
回答 2查看 1.1K关注 0票数 0

这个问题可能很愚蠢,但我还是会试一试。我有一个运行在grails框架上的have服务。目前,我的客户(android、iOS和windows phone设备)通过经典的http get/post请求与这些服务通信。我需要添加一个新的服务来以JSON格式向客户端推送一些通知(保持连接活动不是一个选项-定期轮询也不是),棘手的部分是我希望服务尽可能独立于客户端平台(因此,像Google Cloud Messaging和Apple push Notification service这样的工具不能使用)……对如何做到这一点有什么建议吗?这有可能实现吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-06-14 02:26:42

当你说来自android, iOS and windows phonehttp get/post请求时,我假设你说的是他们的浏览器。在这种情况下,您可以使用supported by major browsersWebSocket来实现相同的功能。

在这种情况下,我会保证使用Atmosphere

票数 0
EN

Stack Overflow用户

发布于 2014-02-18 14:10:10

我认为Grails的一些插件并不稳定。对于Android,你可以使用脚本框架来做http post。示例:

代码语言:javascript
运行
复制
def pushToAndroidDevice(String deviceToken, Map data) { 
    OAuthRequest request = new OAuthRequest(Verb.POST, 'https://android.googleapis.com/gcm/send')
    request.addHeader("Authorization", "key=" + apiKey)
    request.addHeader("Content-Type", "application/json")

    def jsonBody = [:]
    def deviceTokens = [] << deviceToken
    jsonBody.registration_ids = deviceTokens
    jsonBody.data = data

    request.addPayload((jsonBody as JSON).toString())

    Response response = request.send()
    return JSON.parse(response.body).toString()
}

对于iOS,您可以使用库javaPNS:https://code.google.com/p/javapns/

代码语言:javascript
运行
复制
import javapns.Push;
....
def pushToIOSDevice(String deviceToken, Map data) {
    String certificatePath = grailsConfig.apns.certificate //path of your certificate (*.p12)
    String password =  grailsConfig.apns.password //your apns password

    PushNotificationPayload payload = PushNotificationPayload.complex();
    payload.addAlert(data.get("message"));
    payload.addCustomDictionary("title", data.get("title"));
    payload.addCustomDictionary("action", data.get("action"));

    Push.payload(payload, certificatePath, password, false, deviceToken);           

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17091718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档