Come sviluppare giochi per Facebook

Lasciare l'integrazione fino alla fine significa che è tutto ciò che stai testando, piuttosto che ogni altro aspetto del tuo gioco.

Come sviluppare giochi per Facebook

Ora devi scaricare ActionScript 3 SDK per Facebook. Avrai bisogno del file graphapi_web_1_0.swc, che deve essere copiato nella cartella "libs" del tuo progetto Flash Builder. L'integrazione di base è abbastanza semplice:

Facebook.init("YourAppID",loginHandler);

“loginHandler” è una funzione che accetta due oggetti come parametri, chiamati “success” e “fail”. Solo se il giocatore ha già effettuato l'accesso a Facebook e ha già concesso alla tua app il permesso di accedere al proprio profilo viene restituito "successo"; in caso contrario, dovrai effettuare una chiamata diretta tramite JavaScript:

ExternalInterface.call("reindirizzamento","YourAppID", "publish_stream", " http://apps.facebook.com/YourAppName/”)

Ciò provoca una richiesta di accesso (se necessario) e quindi l'autorizzazione a pubblicare nel feed di notizie del giocatore. In questa fase potresti chiedere anche altri permessi, ma tieni presente che più ne chiedi, meno persone giocheranno. Questo eseguirà quindi nuovamente la funzione Facebook.init di cui sopra, che restituirà un oggetto "successo" a loginHandler, se tutto va bene. Una volta ottenuto un oggetto "successo", puoi estrarre la sessione Facebook che è stata restituita in questo modo:

var sessione: FacebookSession=Facebook.getSession();

Ora puoi recuperare le informazioni di base dell'utente utilizzando un HTTPService. La proprietà URL di HTTPService conterrà:

http://graph.facebook.com/+session.uid;

La proprietà UID della sessione di Facebook è l'identificatore univoco del giocatore e se lo digitassi direttamente nella barra degli indirizzi del browser vedresti apparire i dati del suo profilo. Utilizzando l'oggetto HTTPService è possibile acquisire questi dati in Flex Builder. I dati ritornano in formato JSON e il modo più semplice per gestirli è scaricare corelib.swc e copiarlo nella cartella libs.

Una volta restituiti i dati, è possibile creare un oggetto contenente tutte le informazioni dell'utente:

var userdata: Object=JSON.decode (theString);

Il nome completo dell'utente verrà quindi trovato in userdata.name.

Quindi, è così che importi le informazioni di base. Puoi anche, ad esempio, pubblicare sulla bacheca dell'utente una dichiarazione come:

Facebook.ui(“stream.publish”,”iframe”,Parametri);

L'oggetto Parametri può includere prompt del messaggio, titolo, icona e testo precompilato e farà apparire un prompt che consente al giocatore di aggiungere il proprio aggiornamento di stato. Facendo clic su "Pubblica", questo apparirà nel loro feed di notizie e, a seconda delle loro impostazioni sulla privacy, anche nella loro rete di amici. E qui stanno sia l’opportunità che il pericolo.

Ho imparato a mie spese che semplicemente perché Facebook ti consente di fare qualcosa tramite la sua API, ciò non significa necessariamente che approvi che tu lo faccia. Nella mia ignoranza ho pubblicato automaticamente un aggiornamento di stato sulla bacheca del giocatore al completamento di ogni gioco e l'ho scoperto solo questo era contro la politica di Facebook (non gioco a molti giochi, come puoi vedere) dopo che il gioco è stato chiuso da Facebook amministratori.

Aveva raggiunto 60.000 riproduzioni in tre giorni e questo faceva sembrare che l'app stesse inviando spam, o almeno questo è quello che presumo dall'e-mail di notifica automatizzata singolarmente inutile di Facebook. Fu un momento da pacca sulla fronte di proporzioni bibliche, e così trascorsi le successive 72 ore fino a i miei gomiti nei documenti politici e modificando la funzionalità del gioco fino a completarla conforme.