通過了一番折騰,忙忙碌碌了一下午,終於搞明白了Android軟件界面嵌入廣告的方法,如下我以嵌入有米廣告爲例小結一下:
步驟一,下載有米廣告SDK,將 youmi-android.jar 導入想要嵌入廣告的的工程中。
1. 右鍵您的工程根目錄,選擇「Properties」
2. 在左面板中選擇「Java Build Path」
3. 而後選擇「Libraries」標籤
4. 點擊「Add External JARs„」
5. 選擇 youmi-android.jar 的目錄路徑.
6. 點擊「OK」即導入成功
步驟二,在AndroidManifest.xml文件中配置用戶權限。
請務必配置如下權限,不然將有可能獲取不到廣告。
1. android.permission.INTERNET,鏈接網絡權限 INTERNET ,用於請求廣告
2. android.permission.READ_PHONE_STATE,用於精確統計用戶手機的系統信息
3. android.ACCESS_NETWORK_STATE,用於精確識別網絡接入點等信息
4. android.permission.ACCESS_COARSE_LOCATION,有助於精準投放地域廣告以及幫助統計使用應用程序的用戶的地區分佈狀況
5. android.permission.WRITE_EXTERNAL_STORAGE,有助於實現圖片資源的緩存,節省流量,並可得到更好的用戶體驗
請將下面權限配置代碼複製到 AndroidManifest.xml 文件中 :
<!-- 必須申明的權限 -->
<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_COARSE_LOCATION"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<!-- 如下爲可選的權限 -->
<!-- 使用GPS獲取用戶精肯定位信息 -->
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<!-- 使用WIFI獲取用戶精肯定位信息 -->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
步驟三,在AndroidManifest.xml中添加AdActivity。
AdActivity是廣告展現的載體,請在AndroidManifest.xml中添加AdActivity:
<activity android:name="net.youmi.android.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation"/>
<meta-data android:name="YOUMI_CHANNEL" android:value="0" />
步驟四,初始化帳號信息。
在主Activity的onCreate中調用AdManager.init() 初始化 App ID 、App Secret、請求廣告間隔和測試模式等參數(請務必在任意AdView初始化前調用一次)。
//第一個參數爲您的應用發佈Id
//第二個參數爲您的應用密碼
//第三個參數是請求廣告的間隔,有效的設置值爲30至200,單位爲秒
//第四個參數是設置測試模式,設置爲true時,能夠獲取測試廣告,正式發佈請設置此參數爲false
AdManager.init(Context context,String appid, String ap
psec, int intervalSecond, boolean isTestMode);
!注意:3.04版本開始AdManager.init方法的參數改成五個,加上了Context參數!調試階段將測試模式設置爲true,請將測試模式設置爲false後上傳至網站等待審覈。 !未上傳應用安裝包、未經過審覈的應用、模擬器運行,都只能得到測試廣告,審覈經過後,模擬器上依舊是測試廣告,真機纔會獲取到正常的廣告。
代碼以下:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 應用Id 應用密碼 廣告請求間隔(s) 測試模式
AdManager.init(this,"537ef88653a2993c", "b9e10bcfe994a9fb", 30, true);
setContentView(R.layout.main);
}
步驟五,使用xml佈局嵌入廣告
1.在 res/values 文件夾中添加 attrs.xml。若是你沒有添加這個文件,那你將不能在 layout 中設置 AdView 的屬性。attrs.xml 文件的內容以下:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="net.youmi.android.AdView">
<!--廣告背景顏色[只對文字廣告有效](取值範圍爲#000000----#ffffff) -->
<attr name="backgroundColor" format="color" />
<!--廣告文本顏色[只對文字廣告有效](取值範圍爲#000000----#ffffff) -->
<attr name="textColor" format="color" />
<!--廣告背景透明度[只對文字廣告有效],默認爲 255,設置範圍0-255 -->
<attr name="backgroundTransparent" format="integer"/>
</declare-styleable>
</resources>
2.在佈局main.xml中嵌入有米廣告視圖:
如下爲一個實例:
<?xml version="1.0" encoding="utf-8"?>
<!-- 須要設置命名空間 :umadsdk -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:umadsdk="http://schemas.android.com/apk/res/com.youmi"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<net.youmi.android.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
umadsdk:textColor="#ffffff"
umadsdk:backgroundColor="#4076AA"
umadsdk:backgroundTransparent="155"/>
</LinearLayout>
注意: xmlns:umadsdk=」http://schemas.android.com/apk/res/您的應用包名」 這句必定要加上,否則編輯器會提示錯誤。
3.XML佈局代碼部分
import net.youmi.android.AdManager;
import android.app.Activity;
import android.os.Bundle;
public class TestAdActivity extends Activity{
/** Called when the activity is first created. */
// 應用Id 應用密碼 廣告請求間隔(s) 測試模式
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 應用Id 應用密碼 廣告請求間隔(s) 測試模式
AdManager.init(this,"537ef88653a2993c", "b9e10bcfe994a9fb", 30, true);
setContentView(R.layout.main);
}
}
最後運行結果以下圖所示: