自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Android不影響用戶(hù)體驗(yàn)的廣告

移動(dòng)開(kāi)發(fā) Android
還在擔(dān)心廣告問(wèn)題影響用戶(hù)體驗(yàn)從而降低應(yīng)用的使用率么,接下來(lái)為您介紹如何如何插入Android廣告并且不影響用戶(hù)體驗(yàn)。

廣告是貨幣化(賺錢(qián))你的移動(dòng)應(yīng)用程序的方法之一。在本文中你將學(xué)習(xí)如何在你的Android應(yīng)用程序中放置橫幅廣告。 盡管我們的課程和樣例使用AdMob 的廣告服務(wù),但是Android 平臺(tái)不對(duì)移動(dòng)廣告網(wǎng)絡(luò)的選擇施加任何的限制。在一定程度上,這門(mén)課程統(tǒng)稱(chēng)強(qiáng)調(diào)的概念是類(lèi)似的廣告網(wǎng)絡(luò)。 例如,每一個(gè)廣告網(wǎng)絡(luò)可能有一些特定的配置設(shè)置,比如地理定位和廣告文字的字體大小,這可能是在某些網(wǎng)絡(luò)中配置,而不在其他網(wǎng)絡(luò)中配置。這節(jié)課程并沒(méi)有深入觸及這些話(huà)題,您應(yīng)該查閱您選擇的網(wǎng)絡(luò)所提供的文檔。

獲得發(fā)布商帳戶(hù)和廣告SDK

為了整合在您的應(yīng)用程序中的廣告,首先你必須通過(guò)注冊(cè)一個(gè)發(fā)布賬戶(hù)成為移動(dòng)廣告網(wǎng)絡(luò)發(fā)布商。通常情況下,一個(gè)標(biāo)識(shí)符配置的每個(gè)應(yīng)用程序服務(wù)的廣告。這是廣告網(wǎng)絡(luò)相關(guān)應(yīng)用程序服務(wù)中的廣告。在AdMob的樣例中,標(biāo)識(shí)符被稱(chēng)為發(fā)布者ID。您應(yīng)該咨詢(xún)您的廣告網(wǎng)絡(luò)的詳細(xì)信息。 移動(dòng)廣告網(wǎng)絡(luò)通常發(fā)布一個(gè)特殊的Android SDK, 包含照顧交流,廣告刷新,外觀和感覺(jué)的定制等的代碼。 大部分的廣告網(wǎng)絡(luò)分發(fā)他們的SDK作為一個(gè)JAR文件。在你的Android項(xiàng)目中設(shè)置廣告網(wǎng)絡(luò)的JAR文件,和集成其它第三方JAR文件沒(méi)有什么不同。首先把JAR文件復(fù)制到你項(xiàng)目中的libs文件夾。如果你使用Eclipse IDE,務(wù)必將JAR文件添加到Build Path。你可以通過(guò)Properties > Java Build Path > Libraries > Add JARs 實(shí)現(xiàn)。

圖1. Eclipse構(gòu)建路徑設(shè)置。

聲明適當(dāng)?shù)臋?quán)限

因?yàn)橐苿?dòng)廣告通過(guò)網(wǎng)絡(luò)獲得,移動(dòng)廣告SDK通常需要在Android manifet中的聲明相關(guān)的權(quán)限。可能還需要其他種類(lèi)的權(quán)限。

例如,這里是你如何能要求INTERNET權(quán)限:

</manifest> 

    <uses-permission android:name="android.permission.INTERNET" /> 

    ... 

    <application>...</application> 

</manifest> 

設(shè)置廣告位置

橫幅廣告通常被實(shí)現(xiàn)為一個(gè)自定義的WebView(一個(gè)用來(lái)查看網(wǎng)頁(yè)的視圖)。廣告也有不同的尺寸和形狀。一旦你決定了一個(gè)特定的屏幕上放一個(gè)廣告,你可以把它添加在你的Activity的XML布局。下面的XML片段說(shuō)明了一個(gè)顯示在屏幕頂部的橫幅廣告。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

        android:id="@+id/ad_catalog_layout" 

        android:orientation="vertical" 

        android:layout_width="match_parent" 

        android:layout_height="match_parent" > 

    <com.google.ads.AdView 

        xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads" 

        android:id="@+id/ad" 

        android:layout_width="fill_parent" 

        android:layout_height="wrap_content" 

        googleads:adSize="BANNER" 

        googleads:adUnitId="@string/admob_id" /> 

    <TextView android:id="@+id/title" 

        android:layout_width="match_parent" 

        android:layout_height="wrap_content" 

        android:text="@string/banner_top" /> 

    <TextView android:id="@+id/status" 

        android:layout_width="match_parent" 

        android:layout_height="wrap_content" /> 

</LinearLayout> 

圖2. 在移動(dòng)廣告樣本的廣告布局的屏幕截圖。

您應(yīng)該根據(jù)不同的配置考慮使用替代廣告的大小,如屏幕尺寸,屏幕方向。這可以很容易地通過(guò) providing alternative resources解決。舉例來(lái)說(shuō),上面的示例布局可能放置在<b><font colorgreen>res/layout-large/</font></b>目錄,這使得“大”屏幕尺寸較大的廣告。

... 

<com.google.ads.AdView 

    xmlns:googleads="http://schemas.android.com/apk/lib/com.google.ads" 

    android:id="@+id/ad" 

    android:layout_width="fill_parent" 

    android:layout_height="wrap_content" 

    googleads:adSize="IAB_LEADERBOARD" 

    googleads:adUnitId="@string/admob_id" /> 

... 

請(qǐng)注意,自定義視圖的名稱(chēng)和它的配置屬性是特定網(wǎng)絡(luò)。廣告網(wǎng)絡(luò)可能會(huì)支持XML布局屬性(如上圖所示),或者實(shí)時(shí)APIs,或兩者皆可。在示例應(yīng)用程序,移動(dòng)廣告,googleads:adSize),和發(fā)行商ID(googleads:adUnitId)是在XML布局中建立。

當(dāng)決定在您的應(yīng)用程序中何處放置廣告,您應(yīng)該謹(jǐn)慎考慮用戶(hù)體驗(yàn)。例如,你不想因?yàn)橛枚鄠€(gè)廣告填補(bǔ)屏幕,而惹惱你的用戶(hù)。其實(shí),這種做法是被一些廣告網(wǎng)絡(luò)禁止的。此外,避免將廣告過(guò)于緊密的靠近UI控件,以避免意外點(diǎn)擊。

圖3. 避免將UI輸入過(guò)于緊密靠近廣告橫幅,以防止意外廣告點(diǎn)擊。

圖4. 不要在有用的內(nèi)容上覆蓋廣告橫幅。

初始化廣告

在XML布局設(shè)置廣告后,你可以進(jìn)一步根據(jù)您的應(yīng)用程序的架構(gòu)在Activity.onCreate()或者Fragment.onCreateView()中自定義廣告。根據(jù)不同的廣告網(wǎng)絡(luò),可以配置的參數(shù)有:廣告的大小,字體顏色,關(guān)鍵字,人口統(tǒng)計(jì),地理位置定位,等等。

重要的是要尊重用戶(hù)的隱私,如人口統(tǒng)計(jì)學(xué)或位置,如果為了廣告推送傳遞某些參數(shù)給廣告網(wǎng)絡(luò)。讓您的用戶(hù)知道,讓他們有機(jī)會(huì)選擇退出這些功能。

在下面的代碼片斷中,關(guān)鍵字定位被使用。關(guān)鍵字設(shè)置后,應(yīng)用程序調(diào)用<b><font color=green>loadAd()</font></b>開(kāi)始投放廣告。

public View onCreateView(LayoutInflater inflater, ViewGroup container, 

        Bundle savedInstanceState) { 

    ... 

    View v = inflater.inflate(R.layout.main, container, false); 

    mAdStatus = (TextView) v.findViewById(R.id.status); 

    mAdView = (AdView) v.findViewById(R.id.ad); 

    mAdView.setAdListener(new MyAdListener()); 

    AdRequest adRequest = new AdRequest(); 

    adRequest.addKeyword("sporting goods"); 

    mAdView.loadAd(adRequest); 

    return v; 

啟用測(cè)試模式

一些廣告網(wǎng)絡(luò)提供測(cè)試模式。在開(kāi)發(fā)和測(cè)試期間廣告展示和點(diǎn)擊不計(jì)算,是非常有用的。

重要提示:在發(fā)布應(yīng)用程序之前,請(qǐng)確保關(guān)閉測(cè)試模式。

實(shí)施廣告事件監(jiān)聽(tīng)器

例如,這里有一些可從AdMob的AdListener 事件的回調(diào)的接口:

private class MyAdListener implements AdListener { 

    ... 

    @Override 

    public void onFailedToReceiveAd(Ad ad, ErrorCode errorCode) { 

        mAdStatus.setText(R.string.error_receive_ad); 

    } 

    @Override 

    public void onReceiveAd(Ad ad) { 

        mAdStatus.setText(""); 

    } 

在有條件的情況下,你應(yīng)該考慮實(shí)施廣告事件偵聽(tīng)器,能夠提供各種廣告服務(wù)的廣告視圖關(guān)聯(lián)的事件回調(diào)。根據(jù)廣告網(wǎng)絡(luò),偵聽(tīng)器可能會(huì)提供活動(dòng),如廣告被 加載前,被加載后,該廣告是否加載失敗,或發(fā)生其他事件的通知。您可以選擇根據(jù)您的具體情況對(duì)這些事件做出反應(yīng)。例如,如果廣告加載失敗,您可以在應(yīng)用程 序中顯示自定義的條幅或創(chuàng)建一個(gè)布局,等其它的內(nèi)容來(lái)填滿(mǎn)屏幕。

責(zé)任編輯:閆佳明 來(lái)源: my.eoe.cn
相關(guān)推薦

2019-07-10 11:46:39

網(wǎng)絡(luò)安全DNS云計(jì)算

2022-05-23 09:31:03

MozillaFirefox瀏覽器

2009-03-11 18:30:15

Windows 7關(guān)閉功能

2023-09-06 12:17:19

數(shù)字化轉(zhuǎn)型能源成本

2009-03-26 08:22:49

AndroidGoogle移動(dòng)OS

2009-03-26 17:10:58

LinuxAndroidWindows 7

2022-04-01 14:00:03

物聯(lián)網(wǎng)訂閱設(shè)備

2013-02-21 09:58:36

虛擬桌面VDI

2009-01-16 08:17:43

北電破產(chǎn)保護(hù)重組

2011-11-17 13:29:44

Android用戶(hù)體驗(yàn)導(dǎo)向

2015-08-25 08:31:07

用戶(hù)體驗(yàn)設(shè)計(jì)問(wèn)題

2015-03-20 10:34:16

用戶(hù)體驗(yàn)應(yīng)用設(shè)計(jì)

2020-03-26 22:03:06

物聯(lián)網(wǎng)移動(dòng)應(yīng)用用戶(hù)體驗(yàn)

2015-04-23 15:30:08

2012-03-02 09:03:57

VDI虛擬桌面網(wǎng)絡(luò)

2020-06-15 07:56:48

物聯(lián)網(wǎng)移動(dòng)基于物聯(lián)網(wǎng)的移動(dòng)應(yīng)UX。 物聯(lián)網(wǎng)為應(yīng)用

2020-08-11 10:25:38

數(shù)據(jù)成本數(shù)據(jù)大數(shù)據(jù)

2011-06-09 17:18:09

2021-02-18 16:07:20

區(qū)塊鏈廣告技術(shù)

2011-06-14 10:31:06

用戶(hù)體驗(yàn)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)