Disable Ad-View nach Klick

  • Antworten:7
Richard R.
  • Forum-Beiträge: 90

31.10.2011, 20:22:24 via Website

Hi,

wie kann ich einen Ad-View (also einen Werbebanner) nach erfolgtem Klick für weitere Klicks sperren? Hintergrund ist, dass ich gern Mehrfach-Klicks vermeiden möchte. Was ich bereits probiert habe ist:

1adView = (AdView)findViewById(R.id.admob);
2
3adView.setOnClickListener(new OnClickListener() {
4 @Override
5 public void onClick(View v) {
6 Log.d(null, "adView clicked...");
7 adView.setClickable(false);
8 }
9 });

Leider funktioniert der OnClickListener gar nicht, d.h. selbst bei einem Klick auf den entsprechenden View wird er gar nicht erst ausgelöst (also nicht einmal die Log-Message ausgegeben. Bei einem beliebigen anderen View funktioniert der OnClickListener wie gewünscht.

Wie habt ihr das Problem gelöst? Wie vermeidet ihr Mehrfach-Klicks auf Werbebanner (Klickfraud)?

Antworten
Maximilian O
  • Forum-Beiträge: 990

31.10.2011, 21:10:58 via App

Gar nicht. Warum möchtest du dir zusätzliche Einnahmen verbauen?

Vergiss nie wieder Geburtstage, oder viel schlimmer, deinen Hochzeitstag - Birthdays Download

Antworten
Richard R.
  • Forum-Beiträge: 90

31.10.2011, 21:20:50 via Website

Weil es leider Nutzer gibt, die (aus Dummheit oder wer weiß warum) mehrmals hintereinander die Werbung klicken. Das ist nach AGB der Ad-Netzwerke verboten, und kann zu einer Werbesperre der App führen. Daher muss man als Publisher dieses Nutzerverhalten programmtechnisch verhindern und ich würde gern wissen, wie andere Publisher dieses Problem lösen.

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.10.2011, 21:49:25 via Website

ich lasse seit über 2 jahren werbung in meinen apps laufen mit mehreren 100 000 downloads, aber es gab noch keinerlei probleme in diese richtung.

swordiApps Blog - Website

Antworten
Richard R.
  • Forum-Beiträge: 90

31.10.2011, 21:59:43 via Website

Tja, bei mir leider schon, sonst hätte ich nicht gefragt :-(

Antworten
Markus Gu
  • Forum-Beiträge: 2.644

31.10.2011, 22:18:07 via Website

das is dann blöd.

die adview wird bestimmt den onclick konsumieren, da sie ja dann die werbung startet. dann kommt der nicht mehr zu dir durch.

es gibt ein paar callbacks, eventuell ist da ein passender dabei.

swordiApps Blog - Website

Antworten
ts-apps.net
  • Forum-Beiträge: 19

01.11.2011, 17:33:11 via Website

So hab ich das ganze gelöst. Du darfst allerdings nicht vergessen das ein Klick auf die View nicht gleich als Klick beim Werbeanbieter zählt, da sich z.B. erst das Browserauswahlfenster o.Ä. öffnet.

Ist allerdings bei einem anderen Werbeanbieter, ob der Code bei AdMob verwendet werden kann hab ich noch nicht getestet,

1public class TdAdView extends AdView{
2 final static int CONFIG_MAXCLICKCOUNT = 5;
3
4 int clickCount = 0;
5
6 public TdAdView(Context context) {
7 super(context);
8 }
9
10 @Override
11 public boolean onTouchEvent(MotionEvent event) {
12 if (event.getAction() == MotionEvent.ACTION_DOWN ) {
13 if (++clickCount > CONFIG_MAXCLICKCOUNT)
14 return false;
15 }
16 return super.onTouchEvent(event);
17 }
18}

Richard R.

Antworten
Richard R.
  • Forum-Beiträge: 90

02.11.2011, 10:13:25 via Website

Ok, vielen Dank für das Code-Beispiel. Ich werde das mal ausprobieren.

Antworten