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);
        /**设备号**/

更多内容见官方文档

相关文章推荐

umeng友盟消息推送sdk集成

  • 2016年09月20日 13:46
  • 4.95MB
  • 下载

cocos2d-x集成友盟消息推送SDK(Android版)

前言:自己摸索研究友盟消息推送功能,Android和ios平台均测试通过。记录下来以备忘。中间踩了不少坑,尤其是ios关于证书的坑。友盟官方文档Android部分写得比较详尽,ios部分写得比较烂。本...

友盟消息推送android

  • 2016年12月24日 12:37
  • 33.83MB
  • 下载

Android友盟消息推送配置——eclipse

android配置友盟消息推送

友盟+消息推送Demo

  • 2017年09月28日 10:17
  • 4.42MB
  • 下载

友盟消息推送

  • 2015年10月14日 15:34
  • 6.98MB
  • 下载

Android友盟消息推送

1. 申请应用消息推送账号 集成SDK之前, 请在 http://message.umeng.com 创建应用,获取应用对应的AppKey和Umeng Message Secret。并将自己服务器i...

Android 友盟第三方消息推送使用

1.首先你得有一个友盟的账号友盟官网 2.注册了账号之后要注册应用 这里要注意的信息 3.下载友盟消息推送sdk友盟推送sdk下载地址 4.准备工作都做好之后可以进行环境配置了 ...

友盟 - iOS 消息推送 (Message) 证书设置指南

转自:http://dev.umeng.com/message/ios/license-configuration-guide 本文档包括: 创建App ID创建并配置Provisio...
  • gf771115
  • gf771115
  • 2015年01月07日 14:56
  • 16136
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android studio集成友盟v2.3消息推送
举报原因:
原因补充:

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