npm install react-native-tim使用方法见index.js
npm install @anren/react-native-tim
rnpm link
- CoreTelephony.framework
- SystemConfiguration.framework
- libc++
- libz
- libsqlite3
####离线推送配置
1.首先要在工程->Build Settings->Header Search Paths中添加模块所在位置:$(SRCROOT)/../node_modules/react-native-tim/ios,设置为recursive.
2.AppDelegate.m中添加头文件#import "RCTTIM/RCTTIMPush.h"
3.在AppDelegate.m的didFinishLaunchingWithOptions方法中添加如下代码,注意如果有其他推送模块已经添加了获取token的相关代码,则不需要填写。
//didFinishLaunchingWithOptions方法中添加获取token代码
- (BOOL)application:(UIApplication )application didFinishLaunchingWithOptions:(NSDictionary )launchOptions
{
...
[RCTTIMPush registerForRemoteNotifications];
...
}
4.添加如下三个方法:
//收到token,将token级busiId传递给RCTTIM模块。busiID为腾讯分配,
- (void)application:(UIApplication )application didRegisterForRemoteNotificationsWithDeviceToken:(NSData )deviceToken {
#if DEBUG
//开发环境
[RCTTIMPush registerDeviceToken:deviceToken withBusiId:TIM_BUSIID_DEV];
#else
//生产环境
[RCTTIMPush registerDeviceToken:deviceToken withBusiId:TIM_BUSIID_PRO];
#endif
}
//收到通知
- (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo {
[RCTTIMPush didReceiveNotification:userInfo];
}
//收到通知(for ios7)
- (void)application:(UIApplication )application didReceiveRemoteNotification:(NSDictionary )userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
[RCTTIMPush didReceiveNotification:userInfo];
}
AndroidManifest.xml 中添加以下权限
并在
android:exported="false"
android:process=":QALSERVICE" >
android:exported="false"
android:process=":QALSERVICE" >
android:exported="false">
android:process=":QALSERVICE">
MainApplication.java的添加如下代码
//getPackages添加下面一行,参数代表图标icon资源ID
new TIMPackage(R.mipmap.ic_launcher)
消息共分为两部分:
- 消息基础信息
- 消息元素
示例如下:
// message struct
{
msgId: 'sadfasdf', //消息id
isSelf: false, //是否自己发送
hasGap: false, //是否存在消息断层,如果存在建议调用getMessage获取丢失消息。
eleCount: 1, //消息元素个数
isReaded: false, //是否已读
sender: 'asdasd' //发送者id
timestamp: 1239012309, //创建时间
elems: [ //消息元素,数组,可能多个
//文本元素
{
type:'text',
data:'hello world.'
}
]
}
消息元素有以下几种类型:
- text 文本信息
- custom 自定义信息,子类型为image,audio及其他命令信息
- groupSystem 群系统消息,子类型(subType字段)参见腾讯官网
- groupTips 群提示信息,子类型(subType字段)参见腾讯官网
>以上信息分别有不同的结构,具体参见官网。