通过java发送推送通知GCM

use*_*527 6 java android push-notification google-cloud-messaging

我已经配置了客户端Android谷歌云消息传递(GCM)来接收推送通知,但我无法在java中配置服务器以向设备发送通知.我怎么能?

sin*_*ohn 15

您可以使用gcm-server.jar,其中包含用于GCM消息传递的帮助程序方法.要获得此jar,您可以通过Android SDK Manager 安装"[Deprecated] Google Cloud Messaging for Android Library".不要让弃用的名称让您感到困惑.仅弃用客户端部分,而不是服务器端.
安装后你可以找到它"ADT_SDKROOT\sdk\extras\google\gcm".示例文件夹包含一个非常容易理解的演示服务器.
发送GCM消息只涉及几行代码:

    final String GCM_API_KEY = "yourKey";
    final int retries = 3;
    final String notificationToken = "deviceNotificationToken";
    Sender sender = new Sender(GCM_API_KEY);
    Message msg = new Message.Builder().build();

    try {
                Result result = sender.send(msg, notificationToken, retries);

                if (StringUtils.isEmpty(result.getErrorCodeName())) {
                    logger.debug("GCM Notification is sent successfully");
                    return true;
                }

                logger.error("Error occurred while sending push notification :" + result.getErrorCodeName());
    } catch (InvalidRequestException e) {
                logger.error("Invalid Request", e);
    } catch (IOException e) {
                logger.error("IO Exception", e);
    }
    return false;
Run Code Online (Sandbox Code Playgroud)