Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android項目集成信鴿推送過程詳解

Android項目集成信鴿推送過程詳解

編輯:關於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進行修改。

 

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