1、注册成为极光开发者,极光开发者平台官方网站:https://www.jiguang.cn/
2、登录极光开发者平台,进入开发者服务,创建应用。
填写相关信息,应用icon,应用名称。
创建成功,点击"设置",会查看到应用详细信息,这里,我们需要用到的有AppKey,Master Secret等。
3、下载客户端SDK资源文件,下载地址:https://www.jiguang.cn/downloads/sdk/android,这里选择下载Android SDK。解压之后,文件结构如下图:
4、新建Android Application项目。在项目根路径下新建libs文件夹,并将下载的sdk解压,将libs目录下的jcore-android-1.2.1.jar和jpush-android-3.1.3.jar放入libs目录下,会自动加入到类路径下。
5、配置AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.xxx.hello"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="24"
android:targetSdkVersion="27" />
<!-- permission -->
<permission
android:name="com.xxx.hello.permission.JPUSH_MESSAGE"
android:protectionLevel="signature" />
<!-- uses-permission -->
<uses-permission android:name="com.xxx.hello.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"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/>
<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"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<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>
<provider
android:authorities="com.xxx.hello.DataProvider"
android:name="cn.jpush.android.service.DataProvider"
android:exported="true"/>
<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="com.xxx.hello"/>
</intent-filter>
</service>
<provider
android:authorities="com.xxx.hello.DownloadProvider"
android:name="cn.jpush.android.service.DownloadProvider"
android:exported="true"
/>
<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="com.xxx.hello"/>
</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>
<activity
android:name="cn.jpush.android.ui.PushActivity"
android:configChanges="orientation|keyboardHidden"
android:theme="@android:style/Theme.NoTitleBar"
android:exported="false" >
<intent-filter>
<action android:name="cn.jpush.android.ui.PushActivity" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.xxx.hello" />
</intent-filter>
</activity>
<activity
android:name="cn.jpush.android.ui.PopWinActivity"
android:configChanges="orientation|keyboardHidden"
android:exported="false"
android:theme="@style/MyDialogStyle">
<intent-filter>
<category android:name="android.intent.category.DEFAULT" />
<category android:name="com.xxx.hello" />
</intent-filter>
</activity>
<service
android:name="cn.jpush.android.service.DownloadService"
android:enabled="true"
android:exported="false" >
</service>
<receiver android:name="cn.jpush.android.service.AlarmReceiver" />
<meta-data android:name="JPUSH_CHANNEL" android:value="developer-default"/>
<meta-data android:name="JPUSH_APPKEY" android:value="c0d8228a8fb1e65ec9794bcb"/>
</application>
</manifest>
6、在MainActivity.java文件中初始化推送接口,主要代码如下。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
JPushInterface.setDebugMode(true);
JPushInterface.init(this);
Log.e("MainActivity", "main activity start ok");
}
7、将相关资源从下载的sdk解压文件中拷贝到项目路径下。
so文件:libs/armeabi,libs/armeabi-v7a,libs/x86_64三个文件夹,放入项目的libs文件夹下。
layout文件:res/layout/jpush_popwin_layout.xml,res/layout/jpush_webview_layout.xml放入项目res/layout目录下。
values文件:res/values/jpush_style.xml放入项目res/values目录下。
drawable文件:res/drawable-hdpi文件夹下的文件放入项目res/drawable-hdpi文件夹下。
8、启动应用,连接手机测试。
logcat下看到应用启动信息。
MainActivity中的日志
9、在开发者平台发送消息给应用。
进入应用管理,选择第二步创建的应用,点击推送,进入推送页面,选择发送通知。
接下来,填写推送内容,并选择推送目标平台Android。
点击页面底部“立即发送”,出现推送对话框。
点击“立即推送”,推送成功,会提示如下:
接下来,查看手机通知栏,正常的情况下,会出现一条消息。
10、恭喜您,已经成功接入极光SDK安卓客户端。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)