Developing a Facebook Application for absolute beginners – Step 4

The best way to do some viral marketing through Facebook is using inite forms to allow users to share applications with their friends who might not have otherwise known about them.

Since users are invited to use applications by friends, they are (at the moment) likely to view each invite request, providing them an opportunity to be converted into an application user as well.

I wrote “at the moment” because there is a thin line between friends invites and spam. I have friends inviting me every given day to join pointless groups or something similar.

Moreover, it’s possible (but really lame) to make the invitation mandatory in order to continue with the application (I found a test giving you the result only after I sent the invitation to 20 friends).

Although possible, this is really a malpractice, and the Stop forcing me to “Invite 20 Friends”!! group is just one of many complaints.

Anyway, assuming you are using the invitation form in a polite way, this is what you should add to the script seen in step 3 after the Php close tag ?>

60
61
62
63
64
65
66
<fb:request-form
     action="http://apps.facebook.com/genderz_demo/"
     method="POST" 
     type="genderz_demo" 
     content="Hello. Please use my app. <?php echo htmlentities("<fb:req-choice url=\"http://apps.facebook.com/genderz_demo/\" label=\"Try it!!\"") ?>" >
     <fb:multi-friend-selector showborder="false" actiontext="Send some spam invites to Genderz Demo!"> 
</fb:request-form>

Line 60: request-form tag creates a form that sends requests to the selected users.

Line 61: the action of the form, just like an HTML form – it’s the URL where a user gets redirected after submitting or skipping the form

Line 62: the method, can be GET or POST just like HTML forms. If you aren’t familiar with HTML forms, always use POST

Line 63: the type, typically your application name

Line 64: the content, that’s the contents of the request or invitation to be sent. It should use FBML formatting that contains only links and the special tag to specify the buttons to be included in the request. It must be encoded with htmlentities PHP function.

In the req-choice tag you will specify the url of your application and the text shown in the label inviting the friend to launch the application.

Your friend will display the invitation this way:

notice the Hello. Please use my app. and the Try it!! strings

Line 65: multi-friend-selector tag opens the big friends selector

Here, notice the Send some spam invites to Genderz Demo! string.

A user may invite a number of people each day equal to the maximum number of requests allocated to your application (only 4, in my application). If a user attempts to go over this limit, he will get an error

Line 66: Always close opened tags…

And now you have a wonderful invite form! Next step, notifications!

Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars (10 votes, average: 3.80 out of 5)
Loading ... Loading ...
Be my fan on Facebook and follow me on Twitter! Exclusive content for my Facebook fans and Twitter followers

This post has 8 comments

  1. Yarden Refaeli

    on October 7, 2009 at 1:06 pm

    Thanks, it’s really helpful. Can you send invitations for the app using PHP and not FBML? Is there API call you can make to do this?

  2. kegogrog

    on October 8, 2009 at 1:24 pm

    Great! Actually my invitation had no req-choice tag, so there was only an ignore-button. But not any longer. Thanks!

  3. Developing a Facebook Application for absolute beginners – step 5 : Emanuele Feronato

    on October 9, 2009 at 4:33 pm

    [...] Step 4: Inviting friends to use the application [...]

  4. asif

    on October 14, 2009 at 11:05 am

    Thank you, very good tutorial.Realy encourage to become a fb app developer. Thank’s again.

  5. tibbi

    on January 3, 2010 at 3:23 pm

    nice, worked fine… is there any way to remove/modify that max 4 friend invites ? I couldnt find such anywhere

  6. jasmine

    on December 4, 2010 at 8:04 pm

    @emanuele;
    When sending an invite form and try to add sum of invited friends, the invite form not inserted any data in mysql in internet explorer:
    if ($_POST['ids']){
    // insert into bla blah sizeof($_POST['ids'])
    }
    Why aftre clicking the fb:serverFbml there is somting like this in ie:
    http://apps.facebook.com/xxx/xxx.php/?session=%7B%22session_key%22%3Axxx

    Thanks in advance

  7. epoksiimpregnacija

    on April 5, 2011 at 1:10 am

    Hello there?s a Internet Explorer error. Is anyone else?

  8. Jeff Mullen

    on August 29, 2011 at 9:08 am

    This content is excellent! It is a wonderful thing that you have shown how to send requests to other users–something that is sadly lacking in other tutorials. However, the form could use some work. On the first line of the page, for example, it appears as though “inite forms” should be “invite forms.”

    By fixing that little typo, you can make an awesome tutorial even more awesome!