首页 > 其他分享 >Android集成友盟推送功能

Android集成友盟推送功能

时间:2022-12-06 10:02:41浏览次数:62  
标签:Token 应用 Device Android 推送 友盟 android


友盟是中国最大的移动开发者服务平台,为移动开发者提供免费的应用统计分析、社交分享、消息推送、自动更新、在线参数、移动推广效果分析、微社区等app开发和运营解决方案。

如何快速集成友盟推送功能:

1. 注册友盟账号

友盟开发者账号的注册地址:http://www.umeng.com/users/sign_up

2. 创建推送应用

首先进入友盟消息推送的应用中心,创建一个应用,链接地址为:http://message.umeng.com/appList。

应用创建完成后,点击应用名称进入应用详情页面,进入“应用信息”页面,可以看到应用的AppKey和AppMasterSecret。

Android集成友盟推送功能_包名

3. 下载Android SDK

友盟消息推送android SDK下载地址:

​http://dev.umeng.com/push/ios/sdk-download​

4. 集成开发

参考http://dev.umeng.com/push/android/integration进行集成开发。

4.1 导入SDK所需的jar包

导入jar包的过程中,如果是ADT 17或者以上的版本,只需要将com.umeng.message.lib.jar直接复制到项目的libs下面,这样做之后,ADT能自动找到所有在libs文件夹下的JAR包,把他们加到工程的依赖路径中,并直接显示在Android Dependecies分类下。

切记,右键​​Properties -> Java Build Path -> Libraries​​​,然后点击​​Add External JARs...​​​ 选择指向jar的路径,点击​​OK​​​​,这种方式导入后,会出现异常,具体原因请参考​

4.2 配置AndroidManifest.xml,添加相应的权限

Android集成友盟推送功能_包名_02

4.3 添加组件

在application标签下,注意将[应用包名]换成自己的应用的包名:

<receiver
android:name="com.umeng.message.NotificationProxyBroadcastReceiver"
android:exported="false" >
</receiver>
<receiver android:name="com.umeng.message.RegistrationReceiver" >
<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>


<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>

</receiver>
<receiver android:name="com.umeng.message.UmengBroadcastReceiver" >
<intent-filter>
<action android:name="org.agoo.android.intent.action.RECEIVE" />
</intent-filter>
<intent-filter>
<action android:name="【应用包名】.intent.action.COMMAND" />
</intent-filter>
<intent-filter>
<action android:name="org.agoo.android.intent.action.RE_ELECTION_V2" />
</intent-filter>
</receiver>
<receiver android:name="com.umeng.message.BootBroadcastReceiver" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
可以根据需要自行设置 android:label 中的服务名 :
<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" />
</intent-filter>
</service>
<service
android:name="org.android.agoo.service.ElectionService"
android:exported="true"
android:process=":pushService_v1" >
<intent-filter>
<action android:name="org.agoo.android.intent.action.ELECTION_V2" />
</intent-filter>
</service>
<service android:name="com.umeng.message.UmengIntentService" />
<!-- V1.3.0添加的service,负责下载通知的资源 -->
<service android:name="com.umeng.message.UmengDownloadResourceService" />

4.4 添加AppKey和Umeng Message Secret

在​​<application>​​标签下:

<meta-data
android:name="UMENG_APPKEY"
android:value="你的APPKEY" >
</meta-data>
<meta-data
android:name="UMENG_MESSAGE_SECRET"
android:value="你的Umeng Message Secret" >
</meta-data>

5. 添加代码,编译测试

5.1 在应用的主Activity ​​onCreate()​

PushAgent mPushAgent = PushAgent.getInstance(context);
mPushAgent.enable();
PushAgent mPushAgent = PushAgent.getInstance(context);
mPushAgent.enable();

5.2 获取设备的Device Token(可选)

如果在测试或其他使用场景中,需要获取设备的Device Token,可以使用下面的方法。

String device_token = UmengRegistrar.getRegistrationId(context)
String device_token = UmengRegistrar.getRegistrationId(context)

说明

  • Device Token为友盟生成的用于标识设备的id,长度为44位,不能定制和修改。同一台设备上每个应用对应的Device Token不一样。
  • 获取Device Token的代码需要放在

mPushAgent.enable();

  • 后面,注册成功以后调用才能获得Device Token。
  • 如果返回值为空, 说明设备还没有注册成功, 需要等待几秒钟,同时请确保测试手机网络畅通。


5.3 添加测试设备

Android集成友盟推送功能_包名_03

Device Token可以通过5.2的步骤获取

5.4 发送测试消息

在测试消息下新建测试消息:

Android集成友盟推送功能_消息推送_04

确保测试设备网络畅通后,消息推送成功:

Android集成友盟推送功能_消息推送_05

测试成功!

标签:Token,应用,Device,Android,推送,友盟,android
From: https://blog.51cto.com/u_11407799/5914583

相关文章

  • Android PullToRefresh上拉和下拉刷新
    Github链接:​​https://github.com/chrisbanes/Android-PullToRefresh​​GUIDE:​​https://github.com/chrisbanes/Android-PullToRefresh/wiki/Quick-Start-Guide​​1.......
  • Android Widget 小部件(二) 使用configure
    在添加Widget之前需要做一些处理操作,可以使用 配置活动在​​上一篇​​的实现基础上,加上配置活动(configure=activity)。这时添加Widget时,会先打开一个Activity,进行配置操......
  • Android高仿网易新闻客户端之首页
    关于实现网易新闻客户端的界面,以前写过很多博客,请参考:​​Android实现网易新闻客户端效果​​​​Android实现网易新闻客户端侧滑菜单(一)​​​​Android实现网易新闻客户端......
  • Android高仿网易新闻客户端之侧滑菜单
    承接上一篇文章:​​Android高仿网易新闻客户端之动态添加标签​​,今天实现侧滑菜单的效果。关于侧滑菜单,有很多种实现方式:1.自定义ViewGroup请参考:​​Android实现网易新......
  • Android 自定义标题栏Title Bar
    在Android自定义标题栏,步骤很简单:1.在onCreate方法中声明如下代码:requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);setContentView(R.id.activity_main);getWindow().......
  • 《“透视”个人大数据》项目开发小记 --(三)Android APP 开发(1)技术经验总结
       项目的AndroidAPP应用软件经过不断实践改进,技术上已逐渐成熟,这为进一步的提升及新项目的开发奠定了基础。开发过程中积累的一些技术和经验将渐次的与同行分享。......
  • android开发内存泄漏分析步骤总结
    思路:复现泄漏步骤,dumphprof文件,用MAT工具分析大对象的引用链。操作步骤:1、adbshell进入Android系统2、amdumpheap[进程名]/data/local/tmp/temp.hprof3、另起......
  • java对接webservice服务实现推送
    【背景】  前不久接到一个任务需要将我们平台的内容推送到第三方的一个webService服务中,我们平台接口使用java来做的,所以需要通过java调用webService服务实现推送效果,不......
  • Android实现图片的倒影效果
    原理:原图和倒影图分解成两个Bitmap,倒影的Bitmap设计为原图的高度一半,宽度一致。然后创建一个可变空的Bitmap,宽度跟原图保持一致,宽度为原图的1.5倍(宽度包括原图和倒影图......
  • Android基础面试题
    1. 转屏时候Activity的生命周期1.1新建一个Activity,并把各个生命周期打印出来1.2运行Activity,得到如下信息onCreate-->onStart-->onResume-->1.3按crtl+f12切换成横屏......