001 package com.google.gwt.maps.client.adsense;
002
003 import com.google.gwt.core.client.JavaScriptObject;
004 import com.google.gwt.maps.client.MapImpl;
005 import com.google.gwt.maps.client.MapWidget;
006 import com.google.gwt.maps.client.controls.ControlPosition;
007
008 /**
009 * ad unit options
010 * <br><br>
011 * See <a href="https://developers.google.com/maps/documentation/javascript/reference#AdUnitOptions">AdUnitOptions API Doc</a>
012 */
013 public class AdUnitOptions extends JavaScriptObject {
014
015 /**
016 * creates options for adunit
017 */
018 public static final AdUnitOptions newInstance() {
019 return JavaScriptObject.createObject().cast();
020 }
021
022 /**
023 * use newInstance();
024 */
025 protected AdUnitOptions() {}
026
027 /**
028 * The AdSense For Content channel number for tracking the performance of this AdUnit. It must be stored as a string as it will typically be a large UINT64. (Optional)
029 */
030 public final native String getChannelNumber() /*-{
031 return this.channelNumber;
032 }-*/;
033
034 /**
035 * The Format of the AdUnit.
036 * <br><br>
037 * See <a href="https://google.com/adsense/adformats">AdFormats</a>
038 */
039 public final AdFormat getFormat() {
040 return AdFormat.fromValue(getFormatImpl());
041 }
042
043 private final native String getFormatImpl() /*-{
044 return this.format;
045 }-*/;
046
047 /**
048 * The map associated with this AdUnit. Ads will be targeted to the location the map's viewport. (Required)
049 */
050 public final MapWidget getMap() {
051 return MapWidget.newInstance(getMapImpl());
052 }
053
054 private final native MapImpl getMapImpl() /*-{
055 return this.map;
056 }-*/;
057
058 /**
059 * The position of the AdUnit. If specified, the AdUnit will be displayed at this position. Otherwise, it will not be added to the map. (Optional)
060 */
061 public final ControlPosition getPosition() {
062 return ControlPosition.fromValue(getPositionImpl());
063 }
064
065 private final native int getPositionImpl() /*-{
066 return this.position;
067 }-*/;
068
069 /**
070 * Your AdSense for Content publisher ID. Required and must be set at the time of initialization. (Required)
071 */
072 public final native String getPublisherId() /*-{
073 return this.publisherId;
074 }-*/;
075
076 /**
077 * set The AdSense For Content channel number for tracking the performance of this AdUnit. It must be stored as a string as it will typically be a large UINT64. (Optional)
078 * @param channelNumber
079 */
080 public final native void setChannelNumber(String channelNumber) /*-{
081 this.channelNumber = channelNumber;
082 }-*/;
083
084 /**
085 * the Format of the AdUnit.
086 * <br><br>
087 * See <a href="https://google.com/adsense/adformats">AdFormats</a>
088 * @param format
089 */
090 public final void setFormat(AdFormat format) {
091 setFormatImpl(format.value());
092 };
093
094 private final native void setFormatImpl(String format) /*-{
095 this.format = format;
096 }-*/;
097
098 /**
099 * The map associated with this AdUnit. Ads will be targeted to the location the map's viewport. (Required)
100 * @param mapWidget
101 */
102 public final void setMap(MapWidget mapWidget) {
103 setMapImpl(mapWidget.getJso());
104 }
105
106 private final native void setMapImpl(MapImpl map) /*-{
107 this.map = map;
108 }-*/;
109
110 /**
111 * The position of the AdUnit. If specified, the AdUnit will be displayed at this position. Otherwise, it will not be added to the map. (Optional)
112 * @param position
113 */
114 public final void setPosition(ControlPosition position) {
115 setPositionImpl(position.value());
116 }
117
118 private final native void setPositionImpl(int position) /*-{
119 this.position = position;
120 }-*/;
121
122 /**
123 * Your AdSense for Content publisher ID. Required and must be set at the time of initialization. (Required)
124 * @param publisherId
125 */
126 public final native void setPublisherId(String publisherId) /*-{
127 this.publisherId = publisherId;
128 }-*/;
129
130 }