unity 中广告banner参考

using System;
using UnityEngine;

namespace AdUnion
{
    /*
     * 4399广告联盟Banner   
     */
    public class AdUnionBanner
    {

        private static int MATCH_PARENT = -1;
        private static int WRAP_CONTENT = -2;

        private static int GRAVITY_TOP = 48;
        private static int GRAVITY_BOTTOM = 80;

        //广告位ID
        private string posId;
        
        public AdUnionBanner(string posId)
        {
            this.posId = posId;
        }

        /*
         * 加载banner广告       
         */
        public void loadBanner()
        {
            Debug.Log("loadBanner---");
            AndroidJavaObject banner = new AndroidJavaObject("com.mob4399.adunion.AdUnionBanner");

            OnAuBannerAdListenerProxy listener
            = new OnAuBannerAdListenerProxy(AdUnionContext.GetInstance().GetRootLayout());

       
            //加载广告
            banner.Call("loadBanner",
                AdUnionContext.GetInstance().GetActivity(), posId, listener);

        }


        /*
         * Banner广告回调方法       
         */
        class OnAuBannerAdListenerProxy : AndroidJavaProxy
        {
            private AndroidJavaObject parentContainer;

            public OnAuBannerAdListenerProxy(AndroidJavaObject parent) : base("com.mob4399.adunion.listener.OnAuBannerAdListener")
            {
                this.parentContainer = parent;
            }

            /*
           * 加载成功,返回广告view
           */
            void onBannerLoaded(AndroidJavaObject mBannerView)
            {
                Debug.Log("Banner loaded");

                AdUnionContext.GetInstance().RunOnUIThread(new AndroidJavaRunnable(() =>
                {

                    //广告添加到容器中
                    AndroidJavaObject layoutParams = null;
                    layoutParams = new AndroidJavaObject("android.widget.FrameLayout$LayoutParams",
                        MATCH_PARENT, WRAP_CONTENT, GRAVITY_BOTTOM);
                    //add banner to parent container
                    parentContainer.Call("addView", mBannerView, layoutParams);

                    if (ADSMgr.Inst.curView != null)
                    {
                        ADSMgr.Inst.curView.Call("setVisibility", 8);
                        parentContainer.Call("removeView", ADSMgr.Inst.curView);
                    }
                    ADSMgr.Inst.curView = mBannerView;


                    //mBannerView.Call("setVisibility",8);
                   

                }));

            }

            /**
             * 加载失败
             * @param message
             */
            void onBannerFailed()
            {
                Debug.Log("Banner onInterstitialLoadFailed");
            }

            /**
             *广告被点击
             */
            void onBannerClicked()
            {

            }

            /**
             * 广告关闭
             */
            void onBannerClosed()
            {
                Debug.Log("close Banner");
            }
        }
    }


}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值