Android系統架構

Tags: ,
researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Android是基於Linux核心的開放原始碼軟體平台和作業系統,是Google在2007年11月5日公佈的手機系統平台,由Google和開放手機聯盟(Open Handset Alliance)開發。它採用了軟體堆層(software stack,又名以軟體疊層)的架構,主要分為三部份。低層以Linux核心工作為基礎,只提供基本功能。中間層Android Runtime作為作業系統與應用程式的溝通橋樑,並分為函式庫(Library)和虛擬機器(Virtual Machine)。應用軟體則由各公司自行開發,以Java語言編寫。


(圖片來源:developer.android.com
由下至上,分別是 Linux kernel 、函式庫+虛擬機器、以及 Java 程式碼。

Linux kernel

Linux kernel 提供系統底層與硬體間的基本平台,讓其他程式可以在上頭執行。Linux kernel以GNU General Public License version 2 (GPLv2) 發佈,此條款要求所有基於Linux kernel的延伸創作,包含驅動程式都必須以GPLv2的形式發佈,公開其原始碼。

Google修改Linux kernel,讓驅動程式和Linux kernel脫離,以讓驅動程式避開GPLv2。

此外,Android 對 kernel 的修改,還有兩個重點:
Binder (IPC):提供有效率的程式間溝通管道(Inter-Process Communication)。
Power Management:細緻控制各小裝置的電源供應,關閉沒有程式在使用的裝置。

系統函式庫

Android 提供了大部分的標準 Java 函式庫(來自於Apache Harmony),並把他們轉換成 dex 的格式,此外也提供Android的獨有元件。幾個元件如下:
Bionic: Android 版的 libc。libc 是 GNU/Linux 以及其他類似 Unix 系統上最基礎的函式庫。
Webkit:瀏覽器的排版引擎。
Surface Flinger:提供把各種「surface」組合在一起的能力。 surface 則是程式想要顯示在螢幕的內容。
硬體抽象層 (Hardware Abstraction Libraries):前文所述的 userspace 驅動程式。其內定義了 Android 對各硬體裝置例如顯示晶片、聲音、數位相機、GPS、GSM 等等。
虛擬機器

Android 使用的虛擬機器叫 Dalvik, 其認識的指令集是Dalvik executable,簡稱 dex。Android 提供 dx 把 Java bytecode 翻譯成 dex,好讓 Dalvik 執行它。Dalvik 做了許多最佳化的處理,例如減低記憶體的使用,這是為了在移動型裝置使用。這些修改能有效率的同時執行好幾個程式。Dalvik必須依賴 Linux kernel 才能正確運作。

虛擬機器+函式庫=Android Runtime,特性為:(無需公佈程式原始碼就能利用Android Runtime跨平台執行程式)

不能直接執行編譯好的 Java 程式。要轉換成 dex 檔案後才能執行。
若此程式使用了 Android 未提供的函式,則無法執行。

參考來源
Android 淺探(一)
Android 淺探(二):系統架構
Android-維基百科

Adsense連結組

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

連結組是 Google 為 AdSense 發佈者提供的文字廣告新格式。連結組是Adsense for Content的一種,因此使用演算法將與 Google 廣告定位至內容網頁的演算法相同。連結組會顯示與網頁相關的主題清單,如果按下其中一個主題,使用者便會進入含有相關廣告的網頁。對於連結組主題的點擊無 法帶來收益,連結組的收益同樣來自於使用者按下結果網頁中的任何 Google 廣告。

(圖片來源:AdSense 說明

毎 一個連結組會顯示與網站內容相關的主題清單,連結組也特別適用於較精準的內容,訪客通常會在這些內容中尋找特定的資訊。在考慮網站廣告的布局和格式時,連 結組也是一個良好的採用對象,在網站中的新位置和特殊位置使用不同連結組來善用空間。若想要檢視連結組的範例,可以參考Google的廣告格式網頁。另外根據Adsense小組的說法,連結組對於某些特定類型的網站,收益頗佳,如軟體下載、電影、歌詞、攝影、星座等特定話題站(如 8word.net 色影無忌)。

新增連結組的方式

請至 www.google.com/adsense 登入 AdSense 帳戶。
按一下 [AdSense 設定] 標籤, 並選擇 [AdSense for content] 產品。
選取 [連結組] 圓形按鈕繼續進行。
從 [格式] 下拉式選單中選取連結組格式,並選擇圓形按鈕以在每個連結組中顯示 4 或 5 個連結。
選取調色盤,並視需要為您的廣告組指定一個頻道和替代廣告。
複製 [您的 AdSense 程式碼] 方塊中的廣告程式碼,並將其貼網頁的原始檔中。

Adsense小組對連結組建議的放置位置

首屏
放在導航條附件(橫嚮導航條下方或者豎嚮導航條上方)
右邊欄上方
AdSense for Search或自訂搜尋框下方

參考來源
輕鬆植入 AdSense 連結組
AdSense 說明-連結組

AdSense計畫政策:裝飾廣告組

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

AdSense官方Blog發表一篇關於在廣告組旁添加加小圖示裝飾的說明「Ad and image placement: a policy clarification」。

是否可以放置小圖示、圖片在廣告組旁?

在廣告組可以添加小圖示,但是有個大前提就是不得讓瀏覽的訪客誤以為該圖示和廣告內容有關係。瀏覽訪客在誤以為內容相關的情況下,點擊該廣告但卻有可能無法獲得預期想要的資訊。Google Adsense希望避免這樣的情形發生。

舉例而言,網站內容與水果有關,「AdSense for content」廣告會與網站內容相關,因此可以預期到在廣告組內出現的廣告會與水果有關。在這種情況下,水果小圖示就不可被放置在廣告組旁,否則訪客很可能由於圖片和廣告組有直接的關聯,而誤導訪客去點擊廣告。

(圖片來源:Inside Adsense

另外一種誤導訪客的例子:

(圖片來源:Inside Adsense

如果在小圖示、圖片和廣告組之間留空白或加條線,是否就不違反規定?

不可以。 如果圖片和廣告相關,就算留一點空白或是一條線都有可能誤導訪客。

那是說不能在廣告組旁放置小圖示、圖片嗎?

當然可以,只要小圖示、圖片和廣告沒有相關,就可放置在廣告旁邊。但要注意你廣告和網頁內容排版的方式不要產生誤導訪客的情形。

參考來源

AdSense官方對於在廣告組旁加小圖示裝飾的說明

AdSense計畫政策:最佳配置和誤導訪客配置的區別

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

官方AdSense中文博客發出一篇文章細說 AdSense 政策 – 融合≠混淆,文中對於優化廣告展示和誤導訪客點擊作出以下的說明,並辨別兩者的差異:

首先,第一種情況:「在廣告旁邊放置誤導性圖片,使用戶誤以為廣告與圖片內容有關,誤導用戶點擊廣告。」有些站長認為這與我們的一些把廣告放在圖片旁邊的優化建議相矛盾。

需要說明的是,我們從來沒有禁止將廣告放在圖片旁邊,關鍵是看你的放法會不會誤導用戶。如果廣告旁邊的圖片並不會讓用戶認為與廣告相關,就不是誤導性的投放,如下面的情況:

我們再來看看上次舉的誤導案例:

案例中每個圖片都與一個廣告相對應,很容易讓用戶以為廣告是對圖片的說明或者相關鏈接。這與第一幅圖有本質的區別,這就是誤導。

其次,有不少站長認為第三種情況中的「廣告與網站內容完全相同」與我們優化建議中的「使廣告與網站融合」自相矛盾,認為所舉的案例沒有違反政策。

我們要說的是,「融合」並不等於「混淆」。在優化建議中,我們建議您調整廣告的顏色和格式使廣告與網站風格更好地融合,目的是不要讓廣告看起來太突兀,從而改善用戶體驗。

但這不代表您可以將廣告與網站內容混為一談,而案例中使用圖標將廣告與網站內容混淆起來,使用戶誤以為廣告是網站內容中的一條。
為了更直白的說明,請大家看下面三個圖片:
圖1
圖2
圖3

圖 1 中的廣告顏色與網頁差別很大,看上去很突兀。由圖1變為圖2,廣告采用了與網站一致的色彩,看上去更加協調,但仍然可以與內容區分開來,這叫做融合,是優 化;而如果變成圖3,廣告就成了網站內容中的一項,用戶不容易區分廣告和網站內容,這就是混淆,是誤導用戶,違反了我們的政策。

參考來源
AdSense優化融合不等於混淆

Adsense計畫政策:修改廣告行為或定位

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Adsense計畫政策規定:

廣告行為
禁止變更 AdSense 程式碼,或使用任何 Google 未明確允許使用的手段來操控廣告標準行為、指定目標或放送方式,例如,按下 Google 廣告時,不應產生載入新瀏覽器視窗的結果。

網站行為
顯示 Google 廣告的網站必須以方便使用者瀏覽的方式規劃,而且不可變更使用者偏好設定、重新將使用者導向至其不想瀏覽的網站、啟動下載程序 (包括惡意軟體) 或包含可能干擾網站瀏覽的彈出式視窗或隱藏彈出式視窗。

Inside Adsense中文博客詳細說明了上述兩項政策:「發佈商不得更改 Google 廣告的行為或定位,例如在 「浮動框腳本」中實施 AdSense 廣告代碼,或使用隱藏關鍵字或 IFRAME 更改廣告定位。」。

根據Adsense計畫政策,發佈商不得以任何 Google 不允許的方式來操控標準的廣告行為。發佈商可以因管理方便,在一個頁面上使用單層 iframe 最多投放一個廣告單元,但不可以修改廣告的定位和展示方式。

Inside Adsense中文博客列舉出了違反此一政策的幾種行為:

1. 把廣告設置為浮動形式
2. 廣告遮擋網頁內容,或網頁內容遮擋部分廣告
3. 廣告閃動或以其他方式吸引用戶注意
4. 投放廣告單元的數量超過我們的政策允許數量(3個廣告單元,3個推介單元,3個鏈接單元,2個搜索框)
5. 在網頁中使用隱藏或無關關鍵詞人為影響廣告定位
6. 在一個網頁使用 iframe 投放多個廣告單元
7. 使用 iframe 將廣告定位到其他網頁或網站
8. 使用2層或多層 iframe 投放廣告,人為影響廣告定位。
9. 把廣告或投放廣告的網頁嵌入到軟件中
10. 把廣告放入電子郵件中或使用電子郵件推廣廣告

上述行為皆需避免,以免Adsense帳戶被停用。

參考來源
細說 AdSense 政策 – 什麼是修改廣告行為或定位

AdSense計劃政策:鼓勵點擊

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

AdSense計劃政策-鼓勵點擊

「嚴禁發佈商要求其他人點擊其廣告,或使用詐騙方式取得點擊次數,其中包括 (但不限於) 以獎勵誘使使用者檢視廣告或進行搜尋、承諾為第三方人士募款或進行其他類似行為,或是在個別廣告旁顯示圖片。」

AdSense中文官方博客對於Adsense政策禁止的「鼓勵點擊」有相當詳盡的說明:

細說 AdSense 政策 – 什麼是鼓勵點擊

有很多發佈商寫信來問怎樣才算鼓勵點擊,還有一些發佈商在接到我們的違反政策警告的時候甚至並不認為自己在鼓勵點擊,現在我們就來說說「鼓勵點擊」。我們的計劃政策對鼓勵點擊進行了詳細的說明:

不得使用”點擊此廣告”、”支持我們””訪問此鏈接”或其他類似的言辭鼓勵用戶點擊 Google廣告
不得使用箭頭或其他醒目的圖形將用戶的注意力吸引到廣告上
不得在具體廣告旁放置誤導性圖片
不得通過批量發送不請自來的郵件或在第三方網站上投放不受歡迎的廣告來宣傳展示廣告的網站
不得為瀏覽廣告或執行搜索而獎勵用戶,或向第三方許諾為此類行為提供獎勵
不得在 Google 廣告單元上方放置誤導性標籤,例如,可以將廣告標為”發佈商鏈接”,但不能標為”收藏網站”

第一條非常清楚,相信不用多說各位站長也已經很清楚了,這時目前最常見的鼓勵點擊行為。

第二條和第三條就是誤導性展示,這在之前的博客文章中已經進行了說明。

第四條是指發佈商不能通過發送垃圾郵件要求別人點擊您的廣告,也不能把廣告放在電子郵件中。

第五條指的是發佈商不能以點擊廣告作為用戶獲得某些獎勵的交換條件,如有些論壇的「點廣告換取論壇積分」行為,這些都是違反我們政策的。

對於最後一條,有很多發佈商在收到警告後仍然不知道是哪裡違反了我們的政策。請各位站長注意,您不可以使用「贊助商鏈接」,「廣告」以外的任何會使用戶誤以為廣告是其他信息的誤導性標籤,如下面圖中的例子:

很多發佈商對鼓勵點擊很不以為然,覺得沒什麼影響。其實,鼓勵點擊在給廣告客戶造成損失的同時,也會產生大量的無效點擊,會對您的帳戶有非常嚴重的影響。

需要說明的是,我們政策中所說的廣告不只是 AdSense for Content 廣告,還包括推介和AdSense for Search 廣告。

參考來源
細說AdSense計劃政策-鼓勵點擊和成人內容

AdSense計劃政策:關於流量交換

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Google AdSense官方部落格解說關於流量交換的疑問「A note on traffic exchange programs 」。

使用第三方軟體或服務引導流量到網站時要特別注意,這有可能被Google認定為無效點擊和展示。官方的計畫政策提及:

無效點擊和曝光

嚴禁發佈商點擊自己的廣告,或是透過任何手段以人工方式 (其中包含手動點擊方式) 提高曝光數和/或點擊次數。

Google 廣告上的點擊必須來自使用者的自發性點選,嚴禁利用任何人工方法產生 Google 廣告的點擊或曝光。嚴禁使用的方法包含 (但不限於) 重複的手動點擊或曝光、自動點擊次數和曝光數產生工具,以及漫遊器或詐騙軟體。請注意,不論如何都不得點擊自己的廣告,絕無例外。

有幾個被Google嚴厲禁止的服務或計劃
Paid-to-click:付費給網站訪客、會員,以鼓勵他們點擊廣告。
Paid-to-surf:付費給網站訪客、會員,以鼓勵他們瀏覽網頁。
Auto-surf:自動展示網站
Click-exchange programs:互相點擊廣告的計劃

如果Adsense網站發佈者參加這類的服務或計劃,一旦查獲將被停權。

此外對於流量交換、交換連結等計劃聯盟,官方無法針對任一的第三方服務做評論,可以參考我要怎麼做才能確保帳戶不會被停用?

其中,對於網站的展示方式,支援中心提到:

我要怎麼做才能確保帳戶不會被停用?
注意您網站的宣傳方式。
顯示 Google 廣告的網頁不可以在未經要求的彈出式視窗中顯示。 這表示出版者在與第三方購買流量或設定廣告系列時要非常小心。 在簽訂任何廣告聯播網的契約前,您應該確定他們不會以彈出式視窗顯示您的網站,或是透過安裝任何軟體應用程式來呈現。

要如何增加自已網站、部落格的流量呢?
AdSense官方部落格認為獨特且相關的內容是吸引新訪客和留住忠誠的舊訪客的最好方法。這方面,可以參考Google網站管理員指南,來改善網站的品質,並讓訪客有良好的瀏覽體驗。

參考來源
AdSense計劃政策解釋-流量交換

AdSense計劃政策:誤點網站的廣告不用回報

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Google AdSense官方部落格在Accidents happen一文提及,網站發佈者不小心誤點到自已網站、部落格的廣告不需要回報給Google AdSense小組。

「As most of you know, our program policies state that publishers are not permitted to click on their own ads for any reason. For this reason, we’ve received many emails from publishers letting us know that they’ve accidentally clicked on their own ads. If you’re one of these publishers, we truly appreciate the efforts you’ve made to monitor your account and keep it in good standing. However, we do understand that an accidental click may occur from time to time, so there’s no need to contact us each instance this occurs.」

Adsense的計畫政策裡明確禁止發佈者點擊自己網站的Google廣告,但AdSense小組也知道不小心誤點自已廣告的情形有時都是會發生的,這種情況可以不需要回報給Google AdSense小組。

AdSense的無效點擊機制(點擊監控系統和人員)可以做出判斷,如果他們的無效點擊機制發現網站發佈者誤點自已的廣告,這些點擊將不會產生收入,但依然會顯示在AdSense後台的報告中。

AdSense小組建議使用Google Adsense廣告預覽工具,來查看廣告主的網站網址。AdSense計劃政策中明確的規定”請注意,我們亦禁止您基於任何理由點擊您自己的廣告。 未遵守此政策可能導致您的帳戶遭停用。

Google AdSense對於無效點擊的判斷來自於其專利技術,AdSense小組對於無效點擊機制向來不公開說明。

如果發現AdSense後台的收益報表有異常的點擊率昇高現象,可以將相關的資料回報給AdSense小組:AdSense無效點擊回報

若不幸被停權的話,也可向Google AdSense申訴:提出異議。並將所有的詳細資料提供給AdSense小組,讓他們重新審查。請參考AdSense停權申訴成功案例

參考來源
細說AdSense計劃政策-鼓勵點擊和成人內容

AdSense計劃政策:易被誤點的AdSense廣告

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

Google Adsense嚴禁鼓勵點擊:「嚴禁發佈商要求其他人點擊其廣告,或使用詐騙方式取得點擊次數,其中包括 (但不限於) 以獎勵誘使使用者檢視廣告或進行搜尋、承諾為第三方人士募款或進行其他類似行為,或是在個別廣告旁顯示圖片。」這其中包含使用詐騙方式取得點擊次數,因此 容易被誤點的擺設位置應當要避免。

Adsense官方部落格在Don’t run the risk of click and miss一文解釋關於容易被誤點的AdSense廣告位置。Google AdSense禁止網站發佈者鼓勵訪客點擊Google廣告,也禁止將AdSense廣告放置於容易造成瀏覽者誤點廣告的位置,例如:

In close proximity to Macromedia Flash games
(於太靠近Falsh遊戲的位置)
Under pop-ups or download prompts
(於彈出視窗和下載點附近)
Near site navigation controls on your pages, such as drop-downs or menu links
(靠近網站導覽功能列,如下拉式選單或連結選單)

另外,如果網站的廣告點擊率增加而廣告主的成效沒有增加,會被視為無效點擊。

舉例而言,這個成效可能來自於商店的交易瀏覽網頁。如果經AdSense小組查證這些無效點擊有可能危害廣告主的利益,那麼你的AdSense帳號極有可能被停權。

If your site contains elements that increase the number of ad clicks without increasing business results for the advertiser, we may consider these clicks to be invalid. “Business results” can range from an online sale to a page view. If we detect enough of these clicks and determine that the risk to our advertisers is too great, we may disable the account.
其中關於第三點:靠近網站導覽功能列,如下拉式選單或連結選單。由於這也是廣告優化中提到的廣告排版最佳化方式提及的位置,因此官方部落格對於此點做出說明”A clarification on accidental clicks

允許的、不易造成誤點的排版方式
(圖片來源:Inside Adsense

應該避免、易造成誤點的排版
(圖片來源:Inside Adsense

參考來源
AdSense計劃政策解釋-容易被誤點的廣告再次說明
AdSense計劃政策解釋-容易被誤點的AdSense廣告

AdSense計劃政策:成人內容

researcher

This site has been moved to dreamerslab.com

本站已經移至 dreamerslab.com

AdSense計劃政策-什麼是成人內容

Google AdSense不允許Google廣告放置在有成人內容的網頁。Adsense支援中心提及:

「禁止發佈商將 AdSense 程式碼放置在內容違反《內容指南》規定的網頁上,成人、暴力或鼓吹種族歧視等內容均屬禁止之列。
檢視完整內容政策」

AdSense中文官方博客對於成人內容的認定標準可見細說 AdSense 政策 – 什麼是「成人內容」所提及的內容:

經常有發佈商來信詢問哪些內容屬於成人內容,也有很多發佈商在收到我們的警告後仍然認為他的網站內容不是成人內容。現在,我們就詳細說一說什麼是成人內容。

實際上,用「少兒不宜內容」應該更容易理解。我們的政策所規定的少兒不宜內容,包括所有不適於所有用戶群體觀看的內容。其中包括:
1.色情內容以及有色情傾向文字描寫的內容,如色情圖片、視頻、以及色情、成人小說等;
2.有成人或色情引導性的圖片或視頻,如「偷拍」「走光」「激情圖片」等;
3.具有猥褻性或不健康傾向的內容,如「美腿絲襪」「高跟絲襪」等內容;
4.成人用品
5.對於性教育方面的內容,只有完全教育性的內容才能投放廣告,任何成人擦邊性質的內容,如成人傾向的描寫以及成人圖片都屬於少兒不宜內容。
6.網頁上在投放成人廣告,就不能同時投放 AdSense 廣告。

由於網站內容多種多樣,每個網站的內容都不一樣,我們沒有辦法非常具體的回答什麼網頁是成人內容,什麼不是。

但 是我們可以告訴大家我們判斷成人內容 的標準,您只需設想一下,您可以坦然和您的父母或子女一起瀏覽這個網頁嗎?如果您的上司或同事看到您瀏覽這個網頁,您會感到難為情嗎?如果您不能坦然讓您 的家人或同事看到您瀏覽這個網頁,那麼顯然廣告商不希望他們的廣告出現在這樣的網頁上。這樣的內容就屬於成人內容,不能投放 AdSense 廣告。

如果我們發現網站有成人內容,就會停止網站的廣告展示,並向發佈商發出警告。在警告信中我們會提供含有成人內容的一個網頁例子。如果發現嚴重違規的情況,我們會立即停用發佈商的賬戶,該發佈商將再也不能參加 AdSense。

所以,當發佈商收到我們的警告的時候,請參考警告信中的例子檢查您網站上的哪些內容不符合我們上面說的標準,並刪除這些內容。為了保護廣告商和用戶的利益,在您徹底刪除這些內容之前,我們不會恢復網站的廣告展示。

最後,我們非常希望能夠和發佈商建立信任雙贏的合作夥伴關係,不希望停止廣告的展示並影響您的收入。所以,請各位發佈商經常檢查您的網站內容,防止 出現違反我們政策的內容,從而避免對您的賬戶的不利影響。

另外,如果您發現有成人內容的網站投放廣告,也請立即通知我們。讓我們一起維護 AdSense 發佈商網絡的質量,提高廣告商對發佈商網絡的信任。

參考來源
細說AdSense計劃政策-鼓勵點擊和成人內容