极光推送的详细步骤,闲话不多说了,直接开始~
1.进入极光网站:www.jiguang.cn,注册一个账户,公司名什么都随便写就行,邮箱必须要真实的,要接受激活码,登陆以后,找到极光推送,点击了解详情。如下图:
2.进入以后会提示创建一个应用,注意:创建应用的name随便写,包名必须与所创建的项目包名一致。
创建完成以后在网站上方有一个应用设置,点开以后出现应用信息,这里的标记的APPKey是在清单文件中将要用到的
3.下载Android SDK,如下图:
点开以后会出现一个文档,点开SDK 下载页面下载:
点击下载:
下载完成以后解压:
下一步把下载完成的libs,res中layout,values的所有内容都拷贝到自己对应的包里。如图:
现在可以开始SDK的集成了,接下来就根据官方的文档开始操作
1.配置 AndroidManifest.xml
主要步骤:
复制备注为”Required“的部分 ,
将备注为天替换包名的部分,替换成自己的包名,
将APPKEY替换为应用提供的KEY
- <manifest xmlns:android="http://schemas.android.com/apk/res/android"
- package="您应⽤用的包名"
- android:versionCode="205"
- android:versionName="2.0.5" >
- <uses-sdk
- android:minSdkVersion="11"
- android:targetSdkVersion="17" />
- <!-- 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.WRITE_SETTINGS" />
- <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.ACCESS_WIFI_STATE" />
- <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
- <!-- Optional for location -->
- <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
- <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:name="这里是自己写的继承Application的类"
- android:icon="@drawable/ic_launcher"
- android:label="@string/app_name" >
- <!-- Required SDK核⼼心功能 -->
- <activity
- android:name="cn.jpush.android.ui.PushActivity"
- android:configChanges="orientation|keyboardHidden"
- android:exported="false"
- android:theme="@android:style/Theme.NoTitleBar" >
- <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 核⼼心功能 -->
- <!-- option since 2.0.5 可配置android:process 参数将PushService设置为独⽴立进程 -->
- <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>
- <!-- Required SDK 核⼼心功能 since 1.8.0 -->
- <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 SDK核⼼心功能 -->
- <receiver
- android:name="cn.jpush.android.service.PushReceiver"
- android:enabled="true"
- android:exported="false" >
- <intent-filter android:priority="1000" >
- <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED_PROXY" />
- <!-- Required 显⽰示通知栏 -->
- <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核⼼心功能 -->
- <receiver android:name="cn.jpush.android.service.AlarmReceiver" />
- <!-- User defined. ⽤用户⾃自定义的⼲⼴广播接收器 -->
- <receiver
- android:name="您⾃自⼰己定义的Receiver"
- android:enabled="true" >
- <intent-filter>
- <action android:name="cn.jpush.android.intent.REGISTRATION" />
- <!-- Required ⽤用户注册SDK的intent -->
- <action android:name="cn.jpush.android.intent.UNREGISTRATION" />
- <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" />
- <!-- Required ⽤用户接收SDK消息的intent -->
- <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" />
- <!-- Required ⽤用户接收SDK通知栏信息的intent -->
- <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" />
- <!-- Required ⽤用户打开⾃自定义通知栏的intent -->
- <action android:name="cn.jpush.android.intent.ACTION_RICHPUSH_CALLBACK" />
- <!-- Optional ⽤用户接受Rich Push Javascript 回调函数的intent -->
- <action android:name="cn.jpush.android.intent.CONNECTION" />
- <!-- 接收⺴⽹网络变化 连接/断开 since 1.6.3 -->
- <category android:name="您应⽤用的包名" />
- </intent-filter>
- </receiver>
- <!-- Required . Enable it you can get statistics data with channel -->
- <meta-data
- android:name="JPUSH_CHANNEL"
- android:value="developer-default" />
- <meta-data
- android:name="JPUSH_APPKEY"
- android:value="您的Appkey" />
- <!-- </>值来⾃自开发者平台取得的AppKey -->
- </application>
2.配置混淆文件proguard-project.txt(在清单文件的下面第3个)
打开
proguard-project.txt在最下面粘贴:
<span style="font-size:18px;">-dontoptimize
-dontpreverify
-dontwarn cn.jpush.**
-keep class cn.jpush.** { *; }</span>
3.创建一个类继承本应用程序的Application类.
<span style="font-size:18px;">public class appDemo extends Application{
public void onCreate() {
super.onCreate();
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
}
} </span>
然后这样就完成了~
这样就可以去官网,发送消息了。看图:
你还可以通过——富媒体消息——发送模板、红包、URL三种模式的消息,注意的是发送与接收者必须都有网络,否则只会提示发送成功,而接收不到推送消息。
以上就是简单的消息推送~写的不好请勿喷~谢谢