Android 中嵌入广告 有米平台

废话不多说,直接进入主题1.使用任何的第三方第一步肯定是到其官网去注册一个新账号了,然后创建自己的应用,获取专属自己应用的标识,一般是appkey之类的一串字符串,有米的这个东西叫做 发布ID 和 应用密钥,如下图
<img src="https://img-blog.csdn.net/20141024153247385?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Fuemh1YW5pdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
当你注册用户的时候,有米会让你完善自己的信息,输入身份证,银行卡的信息,这个很正常,毕竟这个广告平台是可以给用户获得利益的,当然需要实名 认证。
2.当你获取到发布ID 和 应用密钥之后就可以下载SDK进行开发了,下载SDK之后会有如下文件
<img src="https://img-blog.csdn.net/20141024153213453?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2Fuemh1YW5pdA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />
打开demo下会有normal和offers两个文件夹,直接将normal中的libs中的有米SDK文件YoumiSdk_v4.10_2014-09-25.jar拷贝到自己的工程中libs下,这样集成环境就好了接下来就是添加权限了
3.以下就是有米广告需要的权限,将其添加到manifest中
<!-- 有米广告配置权限 -->  
	<!-- 配置权限 -->  
	<uses-permission android:name="android.permission.INTERNET" />  
	<uses-permission android:name="android.permission.READ_PHONE_STATE" />  
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
	<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
	<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />  
	<uses-permission android:name="android.permission.GET_TASKS" />  
		<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />  
	<!-- 以下为可选权限 -->  
	<uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> 

另外还有其他配置 有米广告必须添加的组件以及渠道号

 <!-- 有米广告必须添加的组件 -->  
       <!-- 添加必须的组件 -->  
       <activity  
           android:name="net.youmi.android.AdBrowser"  
           android:configChanges="keyboard|keyboardHidden|orientation|screenSize"  
           android:theme="@android:style/Theme.Light.NoTitleBar" >  
       </activity>  
  
       <service  
           android:name="net.youmi.android.AdService"  
           android:exported="false" >  
       </service>  
  
       <receiver android:name="net.youmi.android.AdReceiver" >  
           <intent-filter>  
               <action android:name="android.intent.action.PACKAGE_ADDED" />  
  
               <data android:scheme="package" />  
           </intent-filter>  
       </receiver>  
  
       <!-- 有米渠道号(可选配置) 渠道号不能带空格,类型为整数 -->  
       <meta-data  
           android:name="YOUMI_CHANNEL"  
           android:value="0" >  
       </meta-data>  
4.截止到现在关于有米广告接入的配置已经全部结束,下面就是进行代码编写
先贴上XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
 
    <WebView
        android:id="@+id/webView1"
        android:layout_width="match_parent"
        android:layout_height="0dip"
        android:layout_weight="1" />
 
    
 
        <ProgressBar
            android:id="@+id/progressBar1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal" />
 <RelativeLayout 
     	android:id="@+id/adLayout"
         android:layout_width="fill_parent"
            android:layout_height="wrap_content"
     
     ></RelativeLayout>
    
</LinearLayout>

下面是完整的代码文件 

public class MainActivity extends ActionBarActivity {
	  	WebView webView;
	    ProgressBar progressBar;
	    RelativeLayout adLayout ;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.fragment_main);

        webView = (WebView) findViewById(R.id.webView1);
        progressBar = (ProgressBar) findViewById(R.id.progressBar1);
        adLayout = (RelativeLayout)findViewById(R.id.adLayout);  
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("http://www.baidu.com/");
        webView.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
        webView.setWebChromeClient(new WebChromeClient() {
 
            public void onProgressChanged(WebView view, int progress) {
 
                setTitle("页面加载中,请稍候..." + progress + "%");
 
                setProgress(progress * 100);
 
                if (progress == 100) {
 
                    setTitle(R.string.app_name);
 
                    progressBar.setVisibility(4);
                }
 
            }
 
        });
        
        addYoumi();
        
    }
    public void addYoumi(){
    			// 初始化接口,应用启动的时候调用
    			// 参数:appId, appSecret, 调试模式
    			AdManager.getInstance(this).init("f4d774879e2705d7", "cf1ffa3ece355f45", false);
    			// 检查配置,SDK运行失败时可以用来检查配置是否齐全
    			 SpotManager.getInstance(this).checkPermission(this);
//    			 广告条接口调用(适用于应用)
//    			 将广告条adView添加到需要展示的layout控件中
    			 AdView adView = new AdView(this, AdSize.FIT_SCREEN);
    			 adLayout.addView(adView);

    			// 广告条接口调用(适用于游戏)

    			// 实例化LayoutParams(重要)
//    			AdView adView = new AdView(this, AdSize.FIT_SCREEN);
    			// 监听广告条接口
    				adView.setAdListener(new AdViewListener() {

    					@Override
    					public void onSwitchedAd(AdView arg0) {
    						Log.i("YoumiAdDemo", "广告条切换");
    					}

    					@Override
    					public void onReceivedAd(AdView arg0) {
    						Log.i("YoumiAdDemo", "请求广告成功");

    					}

    					@Override
    					public void onFailedToReceivedAd(AdView arg0) {
    						Log.i("YoumiAdDemo", "请求广告失败");
    					}
    				});
    				
    				// 展示插播广告,可以不调用loadSpot独立使用
    				SpotManager.getInstance(this).showSpotAds(
    						this, new SpotDialogListener() {
    							@Override
    							public void onShowSuccess() {
    								Log.i("YoumiAdDemo", "展示成功");
    							}

    							@Override
    							public void onShowFailed() {
    								Log.i("YoumiAdDemo", "展示失败");
    							}

    							@Override
    							public void onSpotClosed() {
    								Log.e("YoumiAdDemo", "插屏关闭");
    							}

    						}); // //

    				
    				
    }
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) {
            webView.goBack();
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }
    @Override
	public void onBackPressed() {
		// 如果有需要,可以点击后退关闭插播广告。
		if (!SpotManager.getInstance(MainActivity.this).disMiss(true)) {
			super.onBackPressed();
		}
	}

	@Override
	protected void onStop() {
		// 如果不调用此方法,则按home键的时候会出现图标无法显示的情况。
		SpotManager.getInstance(MainActivity.this).disMiss(false);
		super.onStop();
	}

	@Override
	protected void onDestroy() {
		SpotManager.getInstance(this).unregisterSceenReceiver();
		super.onDestroy();
	}

}


以上就是本人接入有米广告的全部实现,附上几张效果图






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值