User Tools

Site Tools


de:developer:ideas:extensions:ext-network

Diese Dokumentationsseite ist Mitglied des Entwicklerteils und Ideen zu den Erweiterungen dieses Wikis.

Erweiterung ext-network (Entwicklerversion, kein produktiver Einsatz möglich)

Daten zur Erweiterung:

  • Kurzbeschreibung: Anbindung an Werbenetzwerke
  • Version: v0.0.0
  • Hat Adminbereich? Ja
  • Hat Gastbereich? Ja
  • Hat Mitgliederbereich? Ja
  • Abhängigkeiten: Keine
  • Releae-Revision: Noch nicht fertiggestellt

Aus dem Aufgabentext herauskopiert:

Ein Mailtausch lebt von Sponsoren (sei es direkt angemeldete - dazu nutzen Sie bitte ext-sponsor - oder über Werbenetzwerke angeworbene), da auch irgentwo die Kosten (Domain-, Serverkosten und mehr) gedeckt werden müssen. Beispielsweise sind Sie bei 20 (oder gar mehr) Werbenetzwerken angemeldet. Dass Sie dort nicht überall manuell die Links mit Werbetext und Betreffzeile rauskopieren können, da es zu mühevoll wär, ist vollkommen klar. Genau hier hilft Ihnen diese Erweiterung weiter, indem es die Werbtexte, Klick-URL (die Sie bewerben sollen) und vieles mehr von den einzelnen Werbenetzwerken über das Interface abfragt. Diese Erweiterung ist allgemeingültig und sollte somit zu möglichst allen Werbenetzwerken kompatibel sein. Sie brauchen also nur Ihre Interface-Zugangsdaten (meistens Ihre User-Id, Seiten-Id und Interface-Passwort) im Adminmenü eintragen und schon können die Kampagnen aus dem Werbenetzwerk zu diesem Mailtausch übertragen werden, Sie machen dazu nur wenige Klicks und brauchen keine Werbetexte oder URLs umständlich kopieren. Noch in Planung: Einige Werbenetzwerke bietet die Möglichkeit eines V-Checks an. Dabei wird überprüft, ob auch die beworbene URL aufgerufen wurde und wird dann an Ihren Mailtausch bei korrektem Aufruf zurückgemeldet. Sollte ein Werbenetzwerk (nur welche mit Interface werden unterstützt) fehlen, melden Sie es bitte in diesem Forum: http://forum.mxchange.org/topic-462.html.

Ideen

Hier nun alle Ideen aufgelistet:

Bereits implementiert (auch lokale Arbeitskopie)

  • Vollständig datenbankgestütztes Mangement der Werbenetzwerke (Grundaten, Werbearten, Abfrageparameter, Fehlercodes, kompletter V-Check)
  • Somit praktisch beliebig viele und unterschiedliche Werbenetzwerke (APIs) einbindbar mit nur Mausklick

Noch zu implementieren

Allgemeine Ideen:

  • Werarten-Handler sind Callback-Funktionen, die für jede Werbeart (wie Forced-Banner, PopUp, Mails usw.) zurückaufrufbar sind
  • Die Callback-Funktionen rufen dann Filter auf, worauf sich andere Erweiterungen registrieren können, um die Daten zu “erlauschen”
  • Wurde das Werbemittel verarbeitet, wird dies im Filterübergabe-Array als “verarbeitet” markiert und die Folgefilter verarbeiten dies nicht mehr
  • Der Referral-Link des Webmasters soll in einer von network_data getrennten Tabelle gespeichert werden, so brauch der Webmaster nicht die “Experten-Einstellungen” aufrufen, sondern kann dies beim Einrichten der API-Zugänge gleich mit einrichten
  • Es ist somit möglich, dass im Gast- und Mitgliedsbereich nur die Referrals des Webmasters angezeigt werden - und nicht die aus network_data.
  • Weiteres?

Überlegungen zur eigentlichen Abfrage-Seite (what-query_network_apis.php):

  • Die Abfrage der APIs auf dieser Seite gestaltet sich als nicht so leicht, da es nicht geht, dass erstmal alle APIs abgefragt werden, bevor das XHTML an den Browser ausgegeben wird.
  • Dies kann beim Browser zu Zeitüberschreitungen führen, die es zu vermeiden gilt.
  • Es kommen also nur zwei Lösungen in Frage:
    • Die AJAX-gestützte, wo das Ergebnis der Abfrage vom JavaScript ausgewertet wird (JSON)
    • Die auswahl-gestützte, wo (wie bereits bei allen anderen Punkten dies der Fall ist) eine kleine Auswahlbox kommt und dann jede Werbnetzwerk einzelnt abgefragt wird.
  • Letzteres kann nervig und zeitraubend sein, daher sollte dies nur als Notlösung her, falls das AJAX kaputt geht (kann bei Updates passieren) oder falls dies so gewünscht ist (weshalb auch immer).
  • Bei der AJAX-gestützten werden gleich alle konfigurierten APIs abgefragt (wo sowohl API-Zugangsdaten als auch Konfigurationsdaten zu den Handlern da sind) und vielleicht (vereinfachter Modus) als Prozentbalken dargestellt wird, wo drunter die aktuell abgefragte API angezeigt wird (z.B.: Foo-Werbenetzwerk - Forced-Banner wird abgefragt …).
  • Im erweiteten Modus wird dann unterhalb des Prozentbalkens (nachträglich aufklapbar?) ein “Fenster” (grosser Div-Bereich) angezeigt, wo die einzelnen APIs samt Abfrage-Ergebnis angezeigt werden, es kann dann auf das einzelne Ergebnis geklickt werden (aufklapbar wieder), um z.B. Debug-Informationen zu erlangen (“Rohantwort” der API usw.).
  • Bei der Auswahl-Version werden nach Auswahl des Werbenetzwerkes alle konfigurierten Handler angeboten, um diese einzelnt abfragbar zu machen - alle gemeinsam kann eventuell als DoS-Attacke seitens des Werbnetzwerkes angesehen werden oder auch zu lange zum Laden brauchen.
  • Weiteres?

Überlegungen zum Datenbanklayout:

  • Weiteres?

Weitere Ideen für zukünftige Updates

  • Weiteres?

Datenbankstruktur

network_data - Allgemeine Netzwerkdaten

  • network_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_short_name, VARCHAR - Eindeutiger Kurzname im Format [a-z,0-9,-,_]. Dieser dient als Callback-Name
  • network_title, VARCHAR - Titelbezeichnung des Werbenetzwerkes, z.B. “Foo-Ads”
  • network_reflink, VARCHAR - Werbelink zum Anmeldung an das Netzwerk (nur im Adminbereich sichtbar)
  • network_data_separator, CHAR - Zeichen zur Trennung der einzelnen Wert der API-Antwort
  • network_row_separator, CHAR - Zeichen zur Trennung der Datensätze (Datenzeilen)
  • network_request_type, ENUM - Weder ob mit HTTP-GET (Standard) oder HTTP-POST die API abgefragt werden kann
  • network_charset, VARCHAR - Verwendeter Zeichensatz der API-Antwort
  • network_require_id_card, ENUM - Weder ob das Netzwerk einen Gewerbeschein bzw. Personalausweiskopie bei Anmeldung benötigt
  • network_query_amount, BIGINT - Anzahl Abfragen pro Tag (ohne Notabfragen)
  • network_active, ENUM - Weder ob das Netzwerk auswählbar ist (in den Dev-Menüs ist dies immer auswählbar)

network_types - Werbeart-Handler

  • network_type_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_type_handle, VARCHAR - Bezeichnung des Werbeart-Handlers im Format [a-z] (dazu mehr unter Ideen)
  • network_type_api_url, VARCHAR - Basis-URL (nur bis zum Fragezeichen der URL ran)
  • network_type_click_ur,` VARCHAR - URL, auf die der Klick geleitet werden soll mit Platzhaltern (siehe Ideen)
  • network_type_banner_url, VARCHAR - URL des grafischen Werbemittels (Banner, Button), auch wieder mit Platzhaltern
  • network_type_reload_time_unit, ENUM - Zeiteinheit der Reloadsperre, s=Sekunden, m=Minuten usw. (wie beim date()-Befehl)

network_request_params - Abfrage-Parameter an die API-URL angehängt

  • network_param_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_type_id, BIGINT - Verknüpfung mit der Tabelle network_types
  • network_request_param_key, VARCHAR - Interne, eigene Bezeichung des Abfrageparameters
  • network_request_param_value, VARCHAR - Bezeichnung des Abfrageparameters, die in der URL (bei HTTP-GET) stehen wird bzw. im Rumpf bei HTTP-POST
  • network_request_param_default, VARCHAR - Standartwert des Abfrageparameters (dazu mehr unter Ideen)

network_vcheck_params - Abfrage-Parameter vom Werbenetzwerk an network-vcheck.php

  • network_vcheck_param_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_vcheck_param_key, VARCHAR - Interne, eigene Bezeichung des Abfrageparameters
  • network_vcheck_param_value, VARCHAR - Bezeichnung des Abfrageparameters, die in der URL (bei HTTP-GET) stehen wird bzw. im Rumpf bei HTTP-POST
  • network_vcheck_param_default, VARCHAR - Standartwert oder NULL wwenn leer gelassen, dieser dient z.B. zur Erkennung des Werbenetzwerknamens, der im Klartext übertragen wird und eventuell vom Kurznamen abweichen kann

network_error_codes - "Übersetzung" der Fehlercodes aus der API-Antwort in interne Bezeichnungen

  • network_type_code_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_type_id, BIGINT - Verknüpfung mit der Tabelle network_types
  • network_type_code_value, VARCHAR - “Rohwert” aus der API-Antwort
  • network_type_code_type, VARCHAR - Interne Bezeichnung, für Callback-Namen und Sprachelement

network_vcheck_errors - "Übersetzung" der Fehlercodes, die vom Werbenetzwerk zurückkommen

  • network_vcheck_error_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_vcheck_error_value, VARCHAR - Vom Werbenetzwerk zurückgelieferter Fehlercode (auch wenn alles in Ordnung gegangen ist)
  • network_vcheck_error_type, VARCHAR - Interne Bezeichung für Callback-Namen und Sprachelement

network_api_config - Konfigurationsdaten zu den Werbenetzwerken

  • network_api_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_api_affiliate_id, BIGINT - Affiliate-Id beim Werbenetzwerk
  • network_api_password, VARCHAR - Interface-Passwort bzw. Kenntwort-Hash
  • network_api_site_id, BIGINT - Webseiten-Id beim Werbenetzwerk
  • network_api_active, ENUM - Weder ob diese Konfiguration aktiv ist und somit die API abgefragt wird
  • network_api_referral_link, VARCHAR - Referrallink vom Werbenetzwerk, dieser wird den Mitgliedern und Gästen vom Paidmailer angezeigt
  • network_api_referral_button, VARCHAR - URL zu einem 88×31-Button (optional)

network_types_config - Konfigurationsdaten pro Werbeart-Handler

  • network_data_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_type_id, BIGINT - Verknüpfung mit der Tabelle network_types
  • network_max_reload_time, BIGINT - Maximale Reloadzeit der anzuzeigenden Kampagnen
  • network_min_waiting_time, BIGINT - Minimale Wartezeit in Sekunden (meistens?)
  • network_min_remain_clicks, BIGINT - Mindestens noch vorhandene Klicks
  • network_min_payment, FLOAT - Mindestvergütung (drunter wird nicht eingeblendet)
  • network_allow_erotic, VARCHAR - Zeichen zum Handhaben von Erotikkampagnen (nicht jedes Netzwerk supportiert dies)

network_vcheck_config

  • network_vcheck_id, BIGINT - Durchlaufende Nummer zur Identifizierung der einzelnen Zeilen
  • network_id, BIGINT - Verknüpfung mit der Tabelle network_data
  • network_vcheck_key, VARCHAR - Zugriffsschlüssel für das Werbenetzwerk
  • network_vcheck_field1, VARCHAR - Erstes, frei definierbares Feld (z.B. die Userid kann hier mit übergeben werden)
  • network_vcheck_field2, VARCHAR - Zweites, frei definierbares Feld (z.B. die interne Kampagnen-Id kann hier mit übergeben werden)

Sprachauswahl:

Diese Webseite ist auch in anderen Sprachen erhältlich: English

de/developer/ideas/extensions/ext-network.txt · Last modified: 2011/12/03 00:18 by roland