android studio集成友盟v2.3消息推送

原创 2015年07月08日 20:10:58

1,下载友盟的sdk,将压缩包下的libs下的内容复制到工程的libs下下载地址

2,本SDK需要最新版本的 android-support-v4.jar 支持包。eclipse用户,直接导入jar包。sudio用户在build.gardle里加入v4支持,如下代码

dependencies {

    compile fileTree(include: ['*.jar'], dir: 'libs')
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile files('libs/android-support-v4.jar')
}

3, 配置AndroidManifest.xml

3.1  添加权限
在<manifest>标签下:

<!-- 权限声明开始-->
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

<!--【可选】如果需要设置前台是否显示通知,需要设置这个权限-->
<uses-permission android:name="android.permission.GET_TASKS" />

<!-- 可选 -->
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_ADDED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_CHANGED" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_INSTALL" />
<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REPLACED" />
<uses-permission android:name="android.permission.RESTART_PACKAGES" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />;
<!-- 权限声明结束-->
3.2  添加组件
在<application>标签下:
    注意     添加组件时需要将【应用包名】替换为你自己应用的包名。

<!--友盟消息推送server声明开始-->
<receiver
    android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
    android:process=":push"
    android:exported="false" >
</receiver>
<receiver
    android:name="com.umeng.message.SystemReceiver"
    android:process=":push" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.intent.action.PACKAGE_REMOVED" />
        <data android:scheme="package" />
    </intent-filter>
</receiver>
<receiver
    android:name="com.umeng.message.MessageReceiver"
    android:process=":push" >
    <intent-filter>
        <action android:name="org.agoo.android.intent.action.RECEIVE" />
    </intent-filter>
</receiver>
<receiver
    android:name="com.umeng.message.ElectionReceiver"
    android:process=":push" >
    <intent-filter>
        <action android:name="org.agoo.android.intent.action.ELECTION_RESULT_V4" />
        <category android:name="umeng" />
    </intent-filter>
</receiver>
<receiver
    android:name="com.umeng.message.RegistrationReceiver"
    android:exported="false" >
    <intent-filter>
        <action android:name="【应用包名】.intent.action.COMMAND" />
    </intent-filter>
</receiver>
<receiver android:name="com.umeng.message.UmengMessageBootReceiver" >
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>


可以根据需要自行设置 android:label 中的服务名 :

<service
    android:name="com.umeng.message.UmengService"
    android:label="PushService"
    android:exported="true"
    android:process=":push" >
    <intent-filter>
        <action android:name="【应用包名】.intent.action.START" />
    </intent-filter>
    <intent-filter>
        <action android:name="【应用包名】.intent.action.COCKROACH" />
    </intent-filter>
    <intent-filter>
        <action android:name="org.agoo.android.intent.action.PING_V4" />
    <category android:name="umeng" />
    </intent-filter>
</service>
<service android:name="com.umeng.message.UmengIntentService"
    android:process=":push" />
<service
    android:name="com.umeng.message.UmengMessageIntentReceiverService"
    android:process=":push"
    android:exported="true" >
    <intent-filter>
        <action android:name="org.android.agoo.client.MessageReceiverService" />
    </intent-filter>
    <intent-filter>
        <action android:name="org.android.agoo.client.ElectionReceiverService" />
    </intent-filter>
</service>
<!-- V1.3.0添加的service,负责下载通知的资源 -->
<service android:name="com.umeng.message.UmengDownloadResourceService" />
<!--友盟消息推送server声明结束-->
3.3   添加 AppKey 和 Umeng Message Secret
在<application>标签下:

<!--秘钥配置开始-->

<meta-data
    android:name="UMENG_APPKEY"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" >
</meta-data>
<meta-data
    android:name="UMENG_MESSAGE_SECRET"
    android:value="xxxxxxxxxxxxxxxxxxxxxxxxxxxx" >
</meta-data>
<!--秘钥配置结束-->
    说明
    请在http://message.umeng.com创建应用,获取应用对应的AppKey和Umeng Message Secret。

3.4 添加Channel ID
你可以用Channel ID来标识APP的推广渠道,作为推送消息时给用户分组的一个维度。设置方法如下:
在<application>标签下:


<meta-data
    android:name="UMENG_CHANNEL"
    android:value="Channel ID" >
</meta-data>


将"android:value"中的"Channel ID"替换为APP的推广渠道。
或者,通过调用以下代码来设置推广渠道。
mPushAgent.setMessageChannel();
    说明

        若同时在AndroidManifest.xml和代码设置了MessageChannel,则以代码设置的为准。
        若在AndroidManifest.xml和代码里均没有设置,则使用Unknown作为Channel ID。
        你可以使用20位以内的英文和数字为渠道定名(不要使用纯数字)。
        友盟消息推送可以和友盟统计分析共用一个"Channel ID"字段。

4,获取手机在友盟注册的唯一设备号,给后台开发人员。在activity的onCreate()中

        /**设备号**/
        PushAgent mPushAgent = PushAgent.getInstance(this);
        mPushAgent.enable();
        String device_token = UmengRegistrar.getRegistrationId(this);
        System.out.println("设备号="+device_token);
        /**设备号**/

更多内容见官方文档

友盟消息推送(1)

版本: v1.3.0 友盟消息推送组件帮助您实时的推送消息给用户。 注意 消息推送SDK 支持Android 2.2 (API 8)及以上系统。建议在编译和混淆时引用最新版本Andr...
  • MBJMartin
  • MBJMartin
  • 2014年09月23日 14:21
  • 594

在Android studio项目中集成友盟分享

友盟分享,你值得拥有 1.下载SDK 下载最新版本的umeng的SDK.友盟开发者平台 我下的是6.3.1版本 2.导入jar包 双击打开友盟集成工具, 选择你要分享的平台,选...
  • qq_35446886
  • qq_35446886
  • 2017年03月08日 16:25
  • 974

android studio集成友盟v2.3消息推送

1,下载友盟的sdk,将压缩包下的libs下的内容复制到工程的libs下,下载地址 2,本SDK需要最新版本的 android-support-v4.jar 支持包。eclipse用户,直接导入...
  • banana1006034246
  • banana1006034246
  • 2015年07月08日 20:10
  • 945

友盟集成系列之Android Studio 集成友盟SDK

为什么要集成友盟SDk 在企业开发中往往会给开发人员提出很多的开发要求比如做商城APP的时候产品经理希望统计某个商品的购买量或者运营的同事要求你统计APP的启动数,新增客户量,有时候开发人员需要监控A...
  • LUFANZHENG
  • LUFANZHENG
  • 2016年08月20日 15:22
  • 2721

Android Studio集成友盟APP统计

1. 获取AppKey: 如未注册,请先前往友盟官网; 2.导入友盟SDK: 在build.gradle的dependencies中添加:compile 'com.umeng.analytic...
  • UFO00001
  • UFO00001
  • 2017年03月20日 11:55
  • 328

Android集成友盟推送最详细介绍

前言如今大部分应用都会涉及到推送,正好最近的项目推送是我在搞,今天就分享一下我的使用过程。集成方式关于友盟推送的集成方式,文档已经介绍的很详细了,我就不在此多做解释。 友盟推送完整集成过程完全自定义处...
  • Nyb378680049
  • Nyb378680049
  • 2017年07月12日 17:59
  • 1732

Android 友盟集成

官网:友盟官方网站http://www.umeng.com 01. 添加新应用 注册并登陆官方网站,查看相关的集成文档。按照提示在应用管理界面进行新应用的添加。此处主要目的是为了获取AppKe...
  • wangkai1101
  • wangkai1101
  • 2016年11月02日 11:03
  • 1660

cocos 项目 接入友盟 android 推送sdk

对于COCOS 项目,按照友盟的官网文档接入步骤. 是无法成功编译的.所以在这里做个记录.希望对和我一样是android菜鸟的同学有用 我用的SDK版本是最新的 2.7.01.先按照官网的步骤接入....
  • whitehack
  • whitehack
  • 2016年03月06日 21:07
  • 2454

Android Studio集成友盟SDK出现的问题解决及原因分析

在集成友盟新的SDK后,调试开发都正常,但在导出release APK时再次出现(以前一篇类似问题的分析博客)以下问题:Error:Execution failed for task ':app:pa...
  • zhuobattle
  • zhuobattle
  • 2016年04月06日 17:33
  • 4117

android studio集成 百度云推送项目实战 注意事项

APP百度绑定成功时: onBind errorCode=0(成功码) appid=8543666(appid后台生成) userId=1107752540659249906(用户Id) chan...
  • huang3513
  • huang3513
  • 2016年09月20日 16:40
  • 1402
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android studio集成友盟v2.3消息推送
举报原因:
原因补充:

(最多只允许输入30个字)