Wir wären auch gerne mal WikiLeaks. Die Richtlinen von StudiVZ für Werbe-Gadgets veröffentlichen wir exklusiv auf mehrblog.net gleich nach dem Klick:
Technische Richtlinien
API Beschreibung
URL-basierte Gadgets <Content type=”URL”> werden nicht unterstützt.
Views
Momentan wird ein Group View,eine Profile View, sowie ein Canvas View angeboten.
Jede View kann separat definiert werden, Multi-Views werden unterstützt (view=”group,profile”).<Content type="html" view="group"> <Content type="html" view="canvas"> <Content type="html" view="profile">
Unterstützte FeaturesBitte schau in die Gadget-API-Overview.
Skinning
"properties" :{"BG_COLOR": "", #fff | studiVZ: #ffe0e0 | meinVZ: #fff0e1 | schülerVZ: #ffe0e0 "BG_IMAGE": "", none "BG_POSITION": "", top left "BG_REPEAT": "", no-repeat "FONT_COLOR": "", #000 "ANCHOR_COLOR": "" studiVZ: #ee0000 | meinVZ: #ff781e | schülerVZ: #dc1e64}
TrackingGadget-Tracking erfolgt über das explizite Registrieren von Tracking-Events im Gadget-Code. Die Auswertung erfolgt momentan offline über automatisch generierte Reports. Es werden zwei Arten von Tracking angeboten:
1. Tracking eines click-throughs zu einer externen Seite
<a onclick="gadgets.tracking.externalLink('http://www.google.de', this);">Google</a>Dieser Link fügt einen Eintrag für die URL www.google.de dem Tracking-Report hinzu, und öffnet ein neues Browserfenster mit der Ziel URL.
2. Tracking einer Benutzer-Interaktion mit dem Gadget
gadgets.tracking.reportInteraction('submit', 1);Dieses Code Beispiel fügt eine Interaktion mit dem Label ’submit’ (siehe Liste der Interaktionen) mit dem Wert 1 hinzu.
Cache
<Require feature="cache" />Nach dem Upload des Zip-Files (in dem alle statischen Files enthalten sind), kann dieser Content vom studiVZ-CDN geladen werden.
Um die Anzahl der Http-Requests gering zu halten, empfehlen wir, dass die Javascript- und CSS-Dateien in konkatenierter Form hochgeladen werden, also als jeweils ein einziges File.
Sollten jedoch mehrere Javascript-Files benötigt werden, solltest Du die Dependencies ihrer Skripte beachten.
So kann man, z.B. eine Boot-Sektion am Ende des Content-Bereichs hinzufügen:<Content type="html" view="canvas"><![CDATA[<!-- Your HTML Code --> <script type="text/javascript"> gadgets.util.registerOnLoadHandler(function() {gadgets.cache.getCachedJs(['js/myFirstScript.js','js/ mySecondScriptThatDependsOnScriptOne.js','js/myOtherScript.js'],'myCallbackFunction'); gadgets.cache.getCachedCss(['css/app.css']);});</script>]]></Content>In diesem Fall sind wir davon ausgegangen das sich die Javascript Dateien in einem Unterordner js (analog css) in deiner Zip Datei befinden.
MyCallBackFunction ist die Funktion die nach dem vollständigen laden der Scripte ausgeführt werden soll. Die Callback function kann unterstützt auch namespaces so z.B. ‘My.Name.space’.Deployment
• alle Dateien werden in ein Zip-Archiv eingebunden
• die Archive sollen alle statischen Inhalte (Bilder, CSS-Dateien, JS-Dateien) enthalten, diese werden von StudiVZ über das CDN ausgeliefert
• Directory-Struktur innerhalb der Zip-Datei:° Gadget Xml muss im root des zip files liegen
° Gadget Xml muss den gleichen Namen haben wie das zip file selbst
° Javascript und Css Dateien sollten nach Möglichkeit in konkatenierter Form hochgeladen werden, also als jeweils ein einziges File.Inhalte
• max 50KB on load, d.h. wenn das Gadget geladen wird bis zur ersten Interaktion des Users mit dem Gadget
• dynamische Inhalte werden ausschließlich auf den Systemen der 3rd-Party gespeichert
• der Anbieter des Gadgets muss davon ausgehen, dass die Systeme, die diese Inhalte ausliefern, unter hoher Last stehen können (bis ca. 2500 Req/sec)
• der Gadget-Developer muss dafür Sorge tragen, dass das Gadget in keiner Weise für Angriffe benutzt werden kann (XSS, CSRF usw.)Preferences
• Voreinstellung für ein Gadget werden bei StudiVZ gespeichert und sind über die API zugreifbar
• max. 2KB dürfen pro Nutzer als Daten für Voreinstellungen benutzt werden! UserPreferences mit datatype=”list” werden zur Zeit nicht unterstützt
CPU Auslastung
• IAB’s Standards beachten
• Animationen, Spiele usw. müssen so beschaffen sein, dass auch Computer mit nur durchschnittlicher Ausstattung keine Performanceprobleme bekommenJavascript
• keine ‘onClick’ Anweisungen im JS Code
IFrames
• Gadgets werden grundsätzlich in IFrames eingebunden
Viewer-Owner-Unterscheidung
In der aktuellen Phase der Gadget-Integration findet die Unterscheidung zwischen Viewer und Owner des Gadgets in der URL statt. Dabei werden nicht die plattforminternen User-IDs abgeglichen.
Liste der Interaktionen
Name Beschreibung play Durch Nutzer initiierter Start von Medien pause Durch Nutzer initiiertes Anhalten von Medien stop Durch Nutzer initiiertes Ausschalten von Medien sound_on Durch Nutzer initiierter Ton sound_off Durch Nutzer initiiertes Ausschalten von Ton finish Video-, Spiel- oder Audio-Stream erreicht das Ende previous Der Nutzer klickt, um in der Anzeige eine Seite
nach vorne zu Blätternnext Der Nutzer klickt, um in der Anzeige eine Seite nach hinten zu Blättern tab_1 Der Nutzer klickt auf die erste Registerkarte in einem schichtweise angeordneten Anzeigentext tab_2 Der Nutzer klickt auf die zweite Registerkarte in einem schichtweise angeordneten Anzeigentext tab_3 Der Nutzer klickt auf die dritte Registerkarte in einem schichtweise angeordneten Anzeigentext tab_4 Der Nutzer klickt auf die vierte Registerkarte in einem schichtweise angeordneten Anzeigentext tab_5 Der Nutzer klickt auf die fünfte Registerkarte in einem schichtweise angeordneten Anzeigentext destination_url_1 Der Nutzer klickt auf den ersten Exit-Link destination_url_2 Der Nutzer klickt auf den zweiten Exit-Link destination_url_3 Der Nutzer klickt auf den dritten Exit-Link destination_url_4 Der Nutzer klickt auf den vierten Exit-Link destination_url_5 Der Nutzer klickt auf den fünften Exit-Link view_detail Der Nutzer klickt darauf, um weitere Details eines Produkts, Artikels usw. anzuzeigen. search Der Nutzer klickt darauf, um eine Galerie, Liste usw. zu durchsuchen. dropdown Der Nutzer verwendet das Dropdown-Menü im Anzeigentext item_1 Der Nutzer klickt auf den ersten Artikel in einer Liste item_2 Der Nutzer klickt auf den zweiten Artikel in einer Liste item_3 Der Nutzer klickt auf den dritten Artikel in einer Liste item_4 Der Nutzer klickt auf den vierten Artikel in einer Liste item_5 Der Nutzer klickt auf den fünften Artikel in einer Liste vote Der Nutzer übermittelt eine Abstimmung oder Stimme Der Nutzer klickt darauf, um ein Element zu drucken subscribe Der Nutzer entscheidet sich, eine Liste oder einen Feed zu abonnieren add Der Nutzer klickt darauf, um ein Element einem Einkaufswagen oder einer Liste hinzuzufügen remove Der Nutzer klickt darauf, um ein Element aus einem Einkaufswagen oder einer Liste zu entfernen view_cart Der Nutzer klickt darauf, um den Einkaufswagen anzuzeigen next_item Der Nutzer klickt darauf, um das nächste Element in einer Liste oder Produktgallerie anzuzeigen previous_item Der Nutzer klickt darauf, um das vorherige Element in einer Liste oder Produktgallerie anzuzeigen buy Der Nutzer klickt darauf, um ein Element zu kaufen Content Richtlinien
Text-Richtlinien
Es gelten die folgenden Richtlinien zur Gestaltung von Textinhalten innerhalb eines Gadgets:
• Das Produkt bzw. die Firma muss klar erkennbar sein (der werbliche Charakter muss klar sein)
• Informelle „Du”/”Dein” oder neutrale Ansprache (kein formales „Sie”)
• Keine Anglizismen (außer Produkt- bzw. Firmennamen)
• URL ohne „www” nur in Form von beispiel.de oder firma.com
• Keine Verwendung der Namen studiVZ, schuelerVZ oder meinVZ im Text
• Keine studiVZ-Begriffe (z.B. Gruscheln oder Gruppennamen)
• Keine Zeichenketten (Bsp. …+…= J = $)
• keine Bilder (z.B. _̴ı̴̴̡̡̡ ̡ ̡ ̡ ̡̡͡|̲̲̲͡͡͡ ̲▫̲͡ ̲▫̲͡ ̲▫̲͡ ̲̲̲͡͡π̲̲͡ ̲▫̲͡ ̲▫̲͡ ̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲̲͡͡͡͡͡͡͡͡͡͡͡▫̲̲͡͡ ̲|̡̡̡ ̡_)
• Keine Großbuchstabenwörter
• Die einzelnen Teaserzeilen und Sätze werden mit Satzzeichen beendet.Links
Generell muss zwischen Links die eine Interaktion innerhalb des Gadgets veranlassen, sowie Links die eine externe Ziel-URL aufrufen unterschieden werden. Es muss dem Benutzer verdeutlicht werden wenn er den Kontext des Gadgets verlässt und sich zu einer externen Seite bewegt. StudiVZ schlägt vor, das Links zu externen Ziel-URLs unterstrichen und farblich von den Interaktions-Links abgesetzt werden.
Externe Ziel-URLs dürfen keine Seiten aufrufen die zusätzliche Pop-Up/Pop-Under Fenster beim Öffenen
oder Schließen beinhalten.
Weiterhin dürfen keine Dialogfelder (wie z.B. Warn-, oder Bestätigungsmeldungen) aus einem Gadget
heraus generiert werden.Dynamische Inhalte
Alle Inhalte eines Gadgets, einschliesslich dynamisch aktualisierter, nachgeladener oder zum Download angebotener Bestandteile müssen diesen Richtlinien entsprechend aufbereitet sein. Dies gilt insbesondere für den Werbekodex schülerVZ wenn das Gadget auf dieser Plattform angeboten werden soll.
Audio/Video
Audio-, Video-, oder Animations-Inhalte dürfen nicht ohne Benutzerinteraktion automatisch nach dem Laden des Gadgets starten. Die maximale Bildfrequenz bei Video sollte 15-20 fps nicht überschreiten. Sind Audio Inhalte enthalten, muss das Gadget ein Benutzerinterface anbieten, um diese zu aktivieren/deaktivieren.
Handelt es sich bei dem Gadget um ein durch Targeting eingebundenes Werbeformat-Format, darf die
Länge der Animation/Video 30 Sekunden nicht überschreiten.
Bitte beachten sie auch die Technischen Richtlinien bzgl. Flash und CPU Auslastung.Werbekodex schülerVZ
Die minderjährige Zielgruppe von schülerVZ bedarf eines besonderen Schutzes vor unlauterer, entwicklungsbeeinträchtigender und moralisch bedenklicher Werbung. Daher ist ein fundierter Werbekodex von den Werbepartnern zu beachten, der die gesetzlichen Bestimmungen zum Jugendmedienschutz auf die im schuelerVZ angebotenen Werbeformen anwendet. Produkte und Inhalte, für die auf schuelerVZ keinesfalls geworben werden darf, sind:
• Zigaretten / Alkohol / Rauschmittel
• Druckluftwaffen / Verteidigungsmittel
• Filme, Serien, DVDs und PC Spiele mit einer FSK oder USK über 12 Jahre
• Wetten / Gewinnspiele, die zur Generierung von Konsumenten-Daten dienen
• Graffitisprays und – Utensilien
• Parteien und politische, religiöse und weltanschauliche Gesinnungen und Vereinigungen
• Sonst. Dienstleistungen und Produkte mit jugendgefährdenden InhaltenDownloads und Applikationen
Das Anbieten von direkten Downloads, weder automatisch noch durch Benutzerinteraktion, in Gadgets ist nicht zulässig. Eventuelle Downloads müssen von einer Landingpage auf der externen Domain des Gadget-Anbieters aus initiiert werden.
Malware
Gadgets dürfen keine Bestandteile enthalten die Mal- oder Spyware bereitstellen, bewerben, oder verlinken. Zu dieser unzulässigen Kategorie an Funktionalität zählt z.B. Software die ohne das Wissens des Benutzers Eingriffe in dessen Computer vornimmt.
Datenschutz
Sollten in einem Gadget persönliche Daten erhoben werden (z.B. Email Adresse, Telefonummer, Anschrift, etc.) muss der Gadget Entwickler eindeutig hervorheben durch welche Organisation die Daten erhoben werden. Der Gadget Anbieter ist dafür verantwortlich, das geltende Datenschutzbestimmungen eingehalten werden. Dies betrifft insbesondere die Rechte des Benutzers seine gespeicherten Daten beim Gadget Anbieter einzusehen, sowie deren Löschung zu veranlassen.
ja super, jetzt können wir alle Werbegadgets bauen. Und dann?!
und dann werden die vzler reich.
achja gibts auch user und passwort für die Links`?
@oli
die sache ist das diese Informationen eigentlich “geheim” sind xD und nun im mehrblog stehen
@ kawie noch nicht xD
wie gesagt das ganze war eiegntlich mal geheim
deswegen in der einleitung auch “wikileaks”
@KaWie Alle verlinkten Artikel außer die Gadget-API-Overview sind auch hier veröffentlicht. Die Gadget-API-Overview folgt noch.