【IOS開発】Rongyunのメッセージ拡張機能の使い方

【IOS開発】Rongyunのメッセージ拡張機能の使い方

[4.0.3]バージョンから、Rongyunはメッセージ拡張機能を追加しました。ドキュメントは次のとおりです:https://docs.rongcloud.cn/v4/views/im/noui/guide/private/msgmanage/expansion/
ios.html

ドキュメント内のいくつかの重要なポイントを要約します。

  • 4.0.3より前のバージョンは使用できません。
  • メッセージ拡張はRCMessageクラスの属性です。つまり、カスタムメッセージも使用できます。
  • 1つのメッセージに設定できるのは300kvのみです(グループ内の400人が受信できる赤い封筒の送信など、一部のシナリオでは使用できません)。
  • シングルチャットとグループチャットのみがサポートされています。
  • キーと値は両方とも文字列タイプであり、キーを中国語にすることはできません。そうしないと、INVALID_PARAMETERエラーが報告されます。
  • IMKit UIを使用してメッセージを送信する場合は、メッセージを傍受してメッセージ拡張スイッチを設定する必要があります。

使用手順:

  1. メッセージの送信者は、メッセージ拡張が必要な​​メッセージのスイッチをオンにする必要があります。グローバル設定はなく、単一のメッセージ設定のみです。2つの状況があります:
  • IMKitが提供するUIを使用してメッセージを送信する場合、またはRCConversationViewControllerのsendMessageメソッドとsendMediaMessageメソッドを使用してメッセージを送信する場合、次のコールバックがトリガーされます。
/*!
 准备发送消息的回调

 @param messageContent 消息内容

 @return 修改后的消息内容

 @discussion 此回调在消息准备向外发送时会回调,您可以在此回调中对消息内容进行过滤和修改等操作。
 如果此回调的返回值不为nil,SDK会对外发送返回的消息内容。
 */
- (RCMessageContent *)willSendMessage:(RCMessageContent *)messageContent;

コールバックで、展開が必要なメッセージの場合は、messageContentに従って自分でRCMessageオブジェクトを作成し、canIncludeExpansionとexpansionDicを設定します。

RCMessage *message = [[RCMessage alloc] initWithType:self.conversationType targetId:self.targetId direction:MessageDirection_SEND messageId:0 content:messageContent];
message.canIncludeExpansion = YES;
message.expansionDic = dict;

次に、RCIMの対応するsendメソッドを呼び出してメッセージを送信し、コールバックでnilを返してメッセージを送信します。

  • RCIMおよびRCIMClientインターフェイスを呼び出してメッセージを送信する場合は、RCMessageContentクラスのオブジェクトを使用してRCMessageオブジェクトを作成し、canIncludeExpansionおよびexpansionDicを設定してから、RCIMの対応するsendメソッドを呼び出してメッセージを送信します。
  1. 拡張機能を更新および削除する操作については、公式ドキュメントを参照してください。
  2. メッセージ拡張子の変更と削除をリアルタイムでキャプチャするには、コールバックを設定し、コールバックのUIを更新する必要があります。コールバックの設定については、公式ドキュメントを参照してください。

おすすめ

転載: blog.51cto.com/15056506/2678330