geekyMedlem sedan mars 200815 inlägg Hej,
Jag håller på och försöker få Openx att räkna klicks för en flashbanner. Flashbannern fick jag av en kund som jag bad lägga in clickTAG variablen i sina banners. Men när jag sedan la upp bannersen på webbsidan så gick det inte att klicka på dem. Eller det går att klicka på dem, men det händer inget. Misstänkte nåt fel med clickTAG:en och när jag tittade på Actionscriptkoden så hade de inte lagt in clickTAG:en enligt den metod som Adobe beskriver och Openx använder.
Så jag försökte ändra på koden själv för att se om det var det som orsakade problemet. Men jag är en total nybörjare på både Flash och Actionscript så jag vet inte om jag gör det rätt. Så här gör jag:
Letar upp kodstycket där kunden lagt in clickTAG koden. Den koden ser ut så här:
function getClickTag():String{
for (var key:String in root.loaderInfo.parameters)
if(key.toLowerCase()=="clicktag")
return root.loaderInfo.parameters[key];
return "";
}
clicktag_mc.buttonMode = true;
clicktag_mc.addEventListener(MouseEvent.CLICK,func tion():void {
navigateToURL(new URLRequest(getClickTag()),"_blank");
});
Detta är ett kodstycke jag har sett på flera ställen när jag har googlat runt. Ersätter detta med det som står i dokumentationen för Openx:
on (release) {
if (clickTAG.substr(0,5) == "http:") {
getURL(clickTAG,clickTARGET);
}
}
Sedan när jag försöker exportera filen till en .swf får jag felmeddelandet:
Description: 1087: Syntax error: extra characters found after end of program
Source: on (release) {
Förstår inte vad det är för extra characters de kan mena. Får detta felmeddelande alltid när jag kopierar och klistrar in on (release) koden, även om jag kopierar in det i en helt ny fil som inte innehåller nåt annat än koden.
Jag inser att jag grovt kan ha missförstått nåt eftersom att jag inte kan Actionscript utan bara använder mig av mina övriga programmeringskunskaper, men är det nån som ser vad som kan vara fel?
doridoriMedlem sedan juni 2006244 inlägg Variant 1 som du visar är skriven i Actionscript 3.
Variant 2 som du hittat på nätet är Actionscript 2 och det är troligen därför du får felmeddelandet. (man bestämmer i publiceringsinställningarna vilken version som används)
Jag har inte använt clickTAG med AS3 men variant 1 ser ju rätt ut. (jämför med t.ex http://www.jumpeyecomponents.com/knowledgebase/*-Flash-~-general-use-problems/Use-clickTag-with-AS3-clip~1223/)
Det är nog tyvärr möjligt att det är nåt annat som är knas.
Se över så att clickTAG tas emot korrekt i html-sidan.
Samt använd trace() i flashkoden för att se så att något händer överhuvudtaget när man klickar på knappen.
(T.ex lägg in trace("klick!"); precis under navigateToURL(...) )
geekyMedlem sedan mars 200815 inlägg Japp, det verkar som att du har rätt.
Jag provade att skapat en AS2 fil och lägga in det kodstycket som du sa är AS2 och nu får jag felmeddelandet att "Mouse events are permitted only for button instances". Men det felet får jag för att jag suger på AS och flash och inte vet hur man skapar en knapp som man kopplar AS till. Så ja, det är det som är problemet.
Första kodstycket är alltså skrivet i AS3 och andra kodstycket i AS2 och Openx kan bara hantera AS2 koden verkar det som.
Tack för svaret, har googlat runt och frågat massa på internet men har överhuvudtaget inte ens fått svar förrän här och dig.
Och nu till en lösning, vill inte be kunden koda om alla sina banner för att mjukvaran vi använder är efter sin tid. Får be om att de hårdkodar sina url och hoppas på att det fungerar.
doridoriMedlem sedan juni 2006244 inlägg Angående ditt nya felmeddelande så är det för att kodstycket måste ligga "på" själva knapp-symbolen.
Skapa en button genom att markera ett objekt och klicka F8. Sedan markerar du din button, tar upp AS-rutan och lägger koden där. Nu tillhör koden knappen och on(release) kommer att fungera.
Samma tillvägagångssätt går INTE i AS3.
Vad gäller en lösning så borde det gå att hitta.
AS2 är ju faktiskt en (om än förlegad) standard vad gäller flashbanners, delvis för att det tillåter besökare med en äldre version av Flash Player se innehållet. Därför tycker jag att du tillsammans med kunden kan komma fram till en lösning, det är de som levererar banners som bör anpassa sig efter målsajtens format egentligen.
Jag har dock svårt att tro att AS-versionen skulle påverka hur man implementerar clickTAG i själva html-sajten. Det bör vara endast själva AS-koden som skiljer sig.
Kanske behöver de modifiera sin kod lite.
Om de ändå behöver ändra koden i alla sina banners får vi se till att de gör rätt.
Jag ska se om jag kan kolla lite mer på detta ikväll och återkomma, kanske finns det en enkel lösning.
geekyMedlem sedan mars 200815 inlägg
Vad gäller en lösning så borde det gå att hitta.
AS2 är ju faktiskt en (om än förlegad) standard vad gäller flashbanners, delvis för att det tillåter besökare med en äldre version av Flash Player se innehållet. Därför tycker jag att du tillsammans med kunden kan komma fram till en lösning, det är de som levererar banners som bör anpassa sig efter målsajtens format egentligen.
Vi har bett dem koda om sina banners till AS2 men jag har inte kolla på vad de svarade. Men jag tycker att den adserver som vi använder borde ha stöd för AS3 också även om det inte är standard. Och det verkar som att utvecklarna av adservern också tycker det. För när jag berättade om problemet för dem så la de in problemet i sin bugtracker-mjukvara och satte hög prio. Det är iaf positivt. För AS3 har väl funnits sen typ 2006 så nu börjar man märka av att allt fler faktiskt använder AS3 också.
Jag har dock svårt att tro att AS-versionen skulle påverka hur man implementerar clickTAG i själva html-sajten. Det bör vara endast själva AS-koden som skiljer sig.
Kanske behöver de modifiera sin kod lite.
Om de ändå behöver ändra koden i alla sina banners får vi se till att de gör rätt.
Problemet är inte implementeringen på html-sajten. Problemet är att vår adserver inte har stöd för att läsa av AS3 filer, och vi sköter all vår hantering av annonser via vår adserver. Vi laddar alltså upp .swf filen till adserver så spottar adservern ut en javascriptkod som vi lägger ut på webbsidan. Sedan hämtar javascriptkoden -swf filen från adservern. Men när adservern inte har stöd för AS3 så uppstår det nämnad problemet.