O'Reilly logo

Facebook Cookbook by Jay Goldman

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Sending Notifications

Problem

I need to send Notifications out to my users and their friends.

Solution

Use the Notifications.send() method to send on-Facebook Notifications:

$to_ids = array('12345', '67890');
$result = $facebook->api_client->notifications_send($to_ids,
 'Your super disco nap is over! Time to wake up!');

You can send a Notification to the current loggedinuser by passing an empty string for to_ids. If you send the Notification to other users, make sure that the content starts with a verb because Facebook will prepend your text with the user’s name (e.g., “Jay Goldman...”). The prepending doesn’t happen if you send the Notification to the current loggedinuser.

The second parameter is the actual content for the Notification and allows for some FBML and markup, so you can experiment to find out what’s allowable. Notifications.send() returns a comma-separated list of the users it was able to send the Notification to.

Use the Notifications.sendEmail() method to send off-Facebook Notifications:

$recipients = array('12345', '67890');

$subject = 'Hello Disco Nappers!';

$text = 'This is a reminder that it\'s almost time for you to take your
 next Disco Nap!';

$fbml = 'This is a reminder about your forthcoming Disco Nap with
 <fb:name uid="11223" useyou="false" />!';

$result = $facebook->api_client->notifications_sendEmail($recipients,
 $subject, $text, $fbml);

Every application has an imposed limit on the number of emails you can send per day, which you can find in your Facebook Insights ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required