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!
















(10 votes, average: 3.80 out of 5)









This post has 8 comments
Yarden Refaeli
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?
kegogrog
Great! Actually my invitation had no req-choice tag, so there was only an ignore-button. But not any longer. Thanks!
Developing a Facebook Application for absolute beginners – step 5 : Emanuele Feronato
[...] Step 4: Inviting friends to use the application [...]
asif
Thank you, very good tutorial.Realy encourage to become a fb app developer. Thank’s again.
tibbi
nice, worked fine… is there any way to remove/modify that max 4 friend invites ? I couldnt find such anywhere
jasmine
@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
epoksiimpregnacija
Hello there?s a Internet Explorer error. Is anyone else?
Jeff Mullen
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!