91嫩草国内在线,韩国理论电影免费看,6969精品视频在线观看,1024在线视频精品免费,色中色污,饭冈佳奈子在线
跳至內容
Cobub文檔中心
用戶工具
登錄
站點工具
工具
顯示頁面
修訂記錄
反向鏈接
媒體管理器
網站地圖
登錄
媒體管理器
網站地圖
本頁面只讀。您可以查看源文件,但不能更改它。如果您覺得這是系統錯誤,請聯系管理員。
~~Title:Android 開發者指南 - 開源移動應用運營平臺 - 移動統計、移動推送解決方案 - Cobub 移動開發者中心~~ {{description>Android 開發者指南}} {{keywords>Cobub Razor,開源移動應用分析,移動分析,移動應用分析,開發者指南,android}} ====== Android 開發者指南 ====== ====== 1 基本設置指南 ====== ===== 1.1 注冊應用,獲取AppKey,下載開發文檔 ===== 登陸賬號后,到管理后臺注冊應用,填寫Android應用的相關信息。App建立成功后,可獲得該App的AppKey以及最新的開發文檔。 ===== 1.2 Android SDK使用步驟 ===== ==== 1.2.1 導入Cobub的SDK jar包 ==== 打開下載文件中的sdk\android_sdk目錄, 導入SDK項目到eclipse(或其它IDE),打包生成jar包。 Eclipse用戶右鍵工程根目錄,選擇Properties —>Java Build Path —>libraries,然后點擊Add External JARs…選擇指向上述生成的jar包文件的路徑,點擊OK,即導入成功。 ==== 1.2.2 配置AndroidManifest.xml ==== 添加應用程序的AppKey(必須) 需要先添加應用程序獲得的AppKey,將AppKey添加到AndroidManifest.xml的meta-data里。 (注意:字符串必須為’**UMS_APPKEY**’) * 添加權限**android.permission.INTERNET**(必須) 向服務器發送用戶的統計分析數據。 * 添加權限**android.permission.READ_PHONE_STATE**(必須) 獲取手機的相關狀態信息 * 添加權限**android.permission.ACCESS_FINE_LOCATION**(必須) 獲取當前用戶的位置信息 * 添加權限**android.permission.ACCESS_WIFI_STATE**(必須) 訪問Wi-Fi網絡狀態信息 * 添加權限**android.permission.GET_TASKS**(必須) 獲取最近運行任務信息 * 添加權限**android.permission.WRITE_EXTERNAL_STORAGE**(必須) 向sdcard讀寫文件 * 添加權限**android.permission.READ_LOGS**(必須) 讀取程序產生的錯誤日志 * 添加權限**android.permission.ACCESS_NETWORK_STATE**(必須) 訪問GSM網絡信息 AndroidManifest.xml 文件詳細如下: <code xml> <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.sdktest" android:versionCode="4" android:versionName="4.0.2" > <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="17" /> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.GET_TASKS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_LOGS"/> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.sdktest.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="UMS_APPKEY" android:value="填寫獲取到的key"/> </application> </manifest> </code> ==== 1.2.3 添加代碼 ==== 添加引用 **import com.wbtech.ums.UmsAgent;** * 初始化Ums對象 在Android應用的入口Activity的onCreate()方法中調用UmsAgent.init(Context context, String url)方法,**注意這個方法應置于所有其他的方法之前**。url為自行安裝的Cobub Razor服務端地址,注意地址以index.php?結束,如"http://demo.cobub.com/razor/index.php?"。 * 獲取用戶ID 在可以獲得用戶唯一標識符的地方(如登錄界面)調用UmsAgent.bindUserid(Context context, String userID)方法,該方法會記錄下該標示符(如app應用的用戶名,手機號或郵箱等標識用戶唯一性的id),該函數會將設備與用戶id的關系發至服務端保存。 * 綁定tag 在可以獲得用戶tag的地方調用postTags(final Context context, final String tags),將tag數據傳至后臺,以后可用來對用戶進行分類。 * 注冊Activity 在Android應用的每個Activity的onResume方法中調用**UmsAgent.onResume(Context)**,傳入的參數為當前的context引用,這個方法將會自動地從AndroidManifest.xml文件里讀取AppKey,并記錄下用戶進入該頁面的時間。不要傳遞全局的application context。 <code java> protect void onResume(){ super.onResume(); UmsAgent.onResume(this); } </code> 在Android應用的每個Activity的onPause方法中調用**UmsAgent.onPause(Context)**,參數為當前activity的context,該方法會記錄下用戶離開該頁面的時間。 <code java> protected void onPause(){ super.onPause(); UmsAgent.onPause(this); } </code> 在onCreate()調用**UmsAgent.postClientData(Context con)**方法,參數為當前上下文對象,這樣,客戶端數據就可以上傳數據到服務器了。 <code java> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UmsAgent.postClientData(this); } </code> 代碼樣例: <code java> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); button = (Button) findViewById(R.id.button1); UmsAgent.init(context,"http://192.168.1.204/UMS/index.php?"); UmsAgent.update(this); UmsAgent.setDefaultReportPolicy(this, SendPolicy.REALTIME); UmsAgent.bindUserid(this, "cobub"); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub UmsAgent.onEvent(MainActivity.this, "eventid"); UmsAgent.onEvent(MainActivity.this, "event_id", "label", 30.0); } }); } </code> 1.2.4 集成說明 建議在Android應用的所有的activity中都調用UmsAgent.onResume()和UmsAgent.onPause()方法。如果在某些activity中不添加也可以,但會造成相應Activity的使用時間等相關信息統計不到。 ==== 1.2.5 注意事項 ==== * AppKey 確認AppKey已經正確的寫入Androidmanifest.xml * 權限 確認所需的權限都已經添加 * API使用 確認所有的Activity中都調用了onResume和onPause方法 * 聯網檢查 確認測試手機或者模擬器已成功連入網絡 ====== 2 高級基本設置指南 ====== ===== 2.1 錯誤報告 ===== SDK可以幫您捕捉用戶在使用應用過程中出現的異常退出(FC),并將錯誤報告發送給服務器,錯誤報告包含應用程序版本、操作系統版本和設備型號以及程序出現異常時的Stacktrace,這些數據將幫助您調試應用程序的錯誤。我們提供兩種方式報告錯誤信息,一種是我們自動捕獲的錯誤信息,一種是開發者自己傳遞的錯誤 前者,您需要在AndroidManifest.xml里面添加權限**android.permission.READ_LOGS**,并且在程序的Main Activity(應用程序入口)的onCreate方法里調用UmsAgent.onError(Context) <code java> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UmsAgent.onError(this); </code> 后者需要開發者調用**UmsAgent.onError(Context,String)**方法,在第二個參數中傳入自己捕獲的錯誤信息。 ===== 2.2 自定義事件 ===== 除了基本統計分析功能外,SDK還支持您自定義的事件的統計分析,例如您可以統計廣告點擊次數或者視頻被播放的次數等等,這里我們將提供幾個簡單而通用的接口: <code java> UmsAgent.onEvent(Context context,String event_id)</code> 在您需要發送事件報告的代碼段,調用如下方法就可以向服務器發送事件記錄,將統計event_id對應事件發送次數,變化趨勢,例如廣告點擊,短信發送量等等。參數context為當前context的引用,event_id為當前統計事件的ID。 比如,監測應用程序里廣告的點擊次數,事件ID為“ad_click”。那么需要在程序里每次廣告點擊時調用UmsAgent.onEvent(this,“ad_click“)通知服務器一個廣告點擊事件發生。 <code java> UmsAgent.onEvent(Context context,String event_id,String label)</code> 除了能夠統計event_id所對應事件的發生次數,變化趨勢外,還能統計事件中具體標簽所占的比例,label為當前標簽,同樣這里的event_id字符串中也不能有空格。 例如:在應用程序中省份對應一個event_id,每個城市對應一個label,這樣我們可以再生成的統計表中看到不同城市的比例。 對于程序中的某些可能被頻繁觸發的事件,開發者可以再程序中維護一個計數器,這樣事件被多次觸發只需要生成一個消息,這個消息包括該事件被觸發的次數,這里我們重載了之前的兩個接口: <code java> UmsAgent.onEvent(Context context,String event_id,int acc)</code> <code java> UmsAgent.onEvent(Context context,String event_id,String label,int acc)</code> acc:對應事件被觸發的次數。 這里我們除了可以對某個事件的發生次數統計外,增加了一個針對事件下某一標簽的價值的保存和統計。重載方法如下: <code java> UmsAgent.onEvent(Context context,String event_id,String label,double value)</code> 例如 event_id代表一個“下單”事件,那么label可以標記為某個“訂單號”,而value就為該“訂單號”的金額(即價值)。 ===== 2.3 調試 ===== Cobub Android SDK提供了調試的功能,提供盡可能多的日志信息,以確定可能出現的問題。 調用以下函數,可以打開調試功能,sdk所有上報的數據可以在logcat中顯示。**注意:請在產品正式發布時,關閉該功能。** <code java> UmsAgent.setDebugEnabled(true); </code> Log的不同等級,可以通過以下函數設置: <code java> UmsAgent.setDebugLevel(UmsAgent.LogLevel); </code> LogLevel分為Info,Debug,Warn,Error和Verbose。 ====== 3 應用程序更新 ====== ===== 3.1 上傳APK ===== 這個功能將幫助您把新版的Android應用程序推送給用戶,您只需修改AndroidManifest.xml中的VersionCode,并把應用程序的apk文件上傳到服務器。 ===== 3.2 添加權限 ===== **android.permission.WRITE_EXTERNAL_STORAGE** ===== 3.3 基本功能 ===== 在Android應用程序的入口Activity的onCreate()方法中調用**UmsAgent.update(this)**,應用程序將自動檢測服務端是否有新的版本。 <code java> public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); UmsAgent.update(this); } </code> 考慮到用戶流量的限制,目前我們默認在Wi-Fi介入情況下才進行自動提醒。 ===== 3.4 機制說明 ===== 每次更新Android應用程序,您只需要修改VersionCode,把Android應用程序的apk文件上傳到服務器。UmsAgent.update()方法會判斷是否有新版應用程序,如果發現可更新的應用程序安裝包,會提示用戶是否更新。用戶選擇更新后,安裝包會下載安裝更新。(按照version code來檢測是否需要更新) ====== 4 數據發送 ====== ===== 4.1 模式解釋 ===== * 啟動時發送 應用程序每次只會在啟動時向服務器發送一次消息,在應用程序過程中產生的所有消息都會在下次啟動時候發送。如果應用程序啟動時處在不聯網狀態,那么消息將會緩存在本地,下次再嘗試發送。 * 實時發送(推薦使用) 應用程序每產生條消息時,就立即發送到服務器。這種方式使得計算更及時 ===== 4.2 設置發送模式 ===== 在Android應用程序的入口Activity中調用**UmsAgent.setDefaultReportPolicy(Context,int)**,參數int可取值0或者1,其中1表示實時發送,0表示啟動時發送。 ====== 5 使用在線配置功能 ====== <code java> UmsAgent.updateOnlineConfig(Context)</code> 在Android應用程序的入口Activity的onCreate()方法中調用。SDK將聯網檢測您的在線配置,將這些信息保存在本地。你也可以通過下面的方法讀取您的自定義參數。
razor/android-developer-guide.txt
· 最后更改: 2017/07/14 11:18 (外部編輯)
頁面工具
顯示頁面
修訂記錄
反向鏈接
回到頂部
? Copyright 2012 - 2015
南京西橋科技有限公司
Western Bridge Tech Co., Ltd.
蘇ICP備13039116號-1