有米廣告平臺(tái)介紹:有米SDK 關(guān)于有米的一些信息設(shè)置,官網(wǎng)表述的已經(jīng)非常清楚,此處不再贅述,本教程是針對(duì)Android機(jī)器。 直接上代碼 1】C部分 本教程基于Cocos2d-x的HelloWorld空程序,所以代碼非常簡單,不需修改C部分代碼 2】Java代碼 1、AppActivity.jav
有米廣告平臺(tái)介紹:有米SDK
關(guān)于有米的一些信息設(shè)置,官網(wǎng)表述的已經(jīng)非常清楚,此處不再贅述,本教程是針對(duì)Android機(jī)器。
直接上代碼
1】C++部分
本教程基于Cocos2d-x的HelloWorld空程序,所以代碼非常簡單,不需修改C++部分代碼
2】Java代碼
1、AppActivity.java
/**************************************************************************** Copyright (c) 2008-2010 Ricardo Quesada Copyright (c) 2010-2012 cocos2d-x.org Copyright (c) 2011 Zynga Inc. Copyright (c) 2013-2014 Chukong Technologies Inc. http://www.cocos2d-x.org Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ****************************************************************************/ package org.cocos2dx.cpp; import net.youmi.android.AdManager; import net.youmi.android.banner.AdSize; import net.youmi.android.banner.AdView; import net.youmi.android.banner.AdViewListener; import net.youmi.android.spot.SpotDialogListener; import net.youmi.android.spot.SpotManager; import org.cocos2dx.lib.Cocos2dxActivity; import org.cocos2dx.lib.Cocos2dxEditText; import org.cocos2dx.lib.Cocos2dxGLSurfaceView; import org.cocos2dx.lib.Cocos2dxRenderer; import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.Gravity; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; import android.widget.LinearLayout; import com.yxk.youmi.R; public class AppActivity extends Cocos2dxActivity { // SpotManager.getInstance(sActivity).showSpotAds(sActivity); private Cocos2dxGLSurfaceView mGLView;//add private static Context mContext;//add protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; //add LayoutParams frameLayout_paras = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT); FrameLayout frameLayout = new FrameLayout(this); frameLayout.setLayoutParams(frameLayout_paras); ViewGroup.LayoutParams edittext_layout_params = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT); Cocos2dxEditText editText = new Cocos2dxEditText(this); editText.setLayoutParams(edittext_layout_params); frameLayout.addView(editText); mGLView = new Cocos2dxGLSurfaceView(this); frameLayout.addView(mGLView); mGLView.setEGLContextClientVersion(2); mGLView.setCocos2dxRenderer(new Cocos2dxRenderer()); setContentView(frameLayout); LinearLayout adMiniLayout = new LinearLayout(this); adMiniLayout.setOrientation(LinearLayout.VERTICAL); FrameLayout.LayoutParams lp_mini = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //設(shè)置adMiniLayout的懸浮位置,具體的位置開發(fā)者根據(jù)需要設(shè)置 lp_mini.gravity = Gravity.BOTTOM | Gravity.CENTER_HORIZONTAL;//這里確定廣告的位置 this.addContentView(adMiniLayout, lp_mini); LinearLayout miniLayout = new LinearLayout(this); miniLayout.setGravity(Gravity.CENTER_HORIZONTAL); adMiniLayout.addView(miniLayout); AdManager.getInstance(this).init("937f81391fe278d0", "11f447b520039ceb", false); AdView adView = new AdView(this, AdSize.FIT_SCREEN); miniLayout.addView(adView); // 監(jiān)聽廣告條接口 adView.setAdListener(new AdViewListener() { @Override public void onSwitchedAd(AdView arg0) { Log.i("YoumiAdDemo", "廣告條切換"); } @Override public void onReceivedAd(AdView arg0) { Log.i("YoumiAdDemo", "請(qǐng)求廣告成功"); } @Override public void onFailedToReceivedAd(AdView arg0) { Log.i("YoumiAdDemo", "請(qǐng)求廣告失敗"); } }); SpotManager.getInstance(this).loadSpotAds(); SpotManager.getInstance(this).setShowInterval(20);// 設(shè)置20秒的顯示時(shí)間間隔 SpotManager.getInstance(this).setSpotOrientation( SpotManager.ORIENTATION_PORTRAIT); } /* Button spotBtn = (Button) findViewById(R.id.showSpot); spotBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 展示插播廣告,可以不調(diào)用loadSpot獨(dú)立使用 SpotManager.getInstance(AppActivity.this).showSpotAds( AppActivity.this, new SpotDialogListener() { @Override public void onShowSuccess() { Log.i("YoumiAdDemo", "展示成功"); } @Override public void onShowFailed() { Log.i("YoumiAdDemo", "展示失敗"); } @Override public void onSpotClosed() { Log.e("YoumiAdDemo", "插屏關(guān)閉"); } }); // // // 可以根據(jù)需要設(shè)置Theme,如下調(diào)用,如果無特殊需求,直接調(diào)用上方的接口即可 // SpotManager.getInstance(YoumiAdDemo.this).showSpotAds(YoumiAdDemo.this, // android.R.style.Theme_Translucent_NoTitleBar); // // } }); Button diyBtn = (Button) findViewById(R.id.diy); diyBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(); intent.setClass(AppActivity.this, DiyDemo.class); startActivity(intent); } }); } */ // setContentView(R.layout.main);//del /* AdManager.getInstance(this).init("937f81391fe278d0", "11f447b520039ceb", false); FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); // 設(shè)置廣告條的懸浮位置 layoutParams.gravity = Gravity.BOTTOM | Gravity.RIGHT; // 這里示例為右下角 // 實(shí)例化廣告條 AdView adView = new AdView(this, AdSize.FIT_SCREEN); // 調(diào)用Activity的addContentView函數(shù) this.addContentView(adView, layoutParams); // 監(jiān)聽廣告條接口 adView.setAdListener(new AdViewListener() { @Override public void onSwitchedAd(AdView arg0) { Log.i("YoumiAdDemo", "廣告條切換"); } @Override public void onReceivedAd(AdView arg0) { Log.i("YoumiAdDemo", "請(qǐng)求廣告成功"); } @Override public void onFailedToReceivedAd(AdView arg0) { Log.i("YoumiAdDemo", "請(qǐng)求廣告失敗"); } }); SpotManager.getInstance(this).loadSpotAds(); SpotManager.getInstance(this).setShowInterval(20);// 設(shè)置20秒的顯示時(shí)間間隔 SpotManager.getInstance(this).setSpotOrientation( SpotManager.ORIENTATION_PORTRAIT); Button spotBtn = (Button) findViewById(R.id.showSpot); spotBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // 展示插播廣告,可以不調(diào)用loadSpot獨(dú)立使用 SpotManager.getInstance(AppActivity.this).showSpotAds( AppActivity.this, new SpotDialogListener() { @Override public void onShowSuccess() { Log.i("YoumiAdDemo", "展示成功"); } @Override public void onShowFailed() { Log.i("YoumiAdDemo", "展示失敗"); } @Override public void onSpotClosed() { Log.e("YoumiAdDemo", "插屏關(guān)閉"); } }); // // // 可以根據(jù)需要設(shè)置Theme,如下調(diào)用,如果無特殊需求,直接調(diào)用上方的接口即可 // SpotManager.getInstance(YoumiAdDemo.this).showSpotAds(YoumiAdDemo.this, // android.R.style.Theme_Translucent_NoTitleBar); // // } }); Button diyBtn = (Button) findViewById(R.id.diy); diyBtn.setOnClickListener(new OnClickListener() { @Override public void onClick(View view) { Intent intent = new Intent(); intent.setClass(AppActivity.this, DiyDemo.class); startActivity(intent); } }); } */ @Override public void onBackPressed() { // 如果有需要,可以點(diǎn)擊后退關(guān)閉插播廣告。 if (!SpotManager.getInstance(AppActivity.this).disMiss(true)) { super.onBackPressed(); } } @Override protected void onStop() { // 如果不調(diào)用此方法,則按home鍵的時(shí)候會(huì)出現(xiàn)圖標(biāo)無法顯示的情況。 SpotManager.getInstance(AppActivity.this).disMiss(false); super.onStop(); } @Override protected void onDestroy() { SpotManager.getInstance(this).unregisterSceenReceiver(); super.onDestroy(); } }
package org.cocos2dx.cpp; import java.util.List; import com.yxk.youmi.R; import net.youmi.android.diy.AdObject; import net.youmi.android.diy.DiyManager; import net.youmi.android.diy.banner.DiyAdSize; import net.youmi.android.diy.banner.DiyBanner; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RelativeLayout; public class DiyDemo extends Activity{ private Button showRecommendWallBtn, showRecommendAppWallBtn, showRecommendGameWallBtn; private List adList; public void onCreate(Bundle bundle){ super.onCreate(bundle); setContentView(R.layout.activity_diydemo); //普通布局,適用于應(yīng)用 //獲取要嵌入迷你廣告條的布局 RelativeLayout adLayout=(RelativeLayout)findViewById(R.id.adLayout); //demo 1 迷你Banner : 寬滿屏,高32dp DiyBanner banner = new DiyBanner(this, DiyAdSize.SIZE_MATCH_SCREENx32);//傳入高度為32dp的AdSize來定義迷你Banner //demo 2 迷你Banner : 寬320dp,高32dp //DiyBanner banner = new DiyBanner(this, DiyAdSize.SIZE_320x32);//傳入高度為32dp的AdSize來定義迷你Banner //將積分Banner加入到布局中 adLayout.addView(banner); //懸浮布局,適用于游戲 /* //實(shí)例化LayoutParams(重要) FrameLayout.LayoutParams layoutParams = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.FILL_PARENT, FrameLayout.LayoutParams.WRAP_CONTENT); //設(shè)置迷你Banner的懸浮位置 layoutParams.gravity = Gravity.BOTTOM | Gravity.RIGHT; // 這里示例為右下角 //實(shí)例化迷你Banner DiyBanner banner = new DiyBanner(this, DiyAdSize.SIZE_MATCH_SCREENx32);//傳入高度為32dp的DiyAdSize來定義迷你Banner //調(diào)用Activity的addContentView函數(shù) this.addContentView(banner, layoutParams); */ showRecommendWallBtn = (Button) findViewById(R.id.showRecommendWall); showRecommendWallBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 展示所有應(yīng)用推薦墻 DiyManager.showRecommendWall(DiyDemo.this); } }); showRecommendAppWallBtn = (Button) findViewById(R.id.showRecommendAppWall); showRecommendAppWallBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 展示應(yīng)用推薦墻 DiyManager.showRecommendAppWall(DiyDemo.this); } }); showRecommendGameWallBtn = (Button) findViewById(R.id.showRecommendGameWall); showRecommendGameWallBtn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { // 展示游戲推薦墻 DiyManager.showRecommendGameWall(DiyDemo.this); } }); } }
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com