Elke week worden er weer nieuwe campagnes gelanceerd op Facebook, veel van deze campagnes hebben dezelfde werkwijze: Doe iets, nodig je vrienden uit en plaats het op je wall. Soms wordt er een foto toegevoegd in het album van de gebruiker, maar daar houdt het meestal wel een beetje op. Sinds de introductie van Open Graph kun je echter veel meer op Facebook dan voorheen mogelijk was. Open Graph geeft de mogelijkheid laagdrempelig content te publiceren en extra diepgang te geven aan deze content. Daarom wordt er in dit artikel uitgelegd hoe het kan worden gebruikt bij de ontwikkeling van campagnes met Facebook.
Wat is Open Graph?
Er bevindt zich een zeer uitgebreid artikel over Open Graph op de developers omgeving waar alles haarfijn wordt uitgelegd. Voor ons artikel is het van belang om te weten dat Open Graph een verzameling is van acties en objecten. Acties zijn hierbij dingen die gebruikers kunnen doen: lezen, schrijven, spelen of de wel bekende ‘leuk vinden’. Objecten zijn in dit geval: artikelen, boeken, spelletjes of Facebook Pages. Er zijn heel veel verschillende acties en objecten, en Facebook geeft ontwikkelaars de mogelijkheid om zelf acties en objecten aan te maken. De onderstaande tabel geeft een aantal voorbeelden. Nu zijn de bovenstaande voorbeelden nog erg abstract, we kunnen deze acties en objecten relaties geven om het verhaal meer diepgang te geven. Zo kun je aan de actie ‘kook’ de relatie ‘gelegenheid’ geven. En aan het object ‘recept’ de relatie ‘ingrediënten’ geven. Op deze manier kun je het onderstaande verhaal creëren.

“Jaap kookt een lasagna met gehakt en pasta voor een verjaardag.”
Naast het aanmaken van relaties tussen acties en objecten kun je via Open Graph ook eenvoudig vrienden en locaties toevoegen. De vrienden worden daarbij getagged in de gepubliceerde actie, en omdat ze getagged worden komt het ook in hun ticker, en is het direct zichtbaar voor hun vrienden. Bij het taggen van een locatie wordt er een link gelegd naar een bepaalde plek, op deze manier kan er ook een Facebook Page worden getagged in een activiteit. Door gebruik te maken van deze zaken kan het verhaal als onderstaand worden getoond.
“Jaap kookt een lasagna met gehakt en pasta voor een verjaardag – met Bas en Peter – bij Jaap’s casa”.

Al deze activiteiten worden gepubliceerd in de ticker en zijn zichtbaar op alle devices. Ook is het zichbaar in de ‘recente activiteiten’ op hun profiel. Op het profiel is er een pagina waar een aggregatie van alle activiteiten wordt getoond. Des te meer relaties objecten en acties hebben des te meer er ook geaggregeerd kan worden. Zo kan er op basis van het bovenstaande verhaal worden weergegeven met wie Jaap het meeste uit eten gaat of welke ingrediënten hij het vaakst gebruikt.
De campagne
Om het verhaal wat begrijpelijker te maken gebruiken we een voorbeeld campagne. In de campagne kunnen gebruikers een reis naar Alaska winnen. Wat ze hiervoor moeten doen is simpel: Selecteer naar welke plek je wilt gaan in Alaska, met wie en waarom. Normaal gesproken zou er in deze campagne aan het einde van het proces worden gevraagd aan de gebruiker of het gepost mag worden naar Facebook, of als er genoeg permissies zijn wordt het automatisch gepost. Dit laatste kan alleen als de gebruiker hier toestemming voor heeft gegeven, en helaas is dit voor veel mensen een punt om af te haken omdat ze bang zijn dat hun wall wordt vol gespammed. En terecht, ik accepteer dit soort vensters ook nooit.
Definitie van de acties en objecten
Eén van de belangrijkste stappen van de campagne, het definiëren van de activiteiten. Hiervoor heb je geen technische kennis nodig, alleen vraagt het wat van de creatieve geest. In onze campagne gaan gebruikers een reis naar Alaska selecteren met vrienden. Deze reis bestaat uit een locatie, selectie van vrienden en een bericht. Waarbij we het onderstaande verhaal willen creëren.

“Jaap heeft een vakantie aangemaakt via Win een reis naar Alaska – met Bas en Peter. – Omdat we zo houden van de kou!”
Op de detail pagina van dit verhaal is direct te zien naar welke bestemming Jaap gaat. Daarbij wordt deze activiteit ook getoond in de ticker en newsfeed van Bas en Peter. Op alle profielen wordt tevens deze activiteit getoond. De “Win een reis naar Alaska” is de applicatie vanwaar de activiteit wordt gepubliceerd.

Vertalingen
Het aanmaken van acties en objecten moeten in het Engels worden gedaan. Anders is de kans vrij klein dat ze worden geaccepteerd door Facebook. In ons geval zullen we dus de actie “Create” en het object “Vacation” en “Destination” aanmaken. Vervolgens kun je deze vertalen en via de fb:locale tag de juiste vertalingen laten zien voor alle verhalen die je wilt publiceren. Meer informatie over vertalingen vind je in een artikel op het Facebook developers platform. In ons geval moeten we ook de vertalingen van onze applicatie verwerken in het Translations Admin Panel. Deze kan worden bereikt via de onderstaande URL, onder Browse Phrases kunnen de teksten van onze acties worden vertaald.
https://www.facebook.com/translations/admin/browse.php?app={APP_ID}&aloc=NL_nl
Authenticatie
Op het begin scherm van de campagne vragen we gebruiker om toestemming te geven op de applicatie. Hierbij vragen we niet te veel van een gebruiker alleen de profiel gegevens en toestemming om activiteiten te publiceren. Dit laatste wordt heel subtiel getoond aan de rechterzijde van de applicatie.


Voordat we kunnen publiceren
Na het inloggen van een gebruiker hebben we de mogelijkheid om acties te publiceren zonder dat we daar expliciete toestemming van een gebruiker voor nodig is. Om een activiteit te publiceren hebben we een aantal gegevens nodig: vakantie, bestemming, vrienden en reden om te winnen. De vakantie en bestemming zijn links naar een pagina waar meer informatie is te vinden over de locatie en vakantie. De vrienden is een lijst met user id’s en de reden is een tekst.
De link naar een pagina van de locatie moet een aantal Open Graph Meta data objecten bevatten om te definiëren waar het precies om gaat. Wij hebben twee pagina’s met meta objecten, de vakantie en de bestemming.
De vakantie bevat een overzicht van de aangemaakte vakantie. Dus met welke vrienden en naar welke stad in Alaska. Om Facebook alles goed te laten begrijpen worden de onderstaande meta objecten toegevoegd aan deze pagina.
<meta property=”og:type” content=”[APP_NAMESPACE]:vacation” />
<meta property=”og:title” content=”Jaap’s vakantie” />
<meta property=”og:image” content=”http://winreisalaska.nl/og.jpg” />
<meta property=”og:description” content=”De vakantie van Jaap” />
<meta property=”og:url” content=”http://winreisalaska.nl/vacation/1″>
Onze bestemming wordt Juneau, de hoofdstad van Alaska. Gebruikers die de activiteit in de ticker lezen kunnen ook klikken op de bestemming. Op deze pagina is meer informatie te vinden over de locatie en bevat de onderstaande meta objecten.
<meta property=”og:type” content=”[APP_NAMESPACE]:destination” />
<meta property=”og:title” content=”Juneau” />
<meta property=”og:image” content=”http://winreisalaska.nl/og.jpg” />
<meta property=”og:description” content=”Het extra koude Juneau” />
<meta property=”og:url” content=”http://winreisalaska.nl/juneau “>
Publiceren
Nu alle pagina’s met meta data goed zijn ingericht kunnen we de activiteiten gaan publiceren. In ons geval willen we de geplande vakantie van Jaap gaan publiceren. Dit kunnen we doen via de onderstaande graph API call.
-F ‘vacation=http://wineenreisnaaralaska.nl/vacation/1
-F ‘destination=http://wineenreisnaaralaska.nl/Juneau
-F ‘tags=[FRIEND_ID_1],[FRIEND_ID_2] ‘https://graph.facebook.com/me/wineenreisnaaralaska:create’
Aggregaties
Nu de activiteiten worden gepubliceerd zijn deze zichtbaar in de newsfeed, ticker en op het profiel van de gebruiker. Hier bevindt zich onder het tabje “Win een Reis naar Alaska” een aggregatie naar alles wat de gebruiker heeft gedaan. Een aantal mogelijke aggregaties zijn: De vrienden die mee gaan op vakantie, de bestemming en een kaart van de locatie. Stel dat er meerdere vakanties kunnen worden aangemaakt, kan hier ook een opsomming worden gemaakt van het aantal vakanties of de favoriete bestemmingen.
Conclusie
Het gebruik maken van Open Graph geeft mogelijkheden om meer bereik te krijgen via Facebook. Ook is het ideaal voor een crossplatform applicatie, omdat de web implementatie ook direct werkbaar is voor mobiel web. De uitdagingen liggen vooral bij het maken van alle object definities, gezien elke pagina een goede Open Graph implementatie nodig heeft. Deze manier van werken heeft invloed op de ontwikkeling van een project, al bij de concept fase zal er moeten worden nagedacht over de mogelijke activiteiten die gepubliceerd worden. Daarbij is er een acceptatie procedure van soms wel een paar weken voor nieuwe acties en objecten. Het is dus aan te raden om direct na de concept fase de applicatie aan te maken en de acties en objecten te laten keuren door Facebook.
Op welke manier gebruiken jullie Open Graph? Wordt het al actief meegenomen in de conceptontwikkeling?