使用者工具

網站工具


android:atm

ADBERT Tag Manager



使用ADBERT Tag Manager SDK應進行以下步驟:

下載


VersionSDK
1.0.0

整合SDK

設定jar檔


下載SDK並放至專案內。
若使用 Eclipse,請將 jar檔放至 / libs 資料夾裡即可。
若使用 Android Studio,將 jar 檔放至 /libs 資料夾後,右鍵點擊 jar 並選擇 Add as library 即可。

新增並參照 Google Play 服務程式庫專案


查看 Setting Up Google Play Services,瞭解如何設定 Google Play Services SDK。
建議使用最新版SDK以支援所有功能。若無法回傳數據,請檢查引用的Google Play Services是否支援廣告id的獲取,請參考Advertising ID

設定Manifest權限


發出請求前,您必須在資訊清單中宣告這些權限:

INTERNET
必要。用來存取網路,以發出請求。

ACCESS_NETWORK_STATE
必要。用來在發出請求前,先行檢查是否有可用的網路連結。

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


建立ATMTracker物件


  1. 從您的窗口那裡拿到containerId
  2. 建立R.xml.atm_setting檔案
  3. 在MyApplication中建立ATMTracker


以上的R.xml.atm_setting指的是放在res/xml/底下由開發者自定義的檔案,內容示意如下:

atm_setting.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”…>

MyApplication.java
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物件


若是只有建立一個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。

回傳PageView


在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("首頁");
    }

    @Override
    protected void onPause() {
        super.onPause();
        tracker.pageStart("首頁");
    }

注意: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,即可輕鬆設定及管理每一個頁面的名稱。

回傳Event


提供兩個自定義事件參數:Category、Action

  1. 用ATMTracker.EventBuilder設定好要回傳的參數
  2. 用tracker.send傳回後台紀錄

注意:單使用回傳事件可能會造成報表不完全,建議在每一頁都搭配回傳PageView。

tracker.send(new ATMTracker.EventBuilder()
    	.setCategory(category)
        .setAction(action)
        .build());
android/atm.txt · 上一次變更: 2017/07/24 12:01 由 chihhan