經過了一番折騰,忙忙碌碌了一下午,終於搞明白了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 appsec, 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);
}
}
最後運行結果如所示:
url:http://greatverve.cnblogs.com/archive/2012/01/30/android-youmi.html