我想對於 Google AdSense 這個網告服務有一些人應該也早已使用過,如果您有在 Google Blogger 上架設過自己的部落格的話,應該就會知道這個服務。當然要使用這樣的服務您必須先申請 Google AdSense。
我想對於 Google AdSense 這個網告服務有一些人應該也早已使用過,如果您有在 Google Blogger 上架設過自己的部落格的話,應該就會知道這個服務。當然要使用這樣的服務您必須先申請 Google AdSense。
不過要先說明,此文並非鼓勵各位都在自己的部落格放置廣告,技術部落格的重點可能還是在於您的分享的內容,而不是只是為了廣告收益才來分享,當然意思也不是說都不能放置廣告,而是出發點是在於分享。其實會申請 AdSense 主要是先前在目前公司的同事的勸說之下才申請的,因為以前也沒有玩過這種東西,才想說完玩看。而從開始申請到現在似乎也還未滿一年。
要申請可從資訊主頁下方的 AdSense 點選進入。
初次進入可能需要您填寫一些基本資料、選擇廣告類型、廣告配色,等等。
當申請完成了 AdSense 服務之後在您的部落格的管理畫面就會出現 [收益] 的 Tab。如下圖:
而如果要方便的在您的其它部落格方便的使用,光有 AdSense 還是不夠的,因此 Google 才提供了 AdSense API。要使用 AdSense API 您必須再到http://services.google.com/ads_inquiry/api_info_form 另外申請 developer 的帳戶才可以呼叫 AdSense 所提供的 Web Services。注意:是 Web Services
當資料填妥後,您隨即就會收到一封 EMail ,當中包含了 developer_email 、developer_password 等資訊。到時實際在撰寫程式 呼叫 Web Services 時會需要使用。
在這裡 Google AdSense API 的 Getting Started Guide 裡面其實就已經提供了如下種類的 Sample Code :
- Python
- PHP
- Java
- C#
- XML (告訴你自定義的 SOAP 的封包格式)
當然筆者就是直接複製出C#的 Sample Code 。不過並不是有Sample Code 就可以了,別忘了我們的目的是要去呼叫 AdSense API,Google所提供出來的是一個 Web Services。這可以在 [Developer's Guide] –> [API Reference] 下面找到,如下圖:
接下來的動作很重要,若有任何的出錯就會無法正常的呼叫使用。
(1)、建立 AdSenseHelper 的類別庫專案。
(2)、將 https://www.google.com/api/adsense/v3/AdSenseForContentService?wsdl 參考進來。
注意:使用的是 [Web 參考] 不是 [服務參考],這是不一樣的!許多初學者容易搞混,簡單的說,一個是WCF,一個是 Web Services.
(3)、加入如下程式碼。
1: public class AdSenseAPI
2: {
3: string DevEMail = "";
4: string DevPassword = "";
5: public AdSenseAPI(string DeveloperEmail, string DeveloperPassword)
6: {
7: this.DevEMail = DeveloperEmail;
8: this.DevPassword = DeveloperPassword;
9: }
10: public HtmlString GetAdSenseHtml()
11: {
12: developer_email developerEmail = new developer_email();
13: developerEmail.Text = new string[] { DevEMail };
14: developer_password developerPassword = new developer_password();
15: developerPassword.Text = new string[] { DevPassword };
16: client_id clientId = new client_id();
17: clientId.Text = new string[] { "PUBLISHER_CLIENT_ID" };
18:
19: v3AdSenseForContentService adsense = new v3AdSenseForContentService();
20:
21: String synServiceId = "pub-7456613816180744";
22: AdStyle adStyle = new AdStyle();
23: adStyle.backgroundColor = "#000000";
24: adStyle.borderColor = "#000000";
25: adStyle.name = "Test";
26: adStyle.textColor = "#FFFFFF";
27: adStyle.titleColor = "#FFFFFF";
28: adStyle.urlColor = "#FFFFFF";
29:
30: AdUnitType adUnitType = new AdUnitType();
31: adUnitType.value = "TextAndImage";
32: AdLayout layout = new AdLayout();
33: layout.value = "728x90";
34: String alternate = null;
35: bool isFramedPage = false;
36: String channelName = "General";
37: CornerStyles cornerStyles = new CornerStyles();
38: cornerStyles.value = "DEFAULT";
39: string[] hostChannelNames = null;
40:
41: generateAdCode request = new generateAdCode();
42: request.synServiceId = synServiceId;
43: request.adStyle = adStyle;
44: request.adUnitType = adUnitType;
45: request.adLayout = layout;
46: request.alternate = alternate;
47: request.isFramedPage = isFramedPage;
48: request.channelName = channelName;
49: request.cornerStyles = cornerStyles;
50: request.hostChannelNames = hostChannelNames;
51:
52: v3AdSenseForContentService service = new v3AdSenseForContentService();
53: service.developer_emailValue = developerEmail;
54: service.developer_passwordValue = developerPassword;
55: service.client_idValue = clientId;
56: service.Credentials = new NetworkCredential(developerEmail.Text[0], developerPassword.Text[0]);
57: generateAdCodeResponse response = service.generateAdCode(request);
58: return new HtmlString(response.@return);
59: }
60: }
(4)、將 AdSenseHelper.DLL 複製到 bin 下面。
(5)、在 WebMatrix 中將 AdSenseHelper 的命名空間 using 進來。
(6)、撰寫如下的 Razor 程式碼。初始化的時候傳入前面申請的 developerEmail & developerPassword 。
(7)、程式的執行結果會是如下。
又一個簡單的應用,希望對各位能有所幫助。
再一次謝謝各位朋場啦!
簽名:
學習是一趟奇妙的旅程
這當中,有辛苦、有心酸、也有成果。有時也會有瓶頸。要能夠繼續勇往直前就必須保有一顆最熱誠的心。
軟體開發之路(FB 社團):https://www.facebook.com/groups/361804473860062/
Gelis 程式設計訓練營(粉絲團):https://www.facebook.com/gelis.dev.learning/
如果文章對您有用,幫我點一下讚,或是點一下『我要推薦』,這會讓我更有動力的為各位讀者撰寫下一篇文章。
非常謝謝各位的支持與愛護,小弟在此位各位說聲謝謝!!! ^_^