android JMessage集成
来源:互联网 发布:电子书设计软件 编辑:程序博客网 时间:2024/06/05 19:10
认识极光IM
极光IM – JMessage,帮助 App 解决应用内聊天和跨应用聊天问题,开发者可集成SDK,快速实现稳定可靠的聊天功能。目前提供 iOS / Android / web 的 SDK,以及 Rest API 和后台管理系统,满足开发者不同场景下的需求,大大减少开发成本,提高效率。
模块化的极光开发者SDK
模块化的极光,一个JCore+N个服务,如图:
JMessage 与JPush的区别
Jpush仅是向设备推送消息,而JMessage 除了推送还可以跟用户交互、聊天
IM与JPush的架构
IM的集成
- 注册一个极光账号,登录进去,创建一个应用
- 下载相应的包,解压缩 jmessage-sdk-android-2.X.Y.zip 集成压缩包。
复制 libs/jcore-android_v1.X.Y.jar 到工程 libs/ 目录下。
复制 libs/jmessage-android_2.X.Y.jar 到工程 libs/ 目录下。
复制 libs/(cpu-type)/libjcore1xy.so 到你的工程中存放对应cpu类型的目录下。
添加配置:
android { ...... sourceSets { main { jniLibs.srcDirs = ['libs'] ...... } ...... } ...... }
配置 AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?><manifest package="您自己的包名" xmlns:android="http://schemas.android.com/apk/res/android" android:versionCode="2" android:versionName="1.0.1"> <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" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- Optional. Required for location feature --> <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" /> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> <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_WIFI_STATE" /> <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <uses-permission android:name="android.permission.GET_TASKS" /> <application android:name="Your Application Name" android:icon="@mipmap/ic_launcher" android:label="@string/app_name"> <!-- Required SDK 核心功能--> <!-- 可配置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核心功能--> <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" /> <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" android:exported="false" /> <!-- Required JMessage SDK核心功能--> <receiver android:name="cn.jpush.im.android.helpers.IMReceiver" android:enabled="true" android:exported="false"> <intent-filter android:priority="1000"> <action android:name="cn.jpush.im.android.action.IM_RESPONSE" /> <action android:name="cn.jpush.im.android.action.NOTIFICATION_CLICK_PROXY" /> <category android:name="您自己的包名" /> </intent-filter> </receiver> <!-- 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="您自己的appkey" /> </application></manifest>
- 初始化sdk
JMessageClient.init(Context context)
极光开发者:https://docs.jiguang.cn/
0 0
- android JMessage集成
- JMessage Android 端开发详解
- JMessage Android 端开发详解
- 如何集成极光JPUSH和Jmessage
- React Native 集成原生极光JMessage 踩坑
- Android——极光推送JMessage
- Android-IM使用imui组件结合JMessage实现即时消息对话
- 极光JMessage
- android集成facebook
- Android与Mina集成
- Android集成测试
- Android集成常见问题
- Android Eclipse集成NDK
- Android与Mina集成
- android集成phonegap方法
- Android持续集成
- Android持续集成
- Unity集成android插件
- MySQL数据恢复的九把瑞士军刀
- Implement Queue by Two Stacks 解题报告
- ubuntu 工具 安装笔记
- 在微信网页中,实现微信通过菜单‘在浏览器中打开’跳转到指定的url
- repo 获取各个库的tag代码
- android JMessage集成
- linux中ldconfig命令 以及 添加动态库自动搜索路径
- Linux管线命令之排序命令(sort, wc, uniq)
- 轮廓的查找、表达、绘制、特性及匹配(How to Use Contour? Find, Component, Construct, Features & Match)
- 【Unity3D】对话
- 兄弟单词
- javabean
- 自定义jquery小工具
- 34. Search for a Range