Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 集成百度統計

Android 集成百度統計

編輯:關於Android編程

在這裡簡單的介紹下怎麼統計自己研發的APP 的用戶活躍度,和使用量,以此來展示自己APP的用戶使用量!
我們的APP都需要注入數據分析,以供我們實時的了解APP的下載和使用量提供了依據!
不過我還是更多的偏好使用Umeng 統計,但因為項目要求,需要集成百度統計,為此簡單的介紹下使用!

集成開發步驟:

在百度統計Web網站https://mtj.baidu.com/web/welcome/login申請百度統計的AppKey 點擊SDK下載 https://mtj.baidu.com/web/sdk/index 下載SDK 當中包括先關的jar 包 在自己的基類中添加統計的相關API
import com.baidu.mobstat.StatService;
import com.wly.frame.utils.AppManager;

import android.app.Activity;

public class BaseActivity extends Activity {

    @Override
    public void setContentView(int layoutResID) {
        super.setContentView(layoutResID);

        AppManager.getAppManager().addActivity(this);
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        StatService.onResume(this);  
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        StatService.onPause(this);  
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        AppManager.getAppManager().finishActivity(this);  
    }

}

在AndroidManifest.xml 清單文件中聲明相關權限 渠道號,Appkey 等

 
    
    
    
    
    
    
    
    
    
    
    
  

 

在 meta-data 中聲明相關的AppKey

 
         
         
        
        

        
        
        
        
        
        
        
        
        
        
        
        
        
        

Application 的聲明設置

讓自己的Application extends FrontiaApplication

public class DemoApplication extends FrontiaApplication{

    @Override
    public void onCreate(){
        super.onCreate();
    }

}

在百度統計集成的SDK 文檔中並沒有闡述這點,本人是抱著試試的態度,然後就沒有 繼承 FrontiaApplication 這個東西!而是直接使用 DemoApplication extends Application 然後再清單文件中進行聲明

    

經過測試也是可以統計的!不知是否是因為 百度統計的更新!還是什麼,在此也沒有做更多的了解!如果讀者發現有什麼問題可以告知?

統計示例:

統計Activity 界面
如果我們沒有需求需要統計到具體的詳細的界面我們可以直接在基類中聲明統計的方法,需要注意的是,如果你在BaseClass 中聲明了,切記在子類中不要聲明相關統計API。
    public class BaseActivity extends Activity {

    @Override
    public void setContentView(int layoutResID) {
        super.setContentView(layoutResID);

        AppManager.getAppManager().addActivity(this);
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        StatService.onResume(this);  
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        StatService.onPause(this);  
    }

    @Override
    protected void onDestroy() {
        super.onDestroy();
        AppManager.getAppManager().finishActivity(this);  
    }

}
  StatService.onResume(this);  
  StatService.onPause(this);  
  統計的是具體的包名。在Web網站觀看的效果如下圖

這裡寫圖片描述

統計具體的界面
當然統計所有的界面不太滿足我們的需求,我們有時候需要具體分析,和了解某個具體的界面的訪問量這是為了方便我們會更多的依賴於自定義頁面統計以下的書寫方式!
StatService.onPageStart(Context  context,  Sring  pageName); 
StatService.onPageEnd(Context  context,  Sring  pageName);
public class FounActivity extends Activity implements OnClickListener{
    private TextView tv_back;
    private TextView tv_title;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_fount);
        initView();
    }
    private void initView() {
        tv_back = (TextView) findViewById(R.id.tv_back);
        tv_back.setOnClickListener(this);

        tv_title = (TextView) findViewById(R.id.tv_title);
        tv_title.setText("發現");

    }
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
        case R.id.tv_back:
            finish();
            break;

        default:
            break;
        }
    }

    @Override
    protected void onResume() {
        // TODO Auto-generated method stub
        super.onResume();
        StatService.onPageStart(this, "發現界面"); 
    }

    @Override
    protected void onPause() {
        // TODO Auto-generated method stub
        super.onPause();
        StatService.onPageEnd(this, "發現界面");
    }


    @Override
    protected void onDestroy() {
        // TODO Auto-generated method stub
        super.onDestroy();
    }
}

這樣的話就是統計的具體界面在Web網站看到的效果就是這樣!

這裡寫圖片描述vcq9o7q4+b7dsNm2yM2zvMa1xFNESyDOxLW1o6zKudPD19S2qNLlvefD5r340NDNs7zGo6y8tL/JveK+9rjDzsrM4qOsy/nS1NTZzbO8xkZyYWdtZW50tcTKsbryztLDx7u5ysfXosjr19S2qNLlzbO8xr3nw+a1xEFQSaGjDQo8cHJlIGNsYXNzPQ=="brush:java;"> public class SportFragment extends Fragment{ @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_contact_list, container, false); } @Override public void onResume() { // TODO Auto-generated method stub super.onResume(); StatService.onPageStart(getActivity, "運動界面"); } @Override public void onPause() { // TODO Auto-generated method stub super.onPause(); StatService.onPageEnd(getActivity, "運動界面"); } }

這樣就可以統計每個預覽的Fragment 界面了。

這裡寫圖片描述

自定義事件

統計某個按鈕的熱度,我們可以使用自定義事件,首先我們需要在Web 網站中注冊並添加自定義事件,具體的操作就不在過多的贅述了,如果還有什麼不了解可以參考百度 統計的SDK文檔
API:

@params event_id 為在網站注冊的點擊事件id,二者必須對應
StatService.onEvent(Context  context,  String  event_id,  String  label,  int  acc) 

實例:

button.setOnClickListener(new View.onClickListener(){
    @Override
    public void onClick(View v) {
        StatService.onEvent(MainActivity.this,"buildRequest","update",1)
    }
});

截圖就不在上傳了!

其實吧,在統計數據方面我還是喜歡使用UMeng統計,不知你們覺得的呢?但是畢竟是由於項目的要求,為此在簡單的使用下!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved