com.google.android.gcm.server.Result

Here are the examples of the java api class com.google.android.gcm.server.Result taken from open source projects.

1. MessageEndpoint#doSendViaGcm()

Project: solutions-mobile-shopping-assistant-backend-java
File: MessageEndpoint.java
/**
   * Sends the message using the Sender object to the registered device.
   * 
   * @param message
   *            the message to be sent in the GCM ping to the device.
   * @param sender
   *            the Sender object to be used for ping,
   * @param deviceInfo
   *            the registration id of the device.
   * @return Result the result of the ping.
   */
private static Result doSendViaGcm(String message, Sender sender, DeviceInfo deviceInfo) throws IOException {
    // Trim message if needed.
    if (message.length() > 1000) {
        message = message.substring(0, 1000) + "[...]";
    }
    // This message object is a Google Cloud Messaging object, it is NOT 
    // related to the MessageData class
    Message msg = new Message.Builder().addData("message", message).build();
    Result result = sender.send(msg, deviceInfo.getDeviceRegistrationID(), 5);
    if (result.getMessageId() != null) {
        String canonicalRegId = result.getCanonicalRegistrationId();
        if (canonicalRegId != null) {
            endpoint.removeDeviceInfo(deviceInfo.getDeviceRegistrationID());
            deviceInfo.setDeviceRegistrationID(canonicalRegId);
            endpoint.insertDeviceInfo(deviceInfo);
        }
    } else {
        String error = result.getErrorCodeName();
        if (error.equals(Constants.ERROR_NOT_REGISTERED)) {
            endpoint.removeDeviceInfo(deviceInfo.getDeviceRegistrationID());
        }
    }
    return result;
}