类 MCDAppServiceConnection
@interface MCDAppServiceConnection : NSObject
此类管理与特定远程应用服务的连接。
属性
appServiceInfo
@property(nonatomic, retain, nonnull) MCDAppServiceInfo* appServiceInfo;
提供有关要连接到的目标应用服务的详细信息。
requestReceived
@property(nonatomic, readonly, nonnull) MCDEvent<MCDAppServiceConnection*, MCDAppServiceRequestReceivedEventArgs*>* requestReceived;
从远程应用接收服务请求时的事件。
serviceClosed
@property(nonatomic, readonly, nonnull) MCDEvent<MCDAppServiceConnection*, MCDAppServiceClosedEventArgs*>* serviceClosed;
与应用服务的连接关闭时的事件。
构造函数
init
- (nullable instancetype)init;
创建并初始化此类的新实例。
返回
如果成功, 则初始化的 MCDAppServiceConnection ;否则为 nil。
initWithAppServiceInfo
- () initWithAppServiceInfo: (非 null MCDAppServiceInfo*) appServiceInfo;
parameters
appServiceInfo
应用服务说明。
返回
如果成功,则返回初始化 的 MCDAppServiceConnection ,否则返回 nil。
appServiceConnectionWithAppServiceInfo
+ (nullable instancetype)appServiceConnectionWithAppServiceInfo:(nonnull MCDAppServiceInfo*) appServiceInfo;
使用应用服务信息创建和初始化此类的新实例。
parameters
appServiceInfo
应用服务说明。
返回
如果成功,则返回初始化 的 MCDAppServiceConnection ,否则返回 nil。
方法
openRemoteAsync
- (void)openRemoteAsync:(nonnull MCDRemoteSystemConnectionRequest*)connectionRequest completion:(nonnull void (^)(MCDAppServiceConnectionStatus, NSError* _Nullable))completion;
打开指定远程设备或应用程序上的应用服务连接。 如果连接无法打开,则会引发异常。
注意: 如果以下任一情况成立,此方法将引发异常:
- 连接已打开或正在打开。
- 应用服务说明尚未设置或已被清除。
- 平台尚未初始化。
- 应用已订阅连接"已接收请求"事件的方法,但在初始化平台时未提供 MCDNotificationProvider 。 所有托管方案都需要 MCDNotificationProvider。
parameters
connectionRequest
指示要面向哪个远程系统或远程应用的连接请求。
sendMessageAsync
- (void)sendMessageAsync:(nonnull NSDictionary*)message completion:(nonnull void (^)(MCDAppServiceResponse* _Nonnull, NSError* _Nullable))completion;
向远程应用服务发送消息并开始侦听响应。 此方法执行单个消息/响应,不建立持久连接。 只有在成功打开连接后,才应调用它。
parameters
message
要发送到应用服务的键值数据集。
关闭
- (void)close;
关闭与远程应用服务的连接。 每当用户或系统关闭或停止客户端应用时,客户端应用应调用此方法。
sendStatelessMessageAsync
+ (void)sendStatelessMessageAsync:(nonnull NSDictionary*)message
toAppService:(nonnull MCDAppServiceInfo*)appServiceInfo
connectionRequest:(nonnull MCDRemoteSystemConnectionRequest*)connectionRequest
completion:(nonnull void (^)(MCDStatelessAppServiceResponse* _Nonnull, NSError* _Nullable))completion;
将消息发送到指定的远程应用服务并开始侦听响应。
parameters
message
要发送到应用服务的键值数据集。appServiceInfo
目标应用服务的描述性信息。connectionRequest
指定要连接到的应用服务的连接请求。completion
异步完成回调。