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:
Weitere Ideen für zukünftige Updates
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