想必大家都知道,國內的Android應用基本都是免費的,那么開發者如何獲得收入呢?應用中插入廣告是一個比較常用的盈利手段。本文就講解如何在Android應用中插入廣告。 國內的廣告平臺有很多,用戶數量比較多的有萬普,有米,多普。下面就不一一介紹了,免得說我打廣告。本文以萬普為例。 1、首先去萬普官網下載sdk,把sdk里面的jar包導入到項目的lib目錄下。 2、修改AndroidManifest.xml文件。 確保應用具有以下幾項權限:XML/HTML代碼
12345678910
|
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.GET_TASKS" /> <!--以下兩個權限為可選項,用于支持特殊廣告形式--> <uses-permission android:name="com.android.launcher.permission.INSTALL_SHORTCUT" /> <uses-permission android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS"/>
|
在<application>段內添加以下內容:XML/HTML代碼
1234567
|
<activity android:name="com.waps.OffersWebView" android:configChanges="keyboardHidden|orientation"/> <!--以下屬性為應用ID,從萬普后臺獲取--> <meta-data android:name="WAPS_ID" android:value="應用標識,這個你再萬普申請一個應用就會生成" /> <!--以下屬性為分發渠道ID,編碼表參見本文檔末附表--> <meta-data android:name="WAPS_PID" android:value="分發渠道標識,你需要的發布渠道比如機鋒,安卓市場" />
|
3、接口代碼 (一)數據統計接口 該接口是所有其他接口能正常使用的基礎,在每次應用啟動時,必須調用該接口,才能保證獲得準確的統計數據。 步驟1:在的應用中第一個Activity類中(啟動的第一個類),添加下面一行代碼:Java代碼
12345
|
//方式①:通過AndroidManifest文件讀取WAPS_ID和WAPS_PID AppConnect.getInstance(this); //必須確保AndroidManifest文件內配置了WAPS_ID //方式②:通過代碼設置WAPS_ID和WAPS_PID AppConnect.getInstance("WAPS_ID","WAPS_PID",this);
|
步驟2:在程序退出的處理方法中,添加下面一行代碼:Java代碼
12
|
//以下方法將用于釋放SDK占用的系統資源 AppConnect.getInstance(this).finalize();
|
4、廣告條添加 在布局文件添加:XML/HTML代碼
12345
|
<LinearLayoutandroid:id="@+id/AdLinearLayout"android:layout_width="fill_parent"android:
layout_height="wrap_content"android:gravity="center_horizontal"/>
|
在activity添加以下代碼:Java代碼
12
|
LinearLayout container =(LinearLayout)findViewById(R.id.AdLinearLayout); new AdView(this,container).DisplayAd();
|
5、迷你廣告條添加 步驟1:復制如下代碼到相應Activiy的Layout文件中,并放置在合適的位置:XML/HTML代碼
1234
|
<LinearLayout android:id="@+id/miniAdLinearLayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal"/>
|
步驟2:在調用樣式文件的Activity類中, 添加下面的代碼:Java代碼
12345678910
|
//設置迷你廣告背景顏色 AppConnect.getInstance(this).setAdBackColor(Color.argb(50, 120, 240, 120)); //設置迷你廣告廣告語顏色 AppConnect.getInstance(this).setAdForeColor(Color.YELLOW); //若未設置以上兩個顏色,則默認為黑底白字 LinearLayout miniLayout =(LinearLayout)findViewById(R.id.miniAdLinearLayout); new MiniAdView(this, miniLayout).DisplayAd(10); //默認10秒切換一次廣告
|
6、應用列表添加 應用列表(積分墻)是收入主要來源,高于廣告收入,單個下載價格一般是0.5元,很可觀, 1)activtiy,點擊事件添加 AppConnect.getInstance(this).showOffers(this); 為了更好的讓推薦應用下載,一般是結合積分,比如一款看圖軟件,假如你要看圖,結果積分不夠,沒辦法只有下載應用獲取積分。 步驟1:從服務器端獲取用戶點數/虛擬貨幣余額: AppConnect.getInstance(this).getPoints(this);
步驟2:確保在this類中實現UpdatePointsNotifier接口,實現下面的兩個方法,用于異步接收服務器返回的結果: public void getUpdatePoints(String currencyName, int pointTotal);//獲取成功
public void getUpdatePointsFailed(String error);//獲取失敗
2)花費用戶虛擬貨幣 花費(扣除)用戶的虛擬貨幣接口: AppConnect.getInstance(this).spendPoints(int amount, this); 調用此方法的響應結果將通過this中實現的UpdatePointsNotifier接口返回 3)獎勵用戶虛擬貨幣 授予(增加)用戶虛擬貨幣的接口:
AppConnect.getInstance(this).awardPoints(int amount, this); 調用此方法的響應結果將通過this中實現的UpdatePointsNotifier接口返回。 注意,所有通過萬普廣告獲得的虛擬貨幣將自動給予到用戶,無需調用該接口。該接口僅用于用戶完成了開發者指定的其他任務的情況下額外給予用戶虛擬貨幣。開可通過管理后臺禁用該接口。 這樣就基本完成了在Android應用中插入廣告的過程。
前面在論壇里發了《Android學習及如何利用android來賺錢》帖子后,收到不少Android開發者的回復,加上整理到博客里的回復,很多人問到如何在應用中加入廣告,今天剛好有一個新的小應用要加廣告,一起算寫一篇總結。 先介紹一下我準備好的東西:應用:《快拍分享》,一個簡單的拍照程序,并可以將應用拍好的照片發到自己的微博上的一個應用,支持新浪微博、人人網和騰訊微博。下面是該應用的主要的界面  結合該應用的實際,我打算在這里加入3種模式的廣告,即我前面文章里說到的廣告條、廣告墻和推送廣告。因為sns分享是由友盟SDK來集成的,所以最后一個界面加不了廣告。我打算在第一個圖拍照按鈕下邊的設置按鈕加入彈出菜單(更多應用和關于2個選項),在更多應用菜單中展示廣告墻,在第二個圖界面的上方展示一個廣告條,推送廣告因為不占用廣告界面,所以不用考慮放在哪里。(當然最后發布的時候我會根據不同的發布市場來選擇其中的1-2種廣告形式,這里只為演示用,太多的廣告會讓用戶反感)廣告平臺:廣告墻和推送廣告我使用萬普,廣告條我使用芒果的聚合,暫時打算用多盟、有米這2個平臺。(之所以用多個平臺是可以根據情況做實時的在線比例分配,這樣可以有更多的選擇余地,當然也不是越多越好,加的平臺越多應用就越臃腫,你的收入當然就分散了,而每個平臺都至少要求100元才能提款的。)首先我們來添加廣告墻和推送廣告。1.登錄萬普平臺,進入開發者頁面,點擊添加應用,輸入應用名稱,點保存,之后打開應用詳情頁面,記下WAPS_ID的值備第2步驟使用。后面的信息也盡量完善起來,文件程序等最后完成廣告集成并測試后再上傳即可。2.在我的項目的AndroidManifest.xml文件下添加廣告需要的權限(具體要哪些權限參加廣告SDK的幫助和實際情況定):
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_TASKS" />
在Application項加入:
<meta-data android:name="WAPS_ID" android:value="2f9dd55307ede480a80ba0783be835d" />
<meta-data android:name="WAPS_PID" android:value="WAPS" />
<activity android:name="com.waps.OffersWebView"
android:configChanges="keyboardHidden|orientation" />
第一行android:value對應的字符串要替換成步驟1從萬普添加應用后得到的ID,千萬不要填錯哦。
第二行是萬普進行渠道設置選項,最好按其開發者手冊最后對應的表格來填寫
第三行是展示廣告墻所使用的activity,不添加會導致展示不了廣告墻
3.Eclipse->Project->Properties->JavaBuild Path->Libraries->Add External JARs->選擇我們前面下載解壓出來的AppOffer_1.5.3.jar,來完成添加萬普SDK的Jar包。
在對應更多應用菜單的處理事件里加入AppConnect.getInstance(this).showOffers(this);來打開廣告墻。運行應用,點擊更多應用,順利打開推薦列表如圖: 4.打開項目的入口Activity,在onCreate事件里寫入AppConnect.getInstance(this);AppConnect.getInstance(this).getPushAd(); //自動推送使用,如果你在萬普web端配置自動推送則可以注釋次行在退出應用的地方(我是在入口Activity的onDestroy事件)寫入AppConnect.getInstance(this).finalize(); 運行推送效果如下圖: 點擊通知(推送廣告) 打開如圖 這樣我們就把萬普的廣告墻和推送模式的廣告集成好了,將應用使用正式簽名(方法網上搜很多,這里不介紹)編譯后將apk上傳到萬普審核,同時就可以發布到市場渠道去讓用戶下載了。(關于市場發布下篇里再介紹) 下面介紹使用芒果聚合來添加廣告條:1.登錄芒果平臺,添加新應用,打*的必須填寫,點下一步來進入廣告平臺選擇頁面。2.到你要添加的廣告平臺添加新應用來獲取對應的ID,并把這些ID設置到1步驟芒果平臺對應的ID設置中(點對應平臺后面的“未設置”)。3.點擊芒果頁面上對應平臺后面的按鈕來打開對應平臺的狀態,并點擊開啟測試,以便接下來測試是否能正常獲取測試廣告。同時將2個平臺的比例均配成50%。4.點擊下一步,應用就添加完成了。會得到一個芒果ID備用,下載芒果廣告的SDK。(因為該SDK里已經包含了其所支持的所有平臺的jar包,所以不需要單獨再去下載其他廣告平臺的包了,而且聚合平臺不一定及時更新所有平臺的包,可能會對廣告平臺的更新沒有及時更改其SDK,所以也必須從這里下)5.解壓芒果上下載下來的SDK,并將其libs下對應平臺的包加入工程(我這里加入AdsMOGO-SDK-Android.jar[芒果]、youmi-android.jar[有米]、domob_android_sdk.jar[多盟])。6.修改AndroidManifest.xml文件,添加必要的權限,以及到芒果SDK的開發幫助文檔里找到對應平臺要求添加的activity。我這里加入:
<!-- 多盟integration -->
<activity android:name="cn.domob.android.ads.DomobActivity"
android:theme="@android:style/Theme.Translucent" />
<!-- 有米integration -->
<activity android:name="net.youmi.android.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
<activity android:name="net.youmi.android.spotad.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation" />
7.加入芒果Key的meta-data ,將值替換你在芒果平臺最后得到的KEY值,我這邊如下:<meta-data android:value="25fff80a3966465e888e0db9735fef11" android:name="ADMOGO_KEY" />8.在要展示的地方添加代碼如下: AdMogoLayout adview = new AdMogoLayout(this,"25fff80a3966465e888e0db9735fef11"); //ID跟xml配置的相同
FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT);
// 設置廣告出現的位置(懸浮于頂部)
params.topMargin = 0;
params.gravity = Gravity.TOP|Gravity.CENTER_HORIZONTAL;
addContentView(adview, params);這段代碼作用是新建一個芒果廣告的View,并將它加到activity的最頂端。9.OK,代碼都添加完成,運行測試,廣告正常展示如下: 自己點擊測試下,是否能正常打開廣告頁面。到芒果web頁面調整廣告平臺的分配比例,分別測試所有你的平臺是否均成功展示。如果有失敗,請核對芒果上配置的ID或密碼是否相同(包括前后不能有空格),任然有問題的話聯系平臺技術人員幫你協助解決。10.最后一步,將芒果web頁面上的比例平均分配,關閉測試模式。然后將應用簽名打包,上傳到各個廣告平臺審核。(平均分配是為了審核人員保證有機會能看到你的應用上有展示他們平臺的廣告),審核均通過后就可以發布到各個市場上來開始收益旅程了。
廣告墻和推送廣告我使用萬普,廣告條我使用芒果的聚合,暫時打算用多盟、有米這2個平臺。(之所以用多個平臺是可以根據情況做實時的在線比例分配,這樣可以有更多的選擇余地,當然也不是越多越好,加的平臺越多應用就越臃腫,你的收入當然就分散了,而每個平臺都至少要求100元才能提款的。) 首先我們來添加廣告墻和推送廣告! 1.登錄萬普平臺,進入開發者頁面,點擊添加應用,輸入應用名稱,點保存,之后打開應用詳情頁面,記下WAPS_ID的值備第2步驟使用。后面的信息也盡量完善起來, 文件程序等最后完成廣告集成并測試后再上傳即可! 2.在我的項目的AndroidManifest.xml文件下添加廣告需要的權限(具體要哪些權限參加廣告SDK的幫助和實際情況定): <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_TASKS" /> 在Application項加入: <meta-data android:name="WAPS_ID" android:value="2f9dd55307ede480a80ba0783be835d" /> <meta-data android:name="WAPS_PID" android:value="WAPS" /> <activity android:name="com.waps.OffersWebView" android:configChanges="keyboardHidden|orientation" /> 第一行android:value對應的字符串要替換成步驟1從萬普添加應用后得到的ID,千萬不要填錯哦! 〉诙惺侨f普進行渠道設置選項,最好按其開發者手冊最后對應的表格來填寫 第三行是展示廣告墻所使用的activity,不添加會導致展示不了廣告墻 3.Eclipse->Project->Properties->Java Build Path->Libraries->Add External JARs->選擇我們前面下載解壓出來的AppOffer_1.5.3.jar,來完成添加萬普SDK的Jar包! ≡趯鄳貌藛蔚奶幚硎录锛尤階ppConnect.getInstance(this).showOffers(this);來打開廣告墻! ∵\行應用,點擊更多應用,順利打開推薦列表如圖: 4.打開項目的入口Activity,在onCreate事件里寫入 AppConnect.getInstance(this); AppConnect.getInstance(this).getPushAd(); //自動推送使用,如果你在萬普web端配置自動推送則可以注釋次行 在退出應用的地方(我是在入口Activity的onDestroy事件)寫入 AppConnect.getInstance(this).finalize(); 運行推送效果如下圖: 點擊通知(推送廣告) 打開如圖 這樣我們就把萬普的廣告墻和推送模式的廣告集成好了,將應用使用正式簽名(方法網上搜很多,這里不介紹)編譯后將apk上傳到萬普審核,同時就可以發布到市場渠道去讓用戶下載了。(關于市場發布下篇里再介紹) 下面介紹使用芒果聚合來添加廣告條: 1.登錄芒果平臺,添加新應用,打*的必須填寫,點下一步來進入廣告平臺選擇頁面! 2.到你要添加的廣告平臺添加新應用來獲取對應的ID,并把這些ID設置到1步驟芒果平臺對應的ID設置中(點對應平臺后面的“未設置”)! 3.點擊芒果頁面上對應平臺后面的按鈕來打開對應平臺的狀態,并點擊開啟測試,以便接下來測試是否能正常獲取測試廣告。同時將2個平臺的比例均配成50%! 4.點擊下一步,應用就添加完成了。會得到一個芒果ID備用,下載芒果廣告的SDK。(因為該SDK里已經包含了其所支持的所有平臺的jar包,所以不需要單獨再去下載其他廣告平臺的包了,而且聚合平臺不一定及時更新所有平臺的包,可能會對廣告平臺的更新沒有及時更改其SDK,所以也必須從這里下) 5.解壓芒果上下載下來的SDK,并將其libs下對應平臺的包加入工程(我這里加入AdsMOGO-SDK-Android.jar[芒果]、youmi-android.jar[有米]、domob_android_sdk.jar[多盟])! 6.修改AndroidManifest.xml文件,添加必要的權限,以及到芒果SDK的開發幫助文檔里找到對應平臺要求添加的activity。我這里加入: <!-- 多盟integration --> <activity android:name="cn.domob.android.ads.DomobActivity" android:theme="@android:style/Theme.Translucent" /> <!-- 有米integration --> <activity android:name="net.youmi.android.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation" /> <activity android:name="net.youmi.android.spotad.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation" /> 7.加入芒果Key的meta-data ,將值替換你在芒果平臺最后得到的KEY值,我這邊如下: <meta-data android:value="25fff80a3966465e888e0db9735fef11" android:name="ADMOGO_KEY" /> 8.在要展示的地方添加代碼如下: AdMogoLayout adview = new AdMogoLayout(this,"25fff80a3966465e888e0db9735fef11"); //ID跟xml配置的相同 FrameLayout.LayoutParams params = new FrameLayout.LayoutParams( FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT); // 設置廣告出現的位置(懸浮于頂部) params.topMargin = 0; params.gravity = Gravity.TOP|Gravity.CENTER_HORIZONTAL; addContentView(adview, params); 這段代碼作用是新建一個芒果廣告的View,并將它加到activity的最頂端! 9.OK,代碼都添加完成,運行測試,廣告正常展示如下: 自己點擊測試下,是否能正常打開廣告頁面。到芒果web頁面調整廣告平臺的分配比例,分別測試所有你的平臺是否均成功展示。如果有失敗,請核對芒果上配置的ID或密碼是否相同(包括前后不能有空格),任然有問題的話聯系平臺技術人員幫你協助解決! 10.最后一步,將芒果web頁面上的比例平均分配,關閉測試模式。然后將應用簽名打包,上傳到各個廣告平臺審核。(平均分配是為了審核人員保證有機會能看到你的應用上有展示他們平臺的廣告),審核均通過后就可以發布到各個市場上來開始收益旅程了。
|