Commit 00797751 by zhangyunjie

1.2.4.0

parent 36231dc8
......@@ -14,6 +14,8 @@
#import "OffcnIMZYJ1FMDBHandler.h"
#import "OffcnIMPushManager.h"
#import "OffcnPushSDKiOS.h"
@interface AppDelegate ()
@end
......@@ -48,6 +50,12 @@
appkey = @"d5b410cddbcb4f3a972cfdc697daff43";
appsecret = @"b23f77e463ac4e9388b3c0b4ee9b8ed0";
}
//Push SDK初始化并开始通道连接
[[OffcnPushSDKiOS defaultService] setupPushWithIsTest:isTest appkey:appkey appsecret:appsecret];
[[OffcnIMSDKiOS defaultService] setupWithIsTest:isTest appkey:appkey appsecret:appsecret];
//注册系统推送
[OffcnIMPushManager registerOffcnUserNotification];
......@@ -99,6 +107,16 @@
if (self.deviceTokenCallback) {
self.deviceTokenCallback();
}
//注册push推送
[[OffcnPushSDKiOS defaultService] registerWithDeviceToken:deviceToken finished:^(BOOL success, id _Nonnull response, NSString * _Nonnull errorMessage) {
if (success) {
NSLog(@"注册push推送成功");
}else{
NSLog(@"注册push推送失败");
}
}];
}
//注册失败
......
......@@ -8,7 +8,7 @@
Pod::Spec.new do |s|
s.name = 'OffcnIMSDKiOS'
s.version = '1.2.3.5'
s.version = '1.2.4.0'
s.summary = 'OffcnIMSDKiOS.'
s.description = <<-DESC
......
......@@ -9,7 +9,7 @@
#import <UIKit/UIKit.h>
#import "OffcnIMModel.h"
static const NSString *OffcnIMSDKiOSVersion = @"1.2.3.5";
static const NSString *OffcnIMSDKiOSVersion = @"1.2.4.0";
//聊天详情头像点击事件通知
#define kOffcnIMChatInfoHeadIconClickNotification @"kOffcnIMChatInfoHeadIconClickNotification"
......
//
// OffcnPushSDKiOS.h
// OffcnIMSDKiOS
//
// Created by jie 张 on 2022/4/13.
// Copyright © 2022 offcn. All rights reserved.
//
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
//SDK版本号
#define OFFCNPUSHSDKIOS_VERSION @"1.0.0.0"
//监听Push消息通知
#define kOffcnPushSDKiOSRevMsgNotification @"kOffcnPushSDKiOSRevMsgNotification"
//监听Push长链接状态通知
#define kOffcnPushSDKiOSConnectStateNotification @"kOffcnPushSDKiOSConnectStateNotification"
typedef NS_ENUM(NSUInteger, OffcnPushConnectStatus) {
OffcnPushConnectStatusMissingParameter = 201019, //缺少参数
OffcnPushConnectStatusInitializing = 201029, //连接初始化中
OffcnPushConnectStatusInitializingFail = 201030, //连接初始化失败
OffcnPushConnectStatusSuccess = 0, //连接成功
OffcnPushConnectStatusFail = 1, //连接失败
OffcnPushConnectStatusBreak = 2, //连接断开
OffcnPushConnectStatusDisConnectOK = 3, //手动断开成功
OffcnPushConnectStatusReconnect_start = 4, //开始重连
OffcnPushConnectStatusReconnect_success = 5, //重连成功
OffcnPushConnectStatusReconnect_fail = 6, //重连失败
OffcnPushConnectStatusOverLimit = 3001, //连接数量超过限制
OffcnPushConnectStatusUserNoExist = 5002, //用户不存在
OffcnPushConnectStatusTokenInvalid = 5003, //token已失效
OffcnPushConnectStatusKickout = 8002, //账号被踢
};
@interface OffcnPushSDKConnectStateModel : NSObject
@property (nonatomic, assign) OffcnPushConnectStatus pushConnectStatus;//连接状态
@property (nonatomic, copy) NSString *message;
@end
@interface OffcnPushSDKiOS : NSObject
@property (nonatomic, assign) OffcnPushConnectStatus pushConnectStatus;//连接状态
//单例
+(OffcnPushSDKiOS *)defaultService;
/// Push SDK初始化并开始通道连接
/// @param isTest 是否选用测试环境
/// @param appkey 创建APP时获取的appkey
/// @param appsecret 创建APP时获取的appsecret
-(void)setupPushWithIsTest:(BOOL)isTest appkey:(NSString *)appkey appsecret:(NSString *)appsecret;
/// 注册该设备的deviceToken
/// @param deviceToken 设备deviceToken
/// @param finished 结果回调
-(void)registerWithDeviceToken:(NSData *)deviceToken finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 注销该设备的deviceToken
/// @param finished 结果回调
-(void)unRegisterDeviceTokenFinished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 绑定账号
/// @param accid 用户账号id
/// @param finished 结果回调
-(void)bindWithAccid:(NSString *)accid finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 解绑账号
/// @param accid 用户账号id
/// @param finished 结果回调
-(void)unbindWithAccid:(NSString *)accid finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 向设备添加自定义标签
/// @param tags 标签名
/// @param finished 结果回调
-(void)bindWithTags:(NSArray *)tags
finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 删除设备的自定义标签
/// @param tags 标签名
/// @param finished 结果回调
-(void)unbindWithTags:(NSArray *)tags
finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 向设备添加自定义别名
/// @param alias 别名
/// @param finished 结果回调
-(void)bindWithAlias:(NSArray *)alias
finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 删除设备的自定义别名
/// @param alias 别名
/// @param finished 结果回调
-(void)unbindWithAlias:(NSArray *)alias
finished:(void(^)(BOOL success,id response,NSString *errorMessage))finished;
/// 获取APNs返回的deviceToken
-(NSString *)getApnsDeviceToken;
/// 获取本机的deviceId
-(NSString *)getDeviceId;
/// 返回SDK版本
-(NSString *)getVersion;
//主动断开连接,不会重连
-(void)disConnectPushServerForever;
//重新连接
-(void)reconnectionPushServerForever;
@end
NS_ASSUME_NONNULL_END
//
// channelContainer.h
// oimcore
//
// Created by offcnPlayer on 2022/4/13.
//
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <oimcore/oim_types.h>
@protocol OIMCoreContainerDelegate <NSObject>
@required
-(void)OnOImCoreContainerMessageWithMessage:(int)channelID message:(const char *_Nonnull)message msgLength:(int)len;
-(void)OnOImCoreContainerEventWithCode:(int)channelID code:(OImEventCode)code errorCode:(int)nErrorCode context:(const char *_Nonnull)context;
@end
NS_ASSUME_NONNULL_BEGIN
@interface channelContainer : NSObject
@property(nonatomic, weak) id<OIMCoreContainerDelegate> delegate;
-(instancetype )initWithDelegate:(id<OIMCoreContainerDelegate>)delegate;
/**
* create on channel
* @return the channel ID
*/
-(int)createChannel;
/**
* @param channelID the return value by createChannel function
*/
-(void)deleteChannel:(int)channelID;
/**
* connect to im server
*
* @param params must contain server'ip and port in json format eg:
* {"server_ip":"192.168.1.1", "server_port":123, "account_id":"123", "app_id":"123", "device_type":"windows", "token":"213", "account_id":"123", "session_id":"1223", "connection_type":"kcp"}
* channelID the return value by createChannel function
*/
-(void)connectChannel:(int)channelID params:(NSString*_Nonnull)params;
/**
* @param channelID the return value by createChannel function
*/
-(void)disconnectChannel:(int)channelID;
/**
* 发送消息
*
* @param channelID the return value by createChannel function
* @param message message data, size less than 256 BYTES
* @param type message's type
*
*/
-(void)SendUserMessage:(int)channelID message:(NSString*_Nonnull)message length:(int)len type:(OImMsgType)type;
@end
NS_ASSUME_NONNULL_END
//
// offcnChannel.h
// offcnChannel
//
// Created by offcnPlayer on 2022/4/14.
//
#import <Foundation/Foundation.h>
//! Project version number for offcnChannel.
FOUNDATION_EXPORT double offcnChannelVersionNumber;
//! Project version string for offcnChannel.
FOUNDATION_EXPORT const unsigned char offcnChannelVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <offcnChannel/PublicHeader.h>
......@@ -8,7 +8,7 @@
#define ZG_OIM_API_IMPORT __declspec(dllimport)
#else
#define ZG_OIM_API_EXPORT __attribute__ ((visibility("default")))
#define ZG_OIM_API_IMPORT
#define ZG_OIM_API_IMPORT
#endif
#ifdef __cplusplus
......@@ -25,10 +25,10 @@
#define ZG_OIM_C_API ZG_OIM_C_API_IMPORT
#endif
namespace offcn
{
namespace im
{
//namespace offcn
//{
//namespace im
//{
typedef enum
{
kMsg_Type_Normal, //normal message type
......@@ -47,13 +47,13 @@ namespace im
Z_CONN_IM_SRV_RECONNECT_FAILED,
}OImEventCode;
class OImCoreObserver
{
public:
virtual void OnOImCoreEvent(OImEventCode nEvent, int nCode, const char *context) = 0;
virtual void OnOImCoreMessage(const char *message, int len) = 0;
};
}
}
// class OImCoreObserver
// {
// public:
// virtual void OnOImCoreEvent(int handle, OImEventCode nEvent, int nCode, const char *context) = 0;
// virtual void OnOImCoreMessage(int handle, const char *message, int len) = 0;
// };
//}
//}
#endif
......@@ -7,9 +7,7 @@
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import "oim_types.h"
using namespace offcn::im;
#import <oimcore/oim_types.h>
@protocol OIMCoreDelegate <NSObject>
-(void)OnOImCoreMessageWithMessage:(const char *_Nonnull)message msgLength:(int)len;
......@@ -17,8 +15,12 @@ using namespace offcn::im;
@end
NS_ASSUME_NONNULL_BEGIN
@interface OIMCoreAdapter : NSObject
@property(nonatomic, weak) id<OIMCoreDelegate> delegate;
......@@ -33,8 +35,8 @@ NS_ASSUME_NONNULL_BEGIN
/**
* connect to im server
*
* @param params must contain server'ip and port in json format eg:
* {"server_ip":"192.168.1.1", "server_port":123, "account_id":"123", "app_id":"123", "device_type":"windows", "token":"213", "account_id":"123", "session_id":"1223", "connection_type":"kcp"}
* @param params must contain server'ip and port in json format eg:
* {"server_ip":"192.168.1.1", "server_port":123, "account_id":"123", "app_id":"123", "device_type":"windows", "token":"213", "account_id":"123", "session_id":"1223", "connection_type":"kcp"}
*/
-(void)ConnectImServerWithParam:(NSString*)param;
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Headers/channelContainer.h</key>
<data>
qZNTiUx80z0aLz5AGRIyQmmG9ak=
</data>
<key>Headers/offcnChannel.h</key>
<data>
YE10IaIheAEBxRU+DBS2YfTsueg=
</data>
<key>Headers/oim_types.h</key>
<data>
YM0FchckNHSLfZ9jnAn9cEfJwLA=
</data>
<key>Headers/oimcoreAdapter.h</key>
<data>
lYzEsTaWA2qHbpcaVdSGkq78JO0=
</data>
<key>Info.plist</key>
<data>
wmeH346x++Ge/fMnD8bIc202Xh0=
</data>
</dict>
<key>files2</key>
<dict>
<key>Headers/channelContainer.h</key>
<dict>
<key>hash</key>
<data>
qZNTiUx80z0aLz5AGRIyQmmG9ak=
</data>
<key>hash2</key>
<data>
2LGiuwesfOnUY/lcacALg+rT/noFQGK5Q10OXO5xaC8=
</data>
</dict>
<key>Headers/offcnChannel.h</key>
<dict>
<key>hash</key>
<data>
YE10IaIheAEBxRU+DBS2YfTsueg=
</data>
<key>hash2</key>
<data>
DB02FXEHPxTJHk2O7nDxlE/3epSP3edX7lUrM2xmBaE=
</data>
</dict>
<key>Headers/oim_types.h</key>
<dict>
<key>hash</key>
<data>
YM0FchckNHSLfZ9jnAn9cEfJwLA=
</data>
<key>hash2</key>
<data>
R9TRIUeFM59Jj8kpjzZCOP2G4czm7Z7Vz+59SaLEXuQ=
</data>
</dict>
<key>Headers/oimcoreAdapter.h</key>
<dict>
<key>hash</key>
<data>
lYzEsTaWA2qHbpcaVdSGkq78JO0=
</data>
<key>hash2</key>
<data>
Oh6i3q2oWH+VOmj7Klutfp3Lz9z446rJGlcVNGlnGj8=
</data>
</dict>
</dict>
<key>rules</key>
<dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^version.plist$</key>
<true/>
</dict>
<key>rules2</key>
<dict>
<key>.*\.dSYM($|/)</key>
<dict>
<key>weight</key>
<real>11</real>
</dict>
<key>^(.*/)?\.DS_Store$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>2000</real>
</dict>
<key>^.*</key>
<true/>
<key>^.*\.lproj/</key>
<dict>
<key>optional</key>
<true/>
<key>weight</key>
<real>1000</real>
</dict>
<key>^.*\.lproj/locversion.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>1100</real>
</dict>
<key>^Base\.lproj/</key>
<dict>
<key>weight</key>
<real>1010</real>
</dict>
<key>^Info\.plist$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^PkgInfo$</key>
<dict>
<key>omit</key>
<true/>
<key>weight</key>
<real>20</real>
</dict>
<key>^embedded\.provisionprofile$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
<key>^version\.plist$</key>
<dict>
<key>weight</key>
<real>20</real>
</dict>
</dict>
</dict>
</plist>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment