2015年2月3日 星期二

android APP 填加 adsense 廣告

情境:
已完成APP的開發(該APP至少要有一個view Activity )

目標:
在APP內加入adsense廣告

準備工作:
1.申請google帳號
2.申請admob
3.申請paypal(非必需,日後若要領取收益可以使用paypal轉帳減少交易費用)
4.在有google帳號內的手機上下載 adsense(非必要,但建議下載,可隨時觀看目前廣告的瀏覽次數及收益)

作業流程:
1.先將APP上架(沒錯要先上架)
2.再至admob內取得上架APP的廣告商 ID
3.再專案內引用 google-play-server-lib
4.再欲想顯示的activity內加如下列程式碼
import com.google.android.gms.ads.*;
public class BannerExample extends Activity {
  private AdView adView;
private final String MY_AD_UNIT_ID ="請輸入在admob內取得的ID";

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // 建立 adView。
    adView = new AdView(this);
    adView.setAdUnitId(MY_AD_UNIT_ID);
    adView.setAdSize(AdSize.BANNER);

    // 假設 LinearLayout 已獲得 android:id="@+id/mainLayout" 屬性,
    // 查詢 LinearLayout。
    LinearLayout layout = (LinearLayout)findViewById(R.id.mainLayout);

    // 在其中加入 adView。
    layout.addView(adView);

    // 啟動一般請求。
    AdRequest adRequest = new AdRequest.Builder().build();

    // 以廣告請求載入 adView。
    adView.loadAd(adRequest);
  }

  @Override
  public void onPause() {
    adView.pause();
    super.onPause();
  }

  @Override
  public void onResume() {
    super.onResume();
    adView.resume();
  }

  @Override
  public void onDestroy() {
    adView.destroy();
    super.onDestroy();
  }
}
5.再 AndroidManifest.xml 加入下列請求(藍色部份)
<application android:icon="@drawable/ic_launcher" android:label="@string/app_name">
        <activity android:name="com.google.android.gms.ads.AdActivity"
                  android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"/>
    <meta-data android:name="com.google.android.gms.version"
               android:value="@integer/google_play_services_version" />
    </application>

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


沒有留言:

張貼留言