广告的加载

对广告进行配置

json.txt

{

    "native": [

    {

            "pid": "104223",//home_top_native


            "fbids": [

                "1810353095906320_1810353745906255"

            ]

        },

        {

            "pid": "104226",//back_native


            "fbids": [

                "1810353095906320_1810354152572881"

            ]

        },

        {

            "pid": "104230",//home_button_native


            "fbids": [

                "1810353095906320_1810354562572840"

            ]

        },

        {

            "pid": "104231",//share_native


            "fbids": [

                "1810353095906320_1810354562572840"

            ]

        }

    ],

    "offerwall": [

        {

            "pid": "14640",

            "fbids": ""

        }

    ]

}


在androidminifest.xml里配置信息

本地推荐:
minifest.xml

        <activity
            android:name="com.baiwang.lib.recapp.RecommendAppActivity_Dynamic"
            android:screenOrientation="portrait"
            android:theme="@android:style/Theme.Translucent.NoTitleBar" >
        </activity>


dap: json文件,


<!--Umeng配置-->
        <activity
            android:name="com.umeng.fb.ConversationActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />
        <activity
            android:name="com.umeng.fb.ContactActivity"
            android:theme="@android:style/Theme.NoTitleBar.Fullscreen" />


        <meta-data
            android:name="UMENG_APPKEY"
            android:value="5407ce5dfd98c589c3029b76" >
        </meta-data>
        <!—using推送-->
        <meta-data
            android:name="UMENG_MESSAGE_SECRET"
            android:value="b1ab80d6a1f38aad1391106cf2947989" />
        <meta-data
            android:name="UMENG_CHANNEL"
            android:value="Umeng" />


        <!--Dap配置-->
        <meta-data
            android:name="app_license"
            android:value="484b9a079aa18f8089eda204c6a235fe" />


        <receiver android:name="com.duapps.ad.base.PackageAddReceiver" >
            <intent-filter>
                
                <action android:name="android.intent.action.PACKAGE_ADDED" />


                <data android:scheme="package" />
                
                
            </intent-filter>
        </receiver>


        <activity android:name="com.duapps.ad.offerwall.ui.OfferWallAct" />


        <provider
            android:name="com.duapps.ad.stats.DuAdCacheProvider"
            android:authorities="com.baiwang.stylephotocollage.DuAdCacheProvider"
            android:exported="false" >
        </provider>


        <activity
            android:name="com.facebook.ads.InterstitialAdActivity"
            android:configChanges="keyboardHidden|orientation|screenSize" />






        <!--kika配置-->
<receiver android:name="com.kika.pluto.filter.KoalaAppInstallReceiver" >
            <intent-filter>
                <action android:name="android.intent.action.PACKAGE_ADDED" />
                <action android:name="android.intent.action.PACKAGE_REMOVED" />
                <data android:scheme="package" />
            </intent-filter>
        </receiver>
        <meta-data
            android:name="AGENT_APPKEY"
            android:value="3822899077e9df0858fc1c9b811c0fbb" />
        <meta-data
            android:name="AGENT_SECRET"
            android:value="f642f07e67c50f157fa18111bfd7c4e2" />        


在application中配置:

       DuAdNetwork.init(this, getConfigJSON(getApplicationContext()));

        KoalaADAgent.init(getApplicationContext());



1.在需要添加广告的位置编辑布局文件

 <!-- 广告 -->


    <FrameLayout

        android:id="@+id/ly_home_nativead"

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_gravity="top"

        android:layout_marginTop="50dp"

        android:visibility="invisible">


        <com.baiwang.squareblend.view.viewDuAdNative

            android:id="@+id/du_native"

            android:layout_width="match_parent"

            android:layout_height="270dp"

            android:layout_marginBottom="3dp"

            android:layout_marginLeft="5dp"

            android:layout_marginRight="5dp"/>


        <ImageView

            android:id="@+id/btn_native_delete"

            android:layout_width="20dp"

            android:layout_height="20dp"

            android:layout_gravity="top|right"

            android:layout_marginRight="8dp"

            android:layout_marginTop="8dp"

            android:src="@drawable/img_ad_delete"

            android:visibility="invisible"/>

    </FrameLayout>

    <!-- 广告结束 -->

首页广告:在onstart中:

//广告

try

{

String strtime = PreferencesUtil.get(HomeActivity.this,

"Collage_Native","Native_Click_time");//访问过广告,,viewDuAdNative跳转回调保存的参数

if(strtime ==null)

{

strtime ="0";

}

curtime=System.currentTimeMillis();

lasttime = Long.parseLong(strtime);

//多久显示一次

if (curtime -lasttime > 3600 * 3 * 1000) {

initNative();

}

}

catch(Exceptione)

{

e.printStackTrace();

}



//initNative()代码

protectedvoid initNative() {


ly_home_nativead = findViewById(R.id.ly_home_nativead);

btn_native_delete = (ImageView) findViewById(R.id.btn_native_delete);

btn_native_delete.setOnClickListener(new View.OnClickListener() {


@Override

public void onClick(View v) {

ly_home_nativead.setVisibility(View.INVISIBLE);

try {

if (Build.VERSION.SDK_INT > 14 &&mNative !=null)

mNative.unRegisterNative();

} catch (Exceptione) {

} catch (Throwablet) {

}


}

});


try {


mNative = (viewDuAdNative) findViewById(R.id.du_native);

//mNative.getLayoutParams().height = ScreenInfoUtil.dip2px(this, 300);//和btImageIcon保持一致

//mNative.getLayoutParams().height = btImageIcon.getHeight();

//mNative.getLayoutParams().height = img_icon.getHeight();

//mNative.getLayoutParams().height = ScreenInfoUtil.dip2px(this, adHeight);


mNative.setOnNativeLoadAllCompleteListener(new OnNativeLoadAllCompleteListener() {


@Override

public void onNativeLoaded() {

ly_home_nativead.setVisibility(View.VISIBLE);

btn_native_delete.setVisibility(View.VISIBLE);

}

});


if (Build.VERSION.SDK_INT > 14) {

mNative.setPID(HOME_PID);

mNative.loadNativeAd();

} else {

mNative.setVisibility(View.INVISIBLE);

}

} catch (Exceptione) {

} catch (Throwablet) {

}

}

2.按钮广告的加载

按钮广告引用说明

  1. 检出或更新DUAd_SDK、KikaAd_SDK、LibDAP_AD、LibADManager;
  2. 在工程中引用LibADManager;
  3. 在首页代码中引用:以VideoCreator为例,可参看其代码,跟据项目需要做更改,有问题及时和我沟通

  //自有按钮广告缓存目录

private StringmRecFolder ="";

//推荐按钮图片View

private ImageViewimg_rec;

//推荐按钮文字View

private TextViewtxt_rec;

//推荐按钮layout

private Viewly_rec;



    //dap按钮广告管理器

  ButtonAdManagerInterfacedapAdManagerInterface;

  //kika按钮广告管理器

ButtonAdManagerInterfacekikaAdManagerInterface;

//自有按钮广告管理器

ButtonAdManagerInterfacerecAdManagerInterface;

//当前按钮显示广告

ButtonAdManagerInterfacecurrentAdManagerInterface;

//加载按钮广告

  publicvoid initIconButtonAd()

  {

  //实例化dap按钮广告

  dapAdManagerInterface =new DapButtonAdManager(this, 31775);

  //实例化kika按钮广告

  kikaAdManagerInterface =new KikaButtonAdManager(this,"home_button_native");

  //实例化自有按钮广告

  recAdManagerInterface =new RecButtonAdManager(this,mRecFolder);

  try {

  //加载dap广告

  dapAdManagerInterface.loadAd();

  //设置dap广告显示之后轮播kika广告

  dapAdManagerInterface.setNextButtonAdManager(kikaAdManagerInterface);


  //加载kika广告

  kikaAdManagerInterface.loadAd();

  //设置kika广告显示之后轮播自有广告

  kikaAdManagerInterface.setNextButtonAdManager(recAdManagerInterface);

  //设置kika加载完成后回调函数

  kikaAdManagerInterface.setButtonAdLoadSuccessListener(new ButtonAdLoadSuccessListener() {

 

  @Override

  publicvoid onSuccess() {

  //TODO Auto-generated method stub

  showIconButtonAd();

  }

  });

  //加载自有广告

  recAdManagerInterface.loadAd();

  //设置自有广告显示之后轮播dap广告

  recAdManagerInterface.setNextButtonAdManager(dapAdManagerInterface);

} catch (Exception e) {

//TODO: handle exception

e.printStackTrace();

}

 

  }

 

  //显示按钮广告

  privatevoid showIconButtonAd()

  {

  //设置默认按钮广告为kika广告

  if(currentAdManagerInterface ==null)

{

currentAdManagerInterface =kikaAdManagerInterface;

}

  //判断是否有加载成功广告

if(dapAdManagerInterface.getIsSuccess()

|| kikaAdManagerInterface.getIsSuccess()

|| recAdManagerInterface.getIsSuccess())

{

//如果当前按钮广告未加载成功则循环

while (!currentAdManagerInterface.getIsSuccess()) {

currentAdManagerInterface =currentAdManagerInterface.getNextButtonAdManager();

}

//显示当前按钮广告

currentAdManagerInterface.showAd(this,img_rec,ly_rec,txt_rec);

//将当前广告置为下一次将轮播广告

currentAdManagerInterface =currentAdManagerInterface.getNextButtonAdManager();

}

  }


   @Override

    protectedvoid onCreate(Bundle savedInstanceState)

    {

....


       img_rec = (ImageView)findViewById(R.id.img_mirror);

txt_rec = (TextView)findViewById(R.id.txt_rec);

ly_rec = findViewById(R.id.img_mirror);;

//设置按钮推荐自有广告缓存目录

File  dir = new File(Environment.getExternalStorageDirectory().getPath()+"/.videocreator/rec_button");

booleanbln =false;

if (!dir.exists()) {

bln = dir.mkdirs();

}

mRecFolder = dir.getPath();

//加载按钮广告列表

initIconButtonAd();

    }


   @Override

    protectedvoid onResume()

    {

        ....

        

        try {

RecData_Dynamic2.loadRecData("android_VideoCreator",this);

// //检查是否有最新按钮推荐,并下载配置信息及按钮图片

RecButtonData_Dynamic.loadRecData("android_VideoCreator",this);

//设置缓存目录

RecButtonData_Dynamic.setFolder(mRecFolder);

// //加载推荐按钮信息

recAdManagerInterface.loadAd();

showIconButtonAd();

} catch (Exception e) {

}

}



    @Override

protectedvoid onDestroy() {

super.onDestroy();


//销毁加载的按钮广告图片内存

try {

img_rec.setImageBitmap(null);

dapAdManagerInterface.dispose();

kikaAdManagerInterface.dispose();

recAdManagerInterface.dispose();

} catch (Exception e) {

//TODO: handle exception

}

}

  1. https://github.com/leotse90/KoalaAdDemoApp KikaDemoSDK说明
  2. http://ad.duapps.com/zh_CN/support/dap SDK说明
3.分享页广告直接加载完毕

4.回退广告

系统返回键

@Override

public boolean onKeyDown(int keyCode, KeyEvent event) {

if (keyCode == KeyEvent.KEYCODE_BACK) {

dialogCancel();

}


returnfalse;

}

自带返回键

findViewById(R.id.btBack).setOnClickListener(new OnClickListener() {


@Override

public void onClick(View v) {

// TODO Auto-generated method stub

dialogCancel();

}


protected void dialogCancel() {

AlertDialog.Builder builder = new Builder(this);

builder.setMessage(R.string.dialog_message);

builder.setTitle(R.string.dialog_prompt);

builder.setPositiveButton(R.string.dialog_ok,

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

mainView.setImageBitmap(null);

finish();

dialog.dismiss();

}

});

builder.setNegativeButton(R.string.dialog_cancel,

new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

});

builder.create().show();

}







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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值