void Start()
    {
        adInfo = manager.SPAds.Find(ad => ad.SceneName == "IconScene");

        // 初回のみResister(),Start(),Show()を呼び、
        // 2度目以降は、SetVisibility()を使用してください
        if (adInfo.AdViewId == null)
        {
            IMobileSdkAdsUnityPlugin.registerInline(adInfo.TestPID, adInfo.TestMID, adInfo.TestSID);
            IMobileSdkAdsUnityPlugin.start(adInfo.TestSID);
            var iconParam = new IMobileIconParams();
            iconParam.iconNumber      = 5;
            iconParam.iconSize        = 52;
            iconParam.iconTitleEnable = false;
            adInfo.AdViewId           = IMobileSdkAdsUnityPlugin.show(adInfo.TestSID,
                                                                      IMobileSdkAdsUnityPlugin.AdType.ICON,
                                                                      IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER,
                                                                      IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE,
                                                                      iconParam);
        }
        else
        {
            IMobileSdkAdsUnityPlugin.setVisibility(adInfo.AdViewId.Value, true);
        }
    }
	/// <summary>
	/// 広告の表示領域を返します
	/// </summary>
	/// <returns>広告の表示領域</returns>
	/// <param name="left">Left</param>
	/// <param name="top">Top</param>
	/// <param name="adType">AdType</param>
	/// <param name="iconParams">IMobileIconParams</param>
	internal static Rect getAdRect(int left, int top, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
		iconParams = iconParams ?? new IMobileIconParams ();
		Rect adRect = new Rect ();
		adRect.width = getWidth (adType, iconParams);
		adRect.height = getHeight (adType, iconParams);
		adRect.x = left;
		adRect.y = top;
		return adRect;
	}
Example #3
0
    private static int show(string spotid, AdType adType, Rect adRect, IMobileIconParams iconParams, bool sizeAdjust, IMobileNativeAdParams adParams)
    {
        int adViewId = IMobileAdViewIdManager.CreateId();

                #if !UNITY_EDITOR
        iconParams = iconParams ?? new IMobileIconParams();
        string partnerId = IMobileSpotInfoManager.GetPartnerId(spotid);
        string mediaId   = IMobileSpotInfoManager.GetMediaId(spotid);
        bool   isIcon    = adType == AdType.ICON;
                #endif

                #if UNITY_IPHONE && !UNITY_EDITOR
        if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            string[] parameters =
            {
                partnerId,
                mediaId,
                spotid,
                adRect.x.ToString(),
                adRect.y.ToString(),
                adRect.width.ToString(),
                adRect.height.ToString(),
                sizeAdjust.ToString(),
                adViewId.ToString()
            };

            string paramStr = string.Join(":", parameters);
            imobileShowBySpotIDWithPosition_(paramStr);
        }
                #elif UNITY_ANDROID && !UNITY_EDITOR
        if (Application.platform == RuntimePlatform.Android)
        {
            imobileSdkAdsAndroidPlugin.CallStatic("show", partnerId, mediaId, spotid, (int)adRect.x, (int)adRect.y,
                                                  iconParams.iconNumber,
                                                  iconParams.iconViewLayoutWidth,
                                                  iconParams.iconSize,
                                                  iconParams.iconTitleEnable,
                                                  iconParams.iconTitleFontSize,
                                                  iconParams.iconTitleFontColor,
                                                  iconParams.iconTitleOffset,
                                                  iconParams.iconTitleShadowEnable,
                                                  iconParams.iconTitleShadowColor,
                                                  iconParams.iconTitleShadowDx,
                                                  iconParams.iconTitleShadowDy,
                                                  isIcon,
                                                  sizeAdjust,
                                                  adViewId
                                                  );
        }
#endif


        return(adViewId);
    }
Example #4
0
	void Start () {
		if (sInstance == null) {
			sInstance = this;
			DontDestroyOnLoad (gameObject);
		}
		string bannerMediaId;
		string bannerSpotId;
		string iconMediaId;
		string iconSpotId;
		string wallMediaId;
		string wallSpotId;
#if UNITY_IPHONE
			bannerMediaId = account.iOS.bannerMediaId;
			bannerSpotId = account.iOS.bannerSpotId;
			iconMediaId = account.iOS.iconMediaId;
			iconSpotId = account.iOS.iconSpotId;
			wallMediaId = account.iOS.wallMediaId;
			wallSpotId = account.iOS.wallSpotId;
#endif

#if UNITY_ANDROID

			bannerMediaId = account.android.bannerMediaId;
			bannerSpotId = account.android.bannerSpotId;
			iconMediaId = account.android.iconMediaId;
			iconSpotId = account.android.iconSpotId;
			wallMediaId = account.android.wallMediaId;
			wallSpotId = account.android.wallSpotId;
#endif

		//prepare banner
		IMobileSdkAdsUnityPlugin.registerInline (publisherId, bannerMediaId, bannerSpotId);
		IMobileSdkAdsUnityPlugin.start (bannerSpotId);
		mBannerViewId = IMobileSdkAdsUnityPlugin.show (bannerSpotId, IMobileSdkAdsUnityPlugin.AdType.BANNER, 
			                               IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER, 
			                               IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM);

		//prepare icon
		IMobileSdkAdsUnityPlugin.registerInline (publisherId, iconMediaId, iconSpotId);
		IMobileSdkAdsUnityPlugin.start (iconSpotId);
		IMobileIconParams iconParams = new IMobileIconParams ();
		iconParams.iconNumber = 2;
		iconParams.iconTitleEnable = false;
		mIconViewId = IMobileSdkAdsUnityPlugin.show (iconSpotId, IMobileSdkAdsUnityPlugin.AdType.ICON, 0, 10, iconParams);

		//prepare wall
		IMobileSdkAdsUnityPlugin.registerFullScreen (publisherId, wallMediaId, wallSpotId);
		IMobileSdkAdsUnityPlugin.start (wallSpotId);

		HideBannerAd ();
		HideIconAd (); 
	}
    private static int show(string spotid, AdType adType, Rect adRect, IMobileIconParams iconParams)
    {
        iconParams = iconParams ?? new IMobileIconParams();
        string partnerId = IMobileSpotInfoManager.GetPartnerId(spotid);
        string mediaId   = IMobileSpotInfoManager.GetMediaId(spotid);
        int    adViewId  = IMobileAdViewIdManager.createId();

                #if UNITY_IPHONE
        if (Application.platform == RuntimePlatform.IPhonePlayer)
        {
            imobileShowBySpotIDWithPositionAndIconParams_(spotid,
                                                          partnerId,
                                                          mediaId,
                                                          (int)adRect.x,
                                                          (int)adRect.y,
                                                          (int)adRect.width,
                                                          (int)adRect.height,
                                                          iconParams.iconNumber,
                                                          iconParams.iconViewLayoutWidth,
                                                          iconParams.iconSize,
                                                          iconParams.iconTitleEnable,
                                                          iconParams.iconTitleFontSize,
                                                          iconParams.iconTitleFontColor,
                                                          iconParams.iconTitleOffset,
                                                          iconParams.iconTitleShadowEnable,
                                                          iconParams.iconTitleShadowColor,
                                                          iconParams.iconTitleShadowDx,
                                                          iconParams.iconTitleShadowDy,
                                                          adViewId);
        }
                #elif UNITY_ANDROID
        if (Application.platform == RuntimePlatform.Android)
        {
            imobileSdkAdsAndroidPlugin.CallStatic("show", partnerId, mediaId, spotid, adViewId, (int)adRect.x, (int)adRect.y,
                                                  iconParams.iconNumber,
                                                  iconParams.iconViewLayoutWidth,
                                                  iconParams.iconSize,
                                                  iconParams.iconTitleEnable,
                                                  iconParams.iconTitleFontSize,
                                                  iconParams.iconTitleFontColor,
                                                  iconParams.iconTitleOffset,
                                                  iconParams.iconTitleShadowEnable,
                                                  iconParams.iconTitleShadowColor,
                                                  iconParams.iconTitleShadowDx,
                                                  iconParams.iconTitleShadowDy
                                                  );
        }
                #endif


        return(adViewId);
    }
		/// <summary>
		/// 広告の表示領域を返します
		/// </summary>
		/// <returns>広告の表示領域</returns>
		/// <param name="alignPosition">AdAlignPosition</param>
		/// <param name="valignPosition">AdValignPosition</param>
		/// <param name="adType">AdType</param>
		/// <param name="iconParams">IMobileIconParams</param>
		/// <param name="sizeAdjust">sizeAdjust</param>
		internal static Rect getAdRect(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams, bool sizeAdjust)
		{
			// スクリーンの論理サイズを取得
			int screenWidth = 0;
			int screenHeight = 0;

			#if UNITY_IPHONE && !UNITY_EDITOR
			screenWidth = getScreenWidth_(isScreenPortrait());
			screenHeight = getScreenHeight_(isScreenPortrait());
			#elif UNITY_ANDROID && !UNITY_EDITOR
			screenWidth = getDensitySize (Screen.width);
			screenHeight = getDensitySize (Screen.height);
			#endif

			// 広告の表示位置を計算
			int left = 0;
			int top = 0;

			// 広告サイズを取得
			iconParams = iconParams ?? new IMobileIconParams ();
			CGSize adSize = getAdSize (adType, iconParams, sizeAdjust);

			// x座標の取得
			switch (alignPosition) {
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT:
					left = 0;
					break;
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER:
					left = (screenWidth - adSize.width) / 2;
					break;
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT:
					left = screenWidth - adSize.width;
					break;
			}

			// y座標の取得
			switch (valignPosition) {
				case IMobileSdkAdsUnityPlugin.AdValignPosition.TOP:
					top = 0;
					break;
				case IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE:
					top = (screenHeight / 2) - (adSize.height / 2);
					break;
				case IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM:
					top = screenHeight - adSize.height;
					break;
			}

			return new Rect (left, top, adSize.width, adSize.height);
		}
		/// <summary>
		/// 広告の表示領域を返します
		/// </summary>
		/// <returns>広告の表示領域</returns>
		/// <param name="alignPosition">AdAlignPosition</param>
		/// <param name="valignPosition">AdValignPosition</param>
		/// <param name="adType">AdType</param>
		/// <param name="iconParams">IMobileIconParams</param>
		internal static Rect getAdRect(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){

			// スクリーンの論理サイズを取得
			int screenWidth = 0;
			int screenHeight = 0;

			#if UNITY_IPHONE
			screenWidth = getScreenWidth_();
			screenHeight = getScreenHeight_();
			#elif UNITY_ANDROID
			screenWidth = getDensitySize (Screen.width);
			screenHeight = getDensitySize (Screen.height);
			#endif

			// 広告の表示位置を計算
			int x = 0;
			int y = 0;

			// 広告サイズを取得
			CGSize adSize = getAdSize (adType, iconParams);

			// x座標の取得
			switch (alignPosition) {
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT:
					x = 0;
					break;
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER:
					x = (screenWidth - adSize.width) / 2;
					break;
				case IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT:
					x = screenWidth - adSize.width;
					break;
			}

			// y座標の取得
			switch (valignPosition) {
				case IMobileSdkAdsUnityPlugin.AdValignPosition.TOP:
					y = 0;
					break;
				case IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE:
					y = (screenHeight / 2) - (adSize.height / 2);
					break;
				case IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM:
					y = screenHeight - adSize.height;
					break;
			}

			return getAdRect (x, y, adType, iconParams);
		}
 private static int getTop(IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
     int screenHeight = getDensitySize (Screen.height);
     int topPosition = 0;
     switch (valignPosition) {
     case IMobileSdkAdsUnityPlugin.AdValignPosition.TOP:
         topPosition = 0;
         break;
     case IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE:
         topPosition = (screenHeight / 2) - (getHeight(adType, iconParams) / 2);
         break;
     case IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM:
         topPosition = screenHeight - getHeight(adType, iconParams);
         break;
     }
     return topPosition;
 }
Example #9
0
    public void ShowIcon(DataManager.AD_TYPE _eAdType, bool _bDisp)
    {
        if (m_bAdDispIcon == _bDisp)
        {
            return;
        }

        switch (_eAdType)
        {
        case DataManagerBase <DataManager> .AD_TYPE.NEND:
                #if UNITY_ANDROID
            m_goNendNativePanel.SetActive(_bDisp);
                #elif UNITY_IPHONE
            m_goNendNativePanel.SetActive(_bDisp);
                #endif
            break;

        case DataManagerBase <DataManager> .AD_TYPE.IMOBILE:
                        #if UNITY_IPHONE || UNITY_ANDROID && !UNITY_EDITOR
                        #if USE_IMOBILE
            if (m_iIMobileIcon == 0 && _bDisp)
            {
                // スポット情報を設定します
                IMobileSdkAdsUnityPlugin.registerInline(IMOBILE_ICON_PID, IMOBILE_ICON_MID, IMOBILE_ICON_SID);
                // 広告の取得を開始します
                IMobileSdkAdsUnityPlugin.start(IMOBILE_ICON_SID);
                // アイコン表示パラメータを作成します
                var iconParams = new IMobileIconParams();
                iconParams.iconNumber = 2;
                // 広告の表示位置を指定して表示します
                m_iIMobileIcon = IMobileSdkAdsUnityPlugin.show(IMOBILE_ICON_SID,
                                                               IMobileSdkAdsUnityPlugin.AdType.ICON,
                                                               IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT,
                                                               IMobileSdkAdsUnityPlugin.AdValignPosition.TOP,
                                                               iconParams);
            }
            else
            {
                IMobileSdkAdsUnityPlugin.setVisibility(m_iIMobileIcon, _bDisp);
            }
                        #endif
                        #endif
            break;
        }
        m_bAdDispIcon = _bDisp;
    }
 private static int getLeft(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
     int screenWidth = getDensitySize (Screen.width);
     int leftPosition = 0;
     switch (alignPosition) {
     case IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER:
         leftPosition = screenWidth - getWidth(adType, iconParams);
         if(leftPosition != 0) {
             leftPosition = leftPosition / 2;
         }
         break;
     case IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT:
         leftPosition = 0;
         break;
     case IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT:
         leftPosition = screenWidth - getWidth(adType, iconParams);
         break;
     }
     return leftPosition;
 }
	private static int getWidth(IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
        int width = -1;
        switch (adType) {
        case IMobileSdkAdsUnityPlugin.AdType.BANNER:
            width = 320;
            break;
        case IMobileSdkAdsUnityPlugin.AdType.BIG_BANNER:
            width = 320;
            break;
		case IMobileSdkAdsUnityPlugin.AdType.TABLET_BANNER:
			width = 468;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.TABLET_BIG_BANNER:
			width = 728;
			break;
        case IMobileSdkAdsUnityPlugin.AdType.MEDIUM_RECTANGLE:
            width = 300;
            break;
		case IMobileSdkAdsUnityPlugin.AdType.BIG_RECTANGLE:
			width = 336;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SKYSCRAPER:
			width = 120;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.WIDE_SKYSCRAPER:
			width = 160;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SQUARE:
			width = 250;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SMALL_SQUARE:
			width = 200;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.HALFPAGE:
			width = 300;
			break;
        case IMobileSdkAdsUnityPlugin.AdType.ICON:
            width = getIconAdWidth(iconParams);
            break;
        }

        return width;
    }
	void Start () {
		
		adInfo = manager.SPAds.Find (ad => ad.SceneName == "IconScene");
		
		// 初回のみResister(),Start(),Show()を呼び、
		// 2度目以降は、SetVisibility()を使用してください
		if (adInfo.AdViewId == null) {
			IMobileSdkAdsUnityPlugin.registerInline (adInfo.TestPID, adInfo.TestMID, adInfo.TestSID);
			IMobileSdkAdsUnityPlugin.start (adInfo.TestSID);
			var iconParam = new IMobileIconParams();
			iconParam.iconNumber = 5;
			iconParam.iconSize = 52;
			iconParam.iconTitleEnable = false;
			adInfo.AdViewId = IMobileSdkAdsUnityPlugin.show (adInfo.TestSID,
			                                                 IMobileSdkAdsUnityPlugin.AdType.ICON,
			                                                 IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER,
			                                                 IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE,
			                                                 iconParam);
		} else {
			IMobileSdkAdsUnityPlugin.setVisibility(adInfo.AdViewId.Value, true);
		}
	}
	private static int getIconImageMargin(IMobileIconParams iconParams, int iconAdWidth, int iconImageWidth)
	{
		int totalMargin = iconAdWidth - iconImageWidth * iconParams.iconNumber;
		int iconImageMargin = (int)Math.Ceiling ((double)totalMargin / iconParams.iconNumber);
		return Math.Max (iconImageMargin, IconMinimumMargin);
	}
	private static int getIconImageWidth(IMobileIconParams iconParams, int iconAdWidth){
		if (iconParams.iconSize > 0) {
			return Math.Max (iconParams.iconSize, IconMinimumWidth);
		}

		int minimumAdViewWidthWithDefaultIconSize = (IconDefaultWidth + IconDefaultMargin) * iconParams.iconNumber;

		if (iconAdWidth >= minimumAdViewWidthWithDefaultIconSize) {
			return IconDefaultWidth;
		} else {
			return IconMinimumWidth;
		}
	}
	private static int getIconAdHeight(IMobileIconParams iconParams){

		int iconAdWidth = getIconAdWidth (iconParams);
		int iconImageWidth = getIconImageWidth (iconParams, iconAdWidth);
		int iconImageMargin = getIconImageMargin (iconParams, iconAdWidth, iconImageWidth);

		if (!iconParams.iconTitleEnable) {
			return iconImageWidth;
		}

		int iconTitleOffset = (iconParams.iconTitleOffset > 0) ? iconParams.iconTitleOffset : 4;
		int iconTitleFontSize = (iconParams.iconTitleFontSize > 0) ? Math.Max (iconParams.iconTitleFontSize, 8) : 10;
		int iconTitleShadowDy = (iconParams.iconTitleShadowEnable) ? iconParams.iconTitleShadowDy : 0;
		int iconAdButtomMargin = 3;

		bool isSingleLineIconTitleDisplayable = (iconImageWidth + iconImageMargin) >= (IconDefaultWidth + IconDefaultMargin / 2);

		if (isSingleLineIconTitleDisplayable) {
			return iconImageWidth + iconTitleOffset + iconTitleFontSize + iconTitleShadowDy + iconAdButtomMargin;
		} else {
			return iconImageWidth + iconTitleOffset + iconTitleFontSize * 2 + iconTitleShadowDy + iconAdButtomMargin;
		}
	}
	private static int getIconAdWidth(IMobileIconParams iconParams){
		int screenWidth = getDensitySize (Screen.width);
		int screenHeight = getDensitySize (Screen.height);
		int minWidth = screenWidth > screenHeight ? screenHeight : screenWidth;

		if (iconParams == null) {
            return minWidth;
        }

        if (iconParams.iconViewLayoutWidth > 0) {
            return iconParams.iconViewLayoutWidth;
        }

        if (iconParams.iconNumber > 0) {
            if (iconParams.iconNumber < 4) {
				int iconWidth = (iconParams.iconSize > 0) ? Math.Max (iconParams.iconSize, IconMinimumWidth) : IconDefaultWidth;
				return (iconWidth + IconDefaultMargin) * iconParams.iconNumber;
            } else {
                return minWidth;
            }
        }

		return minWidth;
    }
		private static CGSize getAdSize(IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams, bool sizeAdjust)
		{
			CGSize adSize = new CGSize();

			switch (adType) {
			case IMobileSdkAdsUnityPlugin.AdType.BANNER:
				adSize = getAdjustedAdSize(new CGSize(320, 50), sizeAdjust, IMobileSdkAdsUnityPlugin.AdType.BANNER);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.BIG_BANNER:
				adSize = getAdjustedAdSize(new CGSize(320, 100), sizeAdjust, IMobileSdkAdsUnityPlugin.AdType.BIG_BANNER);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.TABLET_BANNER:
				adSize = new CGSize(468, 60);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.TABLET_BIG_BANNER:
				adSize = new CGSize(728, 90);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.MEDIUM_RECTANGLE:
				adSize = getAdjustedAdSize(new CGSize(300, 250), sizeAdjust, IMobileSdkAdsUnityPlugin.AdType.MEDIUM_RECTANGLE);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.BIG_RECTANGLE:
				adSize = new CGSize(336, 280);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.SKYSCRAPER:
				adSize = new CGSize(120, 600);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.WIDE_SKYSCRAPER:
				adSize = new CGSize(160, 600);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.SQUARE:
				adSize = new CGSize(250, 250);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.SMALL_SQUARE:
				adSize = new CGSize(200, 200);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.HALFPAGE:
				adSize = new CGSize(300, 600);
				break;
			case IMobileSdkAdsUnityPlugin.AdType.ICON:

				#if !UNITY_EDITOR
				int iconDefaultWidth = 57;			// アイコン1つあたりのデフォルトサイズ
				int iconMinimumWidth = 47;			// アイコン1つあたりの最小サイズ
				int iconDefaultMargin = 18;			// デフォルトアイコン間隔
				int iconMinimumMargin = 4;			// 最小アイコン間隔
				int iconAdTitleReserveSpace = 3;    // タイトル表示エリアの予備マージン

				// アイコン広告の表示サイズをアイコンパラメータから計算して求める
				int iconAdWidth = 0;
				int iconAdHeight = 0;

				// スクリーンの論理サイズを取得
				int screenWidth = 0;
				int screenHeight = 0;
				#endif

				#if UNITY_IPHONE && !UNITY_EDITOR
				screenWidth = getScreenWidth_(isScreenPortrait());
				screenHeight = getScreenHeight_(isScreenPortrait());

				// 幅を計算する
				if (iconParams.iconViewLayoutWidth > 0) {
					iconAdWidth = iconParams.iconViewLayoutWidth;
				} else {
					int iconWidth = (iconParams.iconSize > 0) ? Math.Max(iconParams.iconSize, iconMinimumWidth) : iconDefaultWidth;
					iconAdWidth =  (iconWidth + iconDefaultMargin) * 1;
				}
				
				// 高さを計算する
				// アイコン一つあたりの幅を計算
				int iconImageWidth = 0;
				if (iconParams.iconSize > 0) {
					iconImageWidth  = Math.Max(iconParams.iconSize, iconMinimumWidth);
				} else {
					if (iconAdWidth >= (iconDefaultWidth + iconDefaultMargin) * 1) {
						iconImageWidth = iconDefaultWidth;
					} else {
						iconImageWidth = iconMinimumWidth;
					}
				}
				
				// アイコンの表示間隔を取得(アイコン広告の表示サイス - アイコン一つあたりの幅 * アイコンの数) / アイコンの数 の結果と最低マージンとの比較で大きい方をマージンとして設定
				int iconImageMargin = Math.Max((int)Math.Ceiling((double)(iconAdWidth - iconImageWidth * 1) / 1) , iconMinimumMargin);

				#elif UNITY_ANDROID && !UNITY_EDITOR
				screenWidth = getDensitySize (Screen.width);
				screenHeight = getDensitySize (Screen.height);

				// 幅を計算する
				if (iconParams.iconViewLayoutWidth > 0) {
					iconAdWidth = iconParams.iconViewLayoutWidth;
				} else {
					if (iconParams.iconNumber < 4) {
						int iconWidth = (iconParams.iconSize > 0) ? Math.Max(iconParams.iconSize, iconMinimumWidth) : iconDefaultWidth;
						iconAdWidth =  (iconWidth + iconDefaultMargin) * iconParams.iconNumber;
					} else {
						iconAdWidth =  Math.Min(screenWidth, screenHeight);
					}
				}
				
				// 高さを計算する
				// アイコン一つあたりの幅を計算
				int iconImageWidth = 0;
				if (iconParams.iconSize > 0) {
					iconImageWidth  = Math.Max(iconParams.iconSize, iconMinimumWidth);
				} else {
					if (iconAdWidth >= (iconDefaultWidth + iconDefaultMargin) * iconParams.iconNumber) {
						iconImageWidth = iconDefaultWidth;
					} else {
						iconImageWidth = iconMinimumWidth;
					}
				}
				
				// アイコンの表示間隔を取得(アイコン広告の表示サイス - アイコン一つあたりの幅 * アイコンの数) / アイコンの数 の結果と最低マージンとの比較で大きい方をマージンとして設定
				int iconImageMargin = Math.Max((int)Math.Ceiling((double)(iconAdWidth - iconImageWidth * iconParams.iconNumber) / iconParams.iconNumber) , iconMinimumMargin);
				#endif


				#if !UNITY_EDITOR
				// 高さの取得
				if (!iconParams.iconTitleEnable) {
					iconAdHeight = iconImageWidth;
				} else {
					int iconTitleOffset = (iconParams.iconTitleOffset > 0) ? iconParams.iconTitleOffset : 4;
					int iconTitleFontSize = (iconParams.iconTitleFontSize > 0) ? Math.Max(iconParams.iconTitleFontSize, 8) : 10;
					int iconTitleShadowDy = (iconParams.iconTitleShadowEnable) ? iconParams.iconTitleShadowDy : 0;
					
					// タイトルが一行に収まるか計算
					if ((iconImageWidth + iconImageMargin) >= (iconDefaultWidth + iconDefaultMargin / 2)) {
						iconAdHeight = iconImageWidth + iconTitleOffset + iconTitleFontSize + iconTitleShadowDy + iconAdTitleReserveSpace;
					} else {
						iconAdHeight = iconImageWidth + iconTitleOffset + iconTitleFontSize * 2 + iconTitleShadowDy + iconAdTitleReserveSpace;
					}
				}
				adSize = new CGSize(iconAdWidth, iconAdHeight);
				#endif
				break;
			}
			return adSize;
		}
    /// <summary>
    /// 広告を表示します
    /// </summary>
    /// <param name="spotid">スポットID</param>
    /// <param name="adType">AdType</param>
    /// <param name="alignPosition">AdAlignPosition</param>
    /// <param name="valignPosition">AdValignPosition</param>
    /// <param name="iconParams">IMobileIconParams</param>
    public static int show(string spotid, AdType adType, AdAlignPosition alignPosition, AdValignPosition valignPosition, IMobileIconParams iconParams)
    {
        Rect adRect = IMobileSdkAdsViewUtility.getAdRect(alignPosition, valignPosition, adType, iconParams, false);

        return(show(spotid, adType, adRect, iconParams, false));
    }
	private static int show(string spotid, AdType adType, Rect adRect, IMobileIconParams iconParams){

		iconParams = iconParams ?? new IMobileIconParams();
		
		string partnerId = IMobileSpotInfoManager.GetPartnerId(spotid);
		string mediaId = IMobileSpotInfoManager.GetMediaId(spotid);
		int adViewId = IMobileAdViewIdManager.createId();
		
		#if UNITY_IPHONE
		if(Application.platform == RuntimePlatform.IPhonePlayer) {
			imobileShowBySpotIDWithPositionAndIconParams_(spotid, 
			                                              partnerId,
			                                              mediaId,
			                                              (int)adRect.x,
			                                              (int)adRect.y,
			                                              (int)adRect.width,
			                                              (int)adRect.height,
			                                              iconParams.iconNumber,
			                                              iconParams.iconViewLayoutWidth,
			                                              iconParams.iconSize,
			                                              iconParams.iconTitleEnable,
			                                              iconParams.iconTitleFontSize,
			                                              iconParams.iconTitleFontColor,
			                                              iconParams.iconTitleOffset,
			                                              iconParams.iconTitleShadowEnable,
			                                              iconParams.iconTitleShadowColor,
			                                              iconParams.iconTitleShadowDx,
			                                              iconParams.iconTitleShadowDy,
			                                              adViewId);
		}
		#elif UNITY_ANDROID
		if(Application.platform == RuntimePlatform.Android) {
			imobileSdkAdsAndroidPlugin.CallStatic("show", partnerId, mediaId, spotid, adViewId, (int)adRect.x, (int)adRect.y,
			                                      iconParams.iconNumber, 
			                                      iconParams.iconViewLayoutWidth,
												  iconParams.iconSize,
			                                      iconParams.iconTitleEnable,
												  iconParams.iconTitleFontSize,
			                                      iconParams.iconTitleFontColor, 
												  iconParams.iconTitleOffset,
			                                      iconParams.iconTitleShadowEnable,
			                                      iconParams.iconTitleShadowColor,
			                                      iconParams.iconTitleShadowDx,
			                                      iconParams.iconTitleShadowDy
			                                      );
		}
		#endif
		
		return adViewId;
	}
Example #20
0
    public void ShowIcon(GameObject _goIcon, bool _bFlag)
    {
        string strSid = IMOBILE_SID_ICON;

        if (_bFlag)
        {
            if (m_iIMobileIconId == 0)
            {
                                #if UNITY_ANDROID  // && !UNITY_EDITOR
                IMobileSdkAdsUnityPlugin.registerInline(IMOBILE_PID, IMOBILE_MID, strSid);
                var iconParams = new IMobileIconParams();
                iconParams.iconNumber            = 2;         // アイコンの数を6個に
                iconParams.iconTitleFontColor    = "#000000"; // タイトルの色を黒に
                iconParams.iconTitleShadowEnable = false;     // タイトルの影を非表示に
                iconParams.iconTitleEnable       = false;

                // 広告の取得を開始します
                IMobileSdkAdsUnityPlugin.start(strSid);
                // 広告の表示位置を指定して表示します(画面左下)
                m_iIMobileIconId = (int)IMobileSdkAdsUnityPlugin.show(strSid,
                                                                      IMobileSdkAdsUnityPlugin.AdType.ICON,
                                                                      0, 90, iconParams);

                /*
                 * IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT,
                 * IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE);
                 */
                                #else
                                #endif
            }
            else
            {
                                #if UNITY_ANDROID //&& !UNITY_EDITOR
                IMobileSdkAdsUnityPlugin.setVisibility(m_iIMobileIconId, true);
                                #else
                                #endif
            }
        }
        else
        {
                        #if UNITY_ANDROID //&& !UNITY_EDITOR
            IMobileSdkAdsUnityPlugin.setVisibility(m_iIMobileIconId, false);
                        #else
                        #endif
        }

        /*
         #if UNITY_ANDROID
         * NendAdIcon script = _goIcon.GetComponent<NendAdIcon> ();
         * if (script == null) {
         *      Debug.Log ("ShowIcon script=null! ");
         *
         * } else if (_bFlag) {
         *      Debug.Log ("Show Icon! ");
         *      script.Show ();
         *      script.Resume ();
         * } else {
         *      Debug.Log ("Hide Icon! ");
         *      script.Hide();
         *      script.Pause();
         * }
         #endif
         */
        return;
    }
	/// <summary>
	/// 広告を表示します
	/// </summary>
	/// <param name="spotid">スポットID</param>
	/// <param name="adType">AdType</param>
	/// <param name="left">水平方向の広告表示座標</param>
	/// <param name="top">垂直方向の広告表示座標</param>
	/// <param name="iconParams">IMobileIconParams</param>
    public static int show(string spotid, AdType adType, int left, int top, IMobileIconParams iconParams){
		Rect adRect = IMobileSdkAdsViewUtility.getAdRect (left, top, adType, iconParams);
		return show (spotid, adType, adRect, iconParams);
	}
	/// <summary>
	/// 広告を表示します
	/// </summary>
	/// <param name="spotid">スポットID</param>
	/// <param name="adType">AdType</param>
	/// <param name="alignPosition">AdAlignPosition</param>
	/// <param name="valignPosition">AdValignPosition</param>
	/// <param name="iconParams">IMobileIconParams</param>
	public static int show(string spotid, AdType adType, AdAlignPosition alignPosition, AdValignPosition valignPosition, IMobileIconParams iconParams) {
		Rect adRect = IMobileSdkAdsViewUtility.getAdRect (alignPosition, valignPosition, adType, iconParams);
		return show (spotid, adType, adRect, iconParams);
	}
Example #23
0
        private static CGSize getAdSize(IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams)
        {
            CGSize adSize = new CGSize();

            switch (adType)
            {
            case IMobileSdkAdsUnityPlugin.AdType.BANNER:
                adSize = new CGSize(320, 50);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.BIG_BANNER:
                adSize = new CGSize(320, 100);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.TABLET_BANNER:
                adSize = new CGSize(468, 60);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.TABLET_BIG_BANNER:
                adSize = new CGSize(728, 90);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.MEDIUM_RECTANGLE:
                adSize = new CGSize(300, 250);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.BIG_RECTANGLE:
                adSize = new CGSize(336, 280);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.SKYSCRAPER:
                adSize = new CGSize(120, 600);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.WIDE_SKYSCRAPER:
                adSize = new CGSize(160, 600);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.SQUARE:
                adSize = new CGSize(250, 250);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.SMALL_SQUARE:
                adSize = new CGSize(200, 200);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.HALFPAGE:
                adSize = new CGSize(300, 600);
                break;

            case IMobileSdkAdsUnityPlugin.AdType.ICON:

                int iconDefaultWidth        = 57;                   // アイコン1つあたりのデフォルトサイズ
                int iconMinimumWidth        = 47;                   // アイコン1つあたりの最小サイズ
                int iconDefaultMargin       = 18;                   // デフォルトアイコン間隔
                int iconMinimumMargin       = 4;                    // 最小アイコン間隔
                int iconAdTitleReserveSpace = 3;                    // タイトル表示エリアの予備マージン

                // アイコン広告の表示サイズをアイコンパラメータから計算して求める
                int iconAdWidth  = 0;
                int iconAdHeight = 0;

                // スクリーンの論理サイズを取得
                int screenWidth  = 0;
                int screenHeight = 0;

                                #if UNITY_IPHONE
                screenWidth  = getScreenWidth_(isScreenPortrait());
                screenHeight = getScreenHeight_(isScreenPortrait());
                                #elif UNITY_ANDROID
                screenWidth  = getDensitySize(Screen.width);
                screenHeight = getDensitySize(Screen.height);
                                #endif

                // 幅を計算する
                if (iconParams.iconViewLayoutWidth > 0)
                {
                    iconAdWidth = iconParams.iconViewLayoutWidth;
                }
                else
                {
                    if (iconParams.iconNumber < 4)
                    {
                        int iconWidth = (iconParams.iconSize > 0) ? Math.Max(iconParams.iconSize, iconMinimumWidth) : iconDefaultWidth;
                        iconAdWidth = (iconWidth + iconDefaultMargin) * iconParams.iconNumber;
                    }
                    else
                    {
                        iconAdWidth = Math.Min(screenWidth, screenHeight);
                    }
                }

                // 高さを計算する
                // アイコン一つあたりの幅を計算
                int iconImageWidth = 0;
                if (iconParams.iconSize > 0)
                {
                    iconImageWidth = Math.Max(iconParams.iconSize, iconMinimumWidth);
                }
                else
                {
                    if (iconAdWidth >= (iconDefaultWidth + iconDefaultMargin) * iconParams.iconNumber)
                    {
                        iconImageWidth = iconDefaultWidth;
                    }
                    else
                    {
                        iconImageWidth = iconMinimumWidth;
                    }
                }

                // アイコンの表示間隔を取得(アイコン広告の表示サイス - アイコン一つあたりの幅 * アイコンの数) / アイコンの数 の結果と最低マージンとの比較で大きい方をマージンとして設定
                int iconImageMargin = Math.Max((int)Math.Ceiling((double)(iconAdWidth - iconImageWidth * iconParams.iconNumber) / iconParams.iconNumber), iconMinimumMargin);

                // 高さの取得
                if (!iconParams.iconTitleEnable)
                {
                    iconAdHeight = iconImageWidth;
                }
                else
                {
                    int iconTitleOffset   = (iconParams.iconTitleOffset > 0) ? iconParams.iconTitleOffset : 4;
                    int iconTitleFontSize = (iconParams.iconTitleFontSize > 0) ? Math.Max(iconParams.iconTitleFontSize, 8) : 10;
                    int iconTitleShadowDy = (iconParams.iconTitleShadowEnable) ? iconParams.iconTitleShadowDy : 0;

                    // タイトルが一行に収まるか計算
                    if ((iconImageWidth + iconImageMargin) >= (iconDefaultWidth + iconDefaultMargin / 2))
                    {
                        iconAdHeight = iconImageWidth + iconTitleOffset + iconTitleFontSize + iconTitleShadowDy + iconAdTitleReserveSpace;
                    }
                    else
                    {
                        iconAdHeight = iconImageWidth + iconTitleOffset + iconTitleFontSize * 2 + iconTitleShadowDy + iconAdTitleReserveSpace;
                    }
                }
                adSize = new CGSize(iconAdWidth, iconAdHeight);
                break;
            }
            return(adSize);
        }
Example #24
0
        /// <summary>
        /// 広告の表示領域を返します
        /// </summary>
        /// <returns>広告の表示領域</returns>
        /// <param name="alignPosition">AdAlignPosition</param>
        /// <param name="valignPosition">AdValignPosition</param>
        /// <param name="adType">AdType</param>
        /// <param name="iconParams">IMobileIconParams</param>
        internal static Rect getAdRect(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams)
        {
            iconParams = iconParams ?? new IMobileIconParams();

            // スクリーンの論理サイズを取得
            int screenWidth  = 0;
            int screenHeight = 0;

                        #if UNITY_IPHONE && !UNITY_EDITOR
            screenWidth  = getScreenWidth_(isScreenPortrait());
            screenHeight = getScreenHeight_(isScreenPortrait());
                        #elif UNITY_ANDROID
            screenWidth  = getDensitySize(Screen.width);
            screenHeight = getDensitySize(Screen.height);
                        #endif

            // 広告の表示位置を計算
            int x = 0;
            int y = 0;

            // 広告サイズを取得
            CGSize adSize = getAdSize(adType, iconParams);

            // x座標の取得
            switch (alignPosition)
            {
            case IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT:
                x = 0;
                break;

            case IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER:
                x = (screenWidth - adSize.width) / 2;
                break;

            case IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT:
                x = screenWidth - adSize.width;
                break;
            }

            // y座標の取得
            switch (valignPosition)
            {
            case IMobileSdkAdsUnityPlugin.AdValignPosition.TOP:
                y = 0;
                break;

            case IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE:
                y = (screenHeight / 2) - (adSize.height / 2);
                break;

            case IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM:
                y = screenHeight - adSize.height;
                break;
            }

            return(getAdRect(x, y, adType, iconParams));
        }
Example #25
0
        /// <summary>
        /// 広告の表示領域を返します
        /// </summary>
        /// <returns>広告の表示領域</returns>
        /// <param name="left">Left</param>
        /// <param name="top">Top</param>
        /// <param name="adType">AdType</param>
        /// <param name="iconParams">IMobileIconParams</param>
        internal static Rect getAdRect(int left, int top, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams)
        {
            iconParams = iconParams ?? new IMobileIconParams();
            CGSize adSize = getAdSize(adType, iconParams);

            return(new Rect(left, top, adSize.width, adSize.height));
        }
        /// <summary>
        /// 広告の表示領域を返します
        /// </summary>
        /// <returns>広告の表示領域</returns>
        /// <param name="alignPosition">AdAlignPosition</param>
        /// <param name="valignPosition">AdValignPosition</param>
        /// <param name="adType">AdType</param>
        /// <param name="iconParams">IMobileIconParams</param>
        /// <param name="sizeAdjust">sizeAdjust</param>
        internal static Rect getAdRect(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams, bool sizeAdjust)
        {
            // スクリーンの論理サイズを取得
            int screenWidth  = 0;
            int screenHeight = 0;

                        #if UNITY_IPHONE && !UNITY_EDITOR
            screenWidth  = getScreenWidth_(isScreenPortrait());
            screenHeight = getScreenHeight_(isScreenPortrait());
                        #elif UNITY_ANDROID && !UNITY_EDITOR
            screenWidth  = getDensitySize(Screen.width);
            screenHeight = getDensitySize(Screen.height);
                        #endif

            // 広告の表示位置を計算
            int left = 0;
            int top  = 0;

            // 広告サイズを取得
            iconParams = iconParams ?? new IMobileIconParams();
            CGSize adSize = getAdSize(adType, iconParams, sizeAdjust);

            // x座標の取得
            switch (alignPosition)
            {
            case IMobileSdkAdsUnityPlugin.AdAlignPosition.LEFT:
                left = 0;
                break;

            case IMobileSdkAdsUnityPlugin.AdAlignPosition.CENTER:
                left = (screenWidth - adSize.width) / 2;
                break;

            case IMobileSdkAdsUnityPlugin.AdAlignPosition.RIGHT:
                left = screenWidth - adSize.width;
                break;
            }

            // y座標の取得
            switch (valignPosition)
            {
            case IMobileSdkAdsUnityPlugin.AdValignPosition.TOP:
                top = 0;
                break;

            case IMobileSdkAdsUnityPlugin.AdValignPosition.MIDDLE:
                top = (screenHeight / 2) - (adSize.height / 2);
                break;

            case IMobileSdkAdsUnityPlugin.AdValignPosition.BOTTOM:
                #if UNITY_IOS
                top = screenHeight - adSize.height - 56;

                if (SystemInfo.deviceModel.Contains("iPad"))
                {
                    // ipadでの処理
                    top = screenHeight - adSize.height - 82; // ゴリ押しの修正
                }
                #else
                top = screenHeight - adSize.height - 48;
                #endif

                break;
            }

            return(new Rect(left, top, adSize.width, adSize.height));
        }
	private static int getHeight(IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
		int height = -1;
		switch (adType) {
		case IMobileSdkAdsUnityPlugin.AdType.BANNER:
			height = 50;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.BIG_BANNER:
			height = 100;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.TABLET_BANNER:
			height = 60;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.TABLET_BIG_BANNER:
			height = 90;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.MEDIUM_RECTANGLE:
			height = 250;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.BIG_RECTANGLE:
			height = 280;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SKYSCRAPER:
			height = 600;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.WIDE_SKYSCRAPER:
			height = 600;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SQUARE:
			height = 250;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.SMALL_SQUARE:
			height = 200;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.HALFPAGE:
			height = 600;
			break;
		case IMobileSdkAdsUnityPlugin.AdType.ICON:
			height = getIconAdHeight(iconParams);
			break;
		}
		
		return height;
	}
	private static int show(string spotid, AdType adType, Rect adRect, IMobileIconParams iconParams, bool sizeAdjust){

		int adViewId = IMobileAdViewIdManager.CreateId();

		#if !UNITY_EDITOR
		iconParams = iconParams ?? new IMobileIconParams();
		string partnerId = IMobileSpotInfoManager.GetPartnerId(spotid);
		string mediaId = IMobileSpotInfoManager.GetMediaId(spotid);
		bool isIcon = adType == AdType.ICON;
		#endif

		#if UNITY_IPHONE && !UNITY_EDITOR
		if(Application.platform == RuntimePlatform.IPhonePlayer) {

			string[] parameters = {
				partnerId,
				mediaId,
				spotid,
				adRect.x.ToString(),
				adRect.y.ToString(),
				adRect.width.ToString(),
				adRect.height.ToString(),
				iconParams.iconViewLayoutWidth.ToString(),
				iconParams.iconSize.ToString(),
				iconParams.iconTitleEnable.ToString(),
				iconParams.iconTitleFontSize.ToString(),
				iconParams.iconTitleFontColor.ToString(),
				iconParams.iconTitleOffset.ToString(),
				iconParams.iconTitleShadowEnable.ToString(),
				iconParams.iconTitleShadowColor.ToString(),
				iconParams.iconTitleShadowDx.ToString(),
				iconParams.iconTitleShadowDy.ToString(),
				isIcon.ToString(),
				sizeAdjust.ToString(),
				adViewId.ToString()
			};

			string paramStr =  string.Join(":", parameters);
			imobileShowBySpotIDWithPositionAndIconParams_(paramStr);
		}
		#elif UNITY_ANDROID && !UNITY_EDITOR
		if(Application.platform == RuntimePlatform.Android) {
			imobileSdkAdsAndroidPlugin.CallStatic("show", partnerId, mediaId, spotid, (int)adRect.x, (int)adRect.y,
			                                      iconParams.iconNumber,
			                                      iconParams.iconViewLayoutWidth,
				                                  iconParams.iconSize,
				                                  iconParams.iconTitleEnable,
				                                  iconParams.iconTitleFontSize,
				                                  iconParams.iconTitleFontColor, 
				                                  iconParams.iconTitleOffset,
				                                  iconParams.iconTitleShadowEnable,
				                                  iconParams.iconTitleShadowColor,
				                                  iconParams.iconTitleShadowDx,
				                                  iconParams.iconTitleShadowDy,
			                                      isIcon,
			                                      sizeAdjust,
			                                      adViewId
				                                  );
		}
		#endif


		return adViewId;
	}
	/// <summary>
	/// 広告の表示領域を返します
	/// </summary>
	/// <returns>広告の表示領域</returns>
	/// <param name="alignPosition">AdAlignPosition</param>
	/// <param name="valignPosition">AdValignPosition</param>
	/// <param name="adType">AdType</param>
	/// <param name="iconParams">IMobileIconParams</param>
	internal static Rect getAdRect(IMobileSdkAdsUnityPlugin.AdAlignPosition alignPosition, IMobileSdkAdsUnityPlugin.AdValignPosition valignPosition, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams){
		int left = getLeft (alignPosition, adType, iconParams);
		int top = getTop (valignPosition, adType, iconParams);
		return getAdRect (left, top, adType, iconParams);
	}
    /// <summary>
    /// 広告を表示します
    /// </summary>
    /// <param name="spotid">スポットID</param>
    /// <param name="adType">AdType</param>
    /// <param name="left">水平方向の広告表示座標</param>
    /// <param name="top">垂直方向の広告表示座標</param>
    /// <param name="iconParams">IMobileIconParams</param>
    public static int show(string spotid, AdType adType, int left, int top, IMobileIconParams iconParams)
    {
        Rect adRect = IMobileSdkAdsViewUtility.getAdRect(left, top, adType, iconParams, false);

        return(show(spotid, adType, adRect, iconParams, false));
    }
		/// <summary>
		/// 広告の表示領域を返します
		/// </summary>
		/// <returns>広告の表示領域</returns>
		/// <param name="left">Left</param>
		/// <param name="top">Top</param>
		/// <param name="adType">AdType</param>
		/// <param name="iconParams">IMobileIconParams</param>
		/// <param name="sizeAdjust">sizeAdjust</param>
		internal static Rect getAdRect(int left, int top, IMobileSdkAdsUnityPlugin.AdType adType, IMobileIconParams iconParams, bool sizeAdjust)
		{
			iconParams = iconParams ?? new IMobileIconParams ();
			CGSize adSize = getAdSize (adType, iconParams, sizeAdjust);
			return new Rect (left, top, adSize.width, adSize.height);
		}