1. 程式人生 > >Android牟利之道(一)--介面嵌入有米廣告

Android牟利之道(一)--介面嵌入有米廣告

經過了一番折騰,忙忙碌碌了一下午,終於搞明白了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);
}
}

原作者:wind瑞

轉載請標明原作者和轉載地址,謝謝!!


最後執行結果如下圖所示:

歡迎關注技術分享微信公眾號:JavaQ