教你实现简单的极光推送-Eclipse

通过极光推送,我们可以主动及时地向用户发送消息,提醒,进度等。

只需要简单的SDK集成方式,我们就可以实现这一功能 :

1.打开http://https://www.jiguang.cn/app/list注册自己的账号,选择创建应用

就可以得到自己的AppKey啦~


2.进入http://http://docs.jiguang.cn/resources/,进行SDK的下载

3.解压缩 jpush-android-release-2.x.y.zip 集成压缩包。

   复制 libs/jpush-sdk-2.x.y.jar 到工程 libs/ 目录下。

   复制 libs/(cpu-type)/libjpush2xy.so 到你的工程中存放对应cpu类型的目录下。

   复制 res/ 中drawable-hdpi, layout, values文件夹中的资源文件到你的工程中 res/ 对应的目录下。

4.配置AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>  
   <manifest xmlns:android="http://schemas.android.com/apk/res/android"  
       package="您应用的包名"  
       android:versionCode="216"  
       android:versionName="2.1.6"  
   >  
       <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="23" />  
  
       <!-- Required -->  
       <permission   
           android:name="您应用的包名.permission.JPUSH_MESSAGE"    
           android:protectionLevel="signature" />  
  
       <!-- Required -->  
       <uses-permission android:name="您应用的包名.permission.JPUSH_MESSAGE" />  
       <uses-permission android:name="android.permission.RECEIVE_USER_PRESENT" />  
       <uses-permission android:name="android.permission.INTERNET" />  
       <uses-permission android:name="android.permission.WAKE_LOCK" />  
       <uses-permission android:name="android.permission.READ_PHONE_STATE" />  
       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />  
       <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />  
       <uses-permission android:name="android.permission.VIBRATE" />  
       <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />  
       <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  
       <uses-permission android:name="android.permission.WRITE_SETTINGS" />   
  
       <!-- Optional. Required for location feature -->  
       <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />  
       <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />  
       <uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />  
       <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />  
       <uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />  
       <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />  
  
       <application  
           android:icon="@drawable/ic_launcher"  
           android:label="@string/app_name"  
           android:name="Your Application">  
  
           <!-- Required SDK 核心功能-->  
           <!-- option since 2.0.5 可配置PushService,DaemonService,PushReceiver,AlarmReceiver的android:process参数 将JPush相关组件设置为一个独立进程 -->  
           <!-- 如:android:process=":remote" -->  
           <service  
               android:name="cn.jpush.android.service.PushService"  
               android:enabled="true"  
               android:exported="false" >  
               <intent-filter>  
                   <action android:name="cn.jpush.android.intent.REGISTER" />  
                   <action android:name="cn.jpush.android.intent.REPORT" />  
                   <action android:name="cn.jpush.android.intent.PushService" />  
                   <action android:name="cn.jpush.android.intent.PUSH_TIME" />  
               </intent-filter>  
           </service>  
  
           <!-- since 1.8.0 option 可选项。用于同一设备中不同应用的JPush服务相互拉起的功能。 -->  
           <!-- 若不启用该功能可删除该组件,将不拉起其他应用也不能被其他应用拉起 -->  
            <service  
                android:name="cn.jpush.android.service.DaemonService"  
                android:enabled="true"  
                android:exported="true">  
                <intent-filter >  
                    <action android:name="cn.jpush.android.intent.DaemonService" />  
                    <category android:name="您应用的包名"/>  
                </intent-filter>  
            </service>  
  
           <!-- Required -->  
           <receiver  
               android:name="cn.jpush.android.service.PushReceiver"  
               android:enabled="true" >  
               <intent-filter android:priority="1000">   
                   <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />   
                   <category android:name="您应用的包名"/>   
               </intent-filter>  
               <intent-filter>  
                   <action android:name="android.intent.action.USER_PRESENT" />  
                   <action android:name="android.net.conn.CONNECTIVITY_CHANGE" />  
               </intent-filter>  
               <!-- Optional -->  
               <intent-filter>  
                   <action android:name="android.intent.action.PACKAGE_ADDED" />  
                   <action android:name="android.intent.action.PACKAGE_REMOVED" />  
                   <data android:scheme="package" />  
               </intent-filter>  
           </receiver>  
  
            <!-- Required SDK核心功能-->  
           <activity  
               android:name="cn.jpush.android.ui.PushActivity"  
               android:configChanges="orientation|keyboardHidden"  
               android:exported="false" >  
               <intent-filter>  
                   <action android:name="cn.jpush.android.ui.PushActivity" />  
                   <category android:name="android.intent.category.DEFAULT" />  
                   <category android:name="您应用的包名" />  
               </intent-filter>  
           </activity>  
  
           <!-- Required SDK核心功能-->  
           <service  
               android:name="cn.jpush.android.service.DownloadService"  
               android:enabled="true"  
               android:exported="false" >  
           </service>  
           <!-- Required SDK核心功能-->  
           <receiver android:name="cn.jpush.android.service.AlarmReceiver" />  
  
  
           <!-- Required. For publish channel feature -->  
           <!-- JPUSH_CHANNEL 是为了方便开发者统计APK分发渠道。-->  
           <!-- 例如: -->  
           <!-- 发到 Google Play 的APK可以设置为 google-play; -->  
           <!-- 发到其他市场的 APK 可以设置为 xxx-market。 -->  
           <!-- 目前这个渠道统计功能的报表还未开放。-->  
           <meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>  
           <!-- Required. AppKey copied from Portal -->  
           <meta-data android:name="JPUSH_APPKEY" android:value="Your AppKey"/>   
       </application>  

5.在工程的混淆文件-proguard-project.txt中添加以下配置:

-dontoptimize
-dontpreverify

-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }
6. 以下代码定制一个本应用程序 Application 类。需要在 AndoridManifest.xml 里配置。请参考上面 AndroidManifest.xml 片断

package com.example.notify;

import cn.jpush.android.api.JPushInterface;
import android.app.Application;

public class MyApp extends Application {
@Override
public void onCreate() {
super.onCreate();
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
}
}

确认所需权限都已添加,若未全部添加,日志会提示错误

确认包名和AppKey已正确写入AndoridManifest.xml 

7.可以开始发送啦~~

找到自己创建的应用,选择推送,就可以随意发送消息啦 



希望本文对大家有用,不喜勿喷,撒花~

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值