私はQuickBlox-iOS SDK
をチャットに使用しています。ログイン/サインアップは完全に機能しています。また、私はchatDidReceiveMessageメソッドが呼び出されていないQuickBlox
- (void)chatDidReceiveMessage:(QBChatMessage *)message;
メッセージを送信することができていますが、デリゲートメソッドと呼ば取得されていません。チャットをセットアップするために使用しているコードは次のとおりです。 appDelegateに次のコードを追加:
// connect to Chat
[[QBChat instance] addDelegate:self];
QBUUser *currentUser = [QBUUser user];
currentUser.ID = [Global sharedInstance].currentUser.ID;
currentUser.password = @"password";
[[QBChat instance] connectWithUser:currentUser completion:^(NSError * _Nullable error) {
NSLog(@"connect to chat error %@",error);
}];
そして、私がメッセージを送信するために使用しています以下のコード:
QBChatMessage *message = [QBChatMessage message];
message.recipientID=[Global sharedInstance].QBUserID;
message.senderID=[Global sharedInstance].currentUser.ID;
[message setText:messageTextView.text];
message.dateSent = [NSDate date];
NSMutableDictionary *params = [NSMutableDictionary dictionary];
params[@"save_to_history"] = @YES;
[message setCustomParameters:params];
[QBRequest createMessage:message successBlock:^(QBResponse *response, QBChatMessage *createdMessage) {
NSLog(@"success: %@", createdMessage);
} errorBlock:^(QBResponse *response) {
NSLog(@"ERROR: %@", response.error);
}]
私はQuickBlox
ダッシュボード上で確認。送受信されたすべてのメッセージを表示します。しかし、私は別のユーザーにメッセージを送信するときに代理人が呼び出されていません。私は、彼らのExample Projectで使用しているような追加サービスクラス(QMServices
)を使用していません。どんな助けもありがとう。ありがとう
答えをありがとう。 'kQMCustomParameterDialogID'、' kQMCustomParameterDialogRoomUpdatedDate'、 'kQMCustomParameterDialogRoomLastMessageDate'、' kQMCustomParameterDialogType'とは何ですか? –
ありがとうございます。デリゲートが呼び出されています。メッセージはダッシュボードの履歴に保存されません。最後のメッセージに表示されます。しかし、ビュー履歴をクリックすると。メッセージは表示されません。私は自分のアプリでユーザーのコアデータを必要としませんでした。 –
@SushilSharmaヒストリを制御する変数はカスタムパラメータ 'save_to_history'です。この例では、そこに配置します。カスタムパラメータを消去しましたか? – gaskbr