ADBERT SDK
Android SDK
第三方串接廣告
不使用第三方串接廣告
其他
iOS SDK
第三方串接廣告
不使用第三方串接廣告
其他
第三方串接廣告
不使用第三方串接廣告
其他
第三方串接廣告
不使用第三方串接廣告
其他
這是本文件的舊版!
使用ADBERT Tag Manager SDK應進行以下步驟:
Version | SDK |
1.0.0 |
下載SDK並放至專案內。
若使用 Eclipse,請將 jar檔放至 / libs 資料夾裡即可。
若使用 Android Studio,將 jar 檔放至 /libs 資料夾後,右鍵點擊 jar 並選擇 Add as library 即可。
查看 Setting Up Google Play Services,瞭解如何設定 Google Play Services SDK。
建議使用最新版SDK以支援所有功能。若無法回傳數據,請檢查引用的Google Play Services是否支援廣告id的獲取,請參考Advertising ID。
發出請求前,您必須在資訊清單中宣告這些權限:
INTERNET
必要。用來存取網路,以發出請求。
ACCESS_NETWORK_STATE
必要。用來在發出請求前,先行檢查是否有可用的網路連結。
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
以上的R.xml.atm_setting指的是放在res/xml/底下由開發者自定義的檔案,內容示意如下:
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="atm_containerId">containerId</string> <screenName name="com.sample.MainActivity">首頁</screenName> <screenName name="com.sample.TwoActivity">第二頁</screenName> </resources>
使用atm_containerId欄位來設定containerId,並使用tag screenName來設定後台報表顯示的頁面對應名稱。
建立一個MyApplication extends Application,並在onCreate時建立ATMTracker。
看Manifest裡原本Application使用的是什麼,繼承他並替換。
例如:
將
<application android:name=“android.support.multidex.MultiDexApplication”…>
換成
<application android:name=“.MyApplication”…>
public class MyApplication extends android.support.multidex.MultiDexApplication { @Override public void onCreate() { super.onCreate(); //第一種方式:建議使用 AdbertTagManager.getInstance(getBaseContext()).newTracker(R.xml.atm_setting); //第二種方式 //AdbertTagManager.getInstance(getBaseContext()).newTracker("containerId"); } }
若是只有建立一個ATMTracker的狀況,可在任意地方使用AdbertTagManager.getDefaultTracker()來獲取已建立好的ATMTracker物件。
ATMTracker tracker = AdbertTagManager.getDefaultTracker();
注意:若沒有先newTracker,則此處會得到null。
若要建立多個追蹤,則需自行使用變數管理並保存ATMTracker (in MyApplication):
ATMTracker tracker1, tracker2; private void createTracker() { AdbertTagManager atm = AdbertTagManager.getInstance(getApplicationContext()); tracker1 = atm.newTracker("containerId"); tracker2 = atm.newTracker("containerId2"); }
上述情況,若在其他頁面使用getDefaultTracker()會得到最後一個建立的ATMTracker,也就是tracker2。
在Activity的start與pause事件內使用 tracker.pageStart 跟 tracker.pagePause 來回收頁面瀏覽資訊。
可傳入Activity物件:
@Override protected void onStart() { super.onStart(); tracker.pageStart(MainActivity.this); } @Override protected void onPause() { super.onPause(); tracker.pageStart(MainActivity.this); }
也可以傳入自定義頁面名稱:
@Override protected void onStart() { super.onStart(); tracker.pageStart("MainActivity"); } @Override protected void onPause() { super.onPause(); tracker.pageStart("MainActivity"); }
注意:pageStart與pagePause傳入的物件需一致,才可以正確紀錄頁面瀏覽資料。若自定義screenName則需使用一樣的頁面名稱。
傳入Activity的話,一般情況下會回傳Activity class名稱(例:com.sample.MainActivity)至後台,若使用前述的R.xml.atm_setting自定義,則後台報表會顯示自定義的名稱。
在專案的Activity數量很多的情況下,可在MyApplication implements Application.ActivityLifecycleCallbacks,在void onActivityStarted(Activity)內使用tracker.pageStart(this)、void onActivityPaused(Activity)使用tracker.pagePause(this),搭配R.xml.atm_setting,即可輕鬆設定及管理每一個頁面的名稱。
提供兩個自定義事件參數:Category、Action
注意:單使用回傳事件可能會造成報表不完全,建議在每一頁都搭配回傳PageView。
tracker.send(new ATMTracker.EventBuilder() .setCategory(category) .setAction(action) .build());