編輯:關於Android編程
推送現在在移動項目開發中已經很常見了,比較常見的推送方式有小米推送、極光推送和個推,今天我們所講解的是Tencent的信鴿推送在Android上的應用。
一、信鴿Android項目環境搭建
1、下載信鴿推送SDK,並集成到自己項目中。
地址:http://xg.qq.com/xg/help/ctr_help/download
2、配置AndroidManifest.xml,詳情可參加官網開發文檔(完全參照也未必成功),可參照我上傳的文件更改或者參照官方的Demo進行集成。謹記:坑太深,會淹死。
官方文檔地址:http://developer.qq.com/wiki/xg/Android%E6%8E%A5%E5%85%A5/Android%20SDK%E5%BF%AB%E9%80%9F%E6%8E%A5%E5%85%A5/Android%20SDK%E5%BF%AB%E9%80%9F%E6%8E%A5%E5%85%A5.html
二、注冊項目信鴿ID以及Key。
1、注冊地址:http://xg.qq.com/xg/apps/ctr_app/reg
2、按照提示完成注冊,注冊成功後在“配置信息”中找到ACCESS ID和ACCESS KEY的值。
3、將得到的ACCESS ID和ACCESS KEY的值更換到AndroidManifest.xml中。
下面提供本人在測試中的完整AndroidManifest.xml文件,僅供參考
三、代碼開發
1、完成信鴿服務的啟動和APP注冊(常見傳統方法)。
// 開啟logcat輸出,方便debug,發布時請關閉 // XGPushConfig.enableDebug(this, true); // 如果需要知道注冊是否成功,請使用registerPush(getApplicationContext(), XGIOperateCallback)帶callback版本 // 如果需要綁定賬號,請使用registerPush(getApplicationContext(),account)版本 // 具體可參考詳細的開發指南 // 傳遞的參數為ApplicationContext Context context = getApplicationContext(); XGPushManager.registerPush(context); // 2.36(不包括)之前的版本需要調用以下2行代碼 Intent service = new Intent(context, XGPushService.class); context.startService(service); // 其它常用的API: // 綁定賬號(別名)注冊:registerPush(context,account)或registerPush(context,account, XGIOperateCallback),其中account為APP賬號,可以為任意字符串(qq、openid或任意第三方),業務方一定要注意終端與後台保持一致。 // 取消綁定賬號(別名):registerPush(context,"*"),即account="*"為取消綁定,解綁後,該針對該賬號的推送將失效 // 反注冊(不再接收消息):unregisterPush(context) // 設置標簽:setTag(context, tagName) // 刪除標簽:deleteTag(context, tagName)
2、完成信鴿服務的啟動和APP注冊(打印Log信息)。
//為測試方便設置,發布上線時設置為false XGPushConfig.enableDebug(this, true); //注冊方法 XGPushManager.registerPush(this, new XGIOperateCallback() { @Override public void onSuccess(Object data, int flag) { Log.v("TPush", "注冊成功,Token值為:" + data); } @Override public void onFail(Object data, int errCode, String msg) { Log.v("TPush", "注冊失敗,錯誤碼為:" + errCode + ",錯誤信息:" + msg); } });
圖1、成功注冊啟動服務效果圖
3、獲取推送消息
@Override protected void onStart() { super.onStart(); XGPushClickedResult clickedResult = XGPushManager.onActivityStarted(this); if(clickedResult != null){ String title = clickedResult.getTitle(); Log.v("TPush", "title:" + title); String id = clickedResult.getMsgId() + ""; Log.v("TPush", "id:" + id); String content = clickedResult.getContent(); Log.v("TPush", "content:" + content); } }
四、信鴿Web推送步驟
1、在信鴿Web頁面進行消息推送
2、推送成功返回值
3、客戶端接收信息
五、環境搭建常見問題
1.
出現該問題是因為你項目裡面其他地方也有supportV4的包,刪除掉libs中的那個v4包即可解決問題。
2.
Eclipse和AS的開發不一樣,該提示是說AS中找不到庫文件,因為AS是不能直接識別這些文件的,添加.so文件需在build.gradle中修改配置文件
3.
原因:XG的服務沒有定義
解決方案:
1、檢查ApplicationId和包名是否一致。
2、莫名原因若干,上述方案若未解決,推薦最好使用官方提供Demo將AndroidManifest.xml進行修改。
本文實例為大家分享了Android 登錄、找回密碼、注冊功能的實現代碼,供大家參考,具體內容如下1.數據庫的設計我在數據庫中添加了兩張表,一張表用來存儲用戶信息,諸如用戶
前面文章介紹了如何使用JAVA的反射機制來調用藍牙的隱藏API,本文繼續來練習JAVA的反射機制,探秘TelephonyManager在Framework裡包含卻在SDK
Android 中下拉列表選擇,提供了控件Spinner,現做一個小總結,以備使用。從1.Spinner屬性2.設置Spinner的adapter說起。1.Spinner
ButterKnife的最新版本是8.4.0。首先,需要導入ButterKnife的jar包。在AndroidStudio中,File->Project Struc