Autor Thema: Adsense in Responsive Layouts  (Gelesen 860 mal)

Offline Miscee

  • Freshman
  • *
  • Beiträge: 30
  • Karma: 0
    • Profil anzeigen
Adsense in Responsive Layouts
« am: 17.11.2011, 15:41:15 »
Hallo zusammen

Ich verwende erstmals ein Wordpress Responsive Layout (von http://www.elmastudio.de) und versuche eine Lösung für den Einbau von Adsense zu finden.

Das Problem besteht im Wesentlichen darin, dass Adsense nicht automatisch erkennt, auf ob des sich um mobilen Content handelt oder nicht (das Responsive Layout sich aber beispielsweise automatisch auf ein Mobilephone anpasst).

Ich habe nun versucht, einen Wordpress-Shortcode zu programmieren, der den Gerätetyp erkennt und abhängig von Gerätetyp einen unterschiedlichen Adsense-Code liefert (also beispielweise eine Anzeige für mobilen Content, wenn die Seite auf dem iPhone angezeigt wird, aber eine normale Adsense-Anzeige, wenn es sich um ein iPad handelt).

Hier nun mein Code in der functions.php:

function adsense_txt( ) {

$adsense_code = '';

if ( stristr($_SERVER['HTTP_USER_AGENT'],'ipad') )
{
$adsense_code = "iPad";
}

elseif( stristr($_SERVER['HTTP_USER_AGENT'],'iphone') OR strstr($_SERVER['HTTP_USER_AGENT'],'iphone') )
{
$adsense_code = "iPhone";
}

elseif( stristr($_SERVER['HTTP_USER_AGENT'],'blackberry') )
{
$adsense_code = "Blackberry";
}

elseif( stristr($_SERVER['HTTP_USER_AGENT'],'android') )
{
$adsense_code = "Android";
}
else
{
$adsense_code = "";
}

return $adsense_code;
}
add_shortcode('ad', 'adsense_txt');

Gemäss meinen ersten Tests funktioniert die Sache. Ich wäre aber froh um Eure Meinung. Gibt es allenfalls einen besseren oder effizienteren Weg?

Herzlichen Dank
Miscee

Offline Bella

  • Sr. Member
  • ****
  • Beiträge: 320
  • Karma: 25
  • :-)
    • http://twitter.com/BellaSpanien
    • Profil anzeigen
    • Gran Canaria Aktuell
Re: Adsense in Responsive Layouts
« Antwort #1 am: 22.11.2011, 17:47:53 »
gibt es hierfür einen Grund?
elseif( stristr($_SERVER['HTTP_USER_AGENT'],'iphone') OR strstr($_SERVER['HTTP_USER_AGENT'],'iphone') )

bei den anderen Zeilen nimmst du immer nur stristr, was ja auch reichen soll, hier fragst du aber noch einmal strstr ab?

ich würde mir vielleicht eher erst den User agenten generell ziehen, denn dann in Kleinbuchstaben umwandeln und nur diese Variable durchprüfen und das per switch und case. Vielleicht würde ich beide Varianten gegeneinander testen und per microtime gucken, was schneller ist.

Offline Miscee

  • Freshman
  • *
  • Beiträge: 30
  • Karma: 0
    • Profil anzeigen
Re: Adsense in Responsive Layouts
« Antwort #2 am: 23.11.2011, 08:45:37 »
Hallo Bella

Du hast natürlich recht. Das strstr bei iPhone ist überflüssig, da stristr ja nicht case-sensitive ist und darum in jedem Fall reagiert.

Auch Deine zweite Anregung (User agent zuerst ziehen) macht Sinn.

Eine weitere Schwäche ist, dass das Script nicht zwischen Android Mobile und Android Tablets unterscheidet. Das muss ich mal noch ausprobieren.

Miscee

 


WerbungWerbung