Jan Henning Thorsen > Mojo-APNS-0.05 > Mojo::APNS

Download:
Mojo-APNS-0.05.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.05   Source  

NAME ^

Mojo::APNS - Apple Push Notification Service for Mojolicious

VERSION ^

0.05

DESCRIPTION ^

This module provides an API for sending messages to an iPhone using Apple Push Notification Service.

This module does not support password protected SSL keys.

NOTE! This module will segfault if you swap "key" and "cert" around.

SYNOPSIS ^

  use Mojo::APNS;

  my $apns = Mojo::APNS->new(
              key => '/path/to/apns-dev-key.pem',
              cert => '/path/to/apns-dev-cert.pem',
              sandbox => 0,
            );

  $apns->on(drain => sub { $apns->loop->stop; })
  $apns->send(
    "c9d4a07c fbbc21d6 ef87a47d 53e16983 1096a5d5 faa15b75 56f59ddd a715dff4",
    "New cool stuff!",
    badge => 2,
  );

  $apns->on(feedback => sub {
    my($apns, $feedback) = @_;
    warn "$feedback->{device} rejected push at $feedback->{ts}";
  });

  $apns->ioloop->start;

EVENTS ^

error

Emitted when an error occur between client and server.

drain

Emitted once all messages have been sent to the server.

feedback

  $self->on(feedback => sub {
    my($self, $data) = @_;
    # ...
  });

This event is emitted once a device has rejected a notification. $data is a hash-ref:

  {
    ts => $rejected_epoch_timestamp,
    device => $device_token,
  }

Once you start listening to "feedback" events, a connection will be made to Apple's push notification server which will then send data to this callback.

ATTRIBUTES ^

cert

Path to apple SSL certificate.

key

Path to apple SSL key.

sandbox

Booleand true for talking with "gateway.sandbox.push.apple.com" instead of "gateway.push.apple.com". Default is true.

ioloop

Holds a Mojo::IOLoop object.

METHODS ^

on

Same as "on" in Mojo::EventEmitter, but will also set up feedback connection if the event is "feedback".

send

  $self->send($device, $message, %args);
  $self->send($device, $message, %args, $cb);

Will send a $message to the $device. %args is optional, but can contain:

$cb will be called when the messsage has been sent or if it could not be sent. $error will be false on success.

    $cb->($self, $error);

AUTHOR ^

Glen Hinkle - tempire@cpan.org

Jan Henning Thorsen - jhthorsen@cpan.org

syntax highlighting: