Build Status

NAME

WWW::Google::Cloud::Messaging - Google Cloud Messaging (GCM) Client Library

SYNOPSIS

use WWW::Google::Cloud::Messaging;

my $api_key = 'Your API Key';
my $gcm = WWW::Google::Cloud::Messaging->new(api_key => $api_key);

my $res = $gcm->send({
    registration_ids => [ $reg_id, ... ],
    collapse_key     => $collapse_key,
    data             => {
      message => 'blah blah blah',
    },
});

die $res->error unless $res->is_success;

my $results = $res->results;
while (my $result = $results->next) {
    my $reg_id = $result->target_reg_id;
    if ($result->is_success) {
        say sprintf 'message_id: %s, reg_id: %s',
            $result->message_id, $reg_id;
    }
    else {
        warn sprintf 'error: %s, reg_id: %s',
            $result->error, $reg_id;
    }

    if ($result->has_canonical_id) {
        say sprintf 'reg_id %s is old! refreshed reg_id is %s',
            $reg_id, $result->registration_id;
    }
}

DESCRIPTION

WWW::Google::Cloud::Messaging is a Google Cloud Messaging (GCM) client library, which implements web application servers.

Currently this supports JSON API.

SEE ALSO http://developer.android.com/guide/google/gcm/gcm.html#send-msg.

METHODS

new(%args)

Create a WWW::Google::Cloud::Messaging instance.

my $gcm = WWW::Google::Cloud::Messaging->new(api_key => $api_key);

Supported options are:

build_request(\%payload)

Returns HTTP::Request suitable for sending with arbitrary HTTP client avalaible on CPAN. Response can than be decoded using WWW::Google::Cloud::Messaging::Response.

my $res = $gcm->send({
    registration_ids => [ $reg_id ], # must be arrayref
    collapse_key     => '...',
    data             => {
        message   => 'xxxx',
        score     => 12345,
        is_update => JSON::true,
    },
});

The possible options are as follows:

send(\%payload)

Build request using build_request and send message to GCM. Returns WWW::Google::Cloud::Messaging::Response instance.

The above is just a copy of the official GCM description and so could be old. You should check the latest information in http://developer.android.com/guide/google/gcm/gcm.html#send-msg.

AUTHOR

xaicron xaicron@cpan.org

COPYRIGHT

Copyright 2012 - xaicron

LICENSE

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

SEE ALSO

WWW::Google::Cloud::Messaging::Response