首页 > 程序开发 > 移动开发 > Android >

Android项目集成信鸽推送过程详解

2016-09-02

推送现在在移动项目开发中已经很常见了,比较常见的推送方式有小米推送、极光推送和个推,今天我们所讲解的是Tencent的信鸽推送在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进行修改。

相关文章
最新文章
热点推荐