メニュー

Rate this page:

Thanks for rating this page!

We are always striving to improve our documentation quality, and your feedback is valuable to us. How could this documentation serve you better?

チェンジログ:Twilio IP メッセージング iOS SDK

アーカイブズみのIP Messagingリリース

プロジェクトでは、これらのリンクを使用することを推奨します。バグにパッチを適用すると、これらのリンクが自動的に修正で更新されます。

IP Messaging iOS v0.15
Twilio Common iOS v0.3

チェンジログ

ここでは、パッチの特定のバージョンへのリンクを提供しています。リリースの特定のパッチを特に必要とする場合を除き、これらのリンクを使用しないことをお勧めします。


IP Messaging 0.15.4 (December 9, 2016)

バグ修正
  • The completion block for some operations previously would not fire in the event of a network or token related error, it will now be called consistently in the event of an error.

IP Messaging 0.15.3 (November 14, 2016)

新機能
  • The client's delegate ipMessgingClient:onError: is no longer called for transient network errors that result in a retry
  • Added connection state property to IP Messaging Client instances that indicates the last known state of the connection with Twilio. Possible values of TWMClientConnectionState are:
    TWMClientConnectionStateUnknown,        ///< Client connection state is not yet known.
    TWMClientConnectionStateDisconnected,   ///< Client is offline and no connection attempt in process.
    TWMClientConnectionStateConnected,      ///< Client is online and ready.
    TWMClientConnectionStateConnecting,     ///< Client is offline and connection attempt is in process.
    TWMClientConnectionStateDenied,         ///< Client connection is denied because of invalid token.
    TWMClientConnectionStateError           ///< Client connection is in the erroneous state.
  • Added IP Messaging Client delegate method which will convey changes to the connection state as they are detected: ipMessagingClient:connectionStateChanged:

IP Messaging 0.15.2 (October 13, 2016)

Twilio Common 0.3.4
バグ修正
  • shutdownが最初に呼ばれないままクライアントが終了した場合の回復性が向上しました。 ホストアプリケーションがOSによってバックグラウンドで、またはユーザーによって手動で終了させられた場合、IP Messagingが完全にクリーンナップされない状態を誘発することでサードパーティーのクラッシュレポーターでクラッシュを受け取ることがありました。 SDKは終了通知を受け取りIP Messagingクライアントを正しく終了、時間内にこのクリーンナップが完了しなかった場合の振る舞いが寛容になりました。

Twilio Common 0.3.3 (October 2, 2016)

このリリースは下記で投稿されているIP Messaging 0.15.1で使用される可能性があります。 また、CocoaPodsでも利用可能です。

バグ修正
  • Addresses an issue where connections lost while the application was in the background would not fail in a timely fashion upon brought back to the foreground.

Twilio Common 0.3.2 (September 23, 2016)

このリリースは下記で投稿されているIP Messaging 0.15.1で使用される可能性があります。 また、CocoaPodsでも利用可能です。

バグ修正
  • Addresses an issue where connections using IPv6 on iOS 10 may fail depending on network configuration.

IP Messaging 0.15.1 (August 26, 2016)

バグ修正
  • Initial memory footprint reduced
  • メッセージがない状態でチャネル上の全メッセージを既読に設定した場合、メッセージ受信トレイにて既読位置0に設定されなくなり、nilが返るようになりました。
  • これらのメッセージのアクセスに先立ってそのチャネルの全メッセージを既読に設定した場合、既読1がローカルで読み込まれたメッセージを反映しないことがありました
  • The *AsDate accessors no longer return nil NSDate objects in the event of a timestamp with .000 milliseconds

IP Messaging 0.15.0 (July 27, 2016)

Twilio Common 0.3.1

メモ: IP MessagingのリリースはiOS Twilio Common 0.3.1バージョンとセットで使用することが必要です。

破壊的変更
TwilioIPMessagingClient
  • identity property has been moved to userInfo.identity
  • The legacy client initialization flow of synchronizing and loading every message for every channel has been removed along with the ipMessagingClientWithAccessManager:delegate: method. If you wish to maintain this flow, you can create a TwilioIPMessagingClientProperties object with the following settings. Please note that the rest of the new initialization flow will also apply, please see the migration guide for details synchronizationStrategy = TWMClientSynchronizationStrategyAll initialMessageCount = UINT_MAX // (UInt32.max in Swift)
  • The asynchronous channelsListWithCompletion: has been removed, please use the synchronous channelsList instead after receiving notification of client synchronization. Prior to that event, this method will return nil
  • The delegate call ipMessagingClient:channelHistoryLoaded: has been removed, please see the new ipMessagingClient:channel:synchronizationStatusChanged: for notification of the initial message load completion or the various get messages methods on TWMMessages for message loads after initial channel synchronization
TWMChannel
  • The delegate call ipMessagingClient:channelHistoryLoaded: has been removed, please see the new ipMessagingClient:channel:synchronizationStatusChanged: for notification of the initial message load completion or the various get messages methods on TWMMessages for message loads after initial channel synchronization
TWMChannels
  • The loadChannelsWithCompletion: method has been removed, this operation is now performed internally during client synchronization when necessary
TWMMember
  • identity property has been moved to userInfo.identity
新機能
  • TWMMessages now has a setNoMessagesConsumed method. This will reset the user’s consumption horizon on the channel to no messages having been seen

IP Messaging 0.14.2 (June 21, 2016)

新機能
  • メッセージで開発者により定義された属性を利用できるようになりました
  • チャネルにはdateCreatedおよびdateUpdated(ネイティブのNSDate*オブジェクト用には*AsDateという派生版もあり)があります。
  • リーチャビリティーサポートの追加
TwilioIPMessagingClient:
  • (BOOL)isReachabilityEnabled - indicates if reachability is available for the client’s instance
TwilioIPMessagingClientDelegate:
  • (void)ipMessagingClient:userInfo:updated: will alert to online and notifiable changes for the userInfo for the specified user
TWMChannelDelegate:
  • (void)ipMessagingClient:channel:member:userInfo:updated: will alert to online and notifiable changes for the userInfo for the specified user
TWMUserInfo:
  • (BOOL)isOnline - indicates whether the user is online
  • (BOOL)isNotifiable - indicates whether the user is notifiable
バグ修正
  • Synchronize completion block will now be executed at the appropriate time when called while a channel is in the process of being joined
Deprecations coming in 0.15.0
TwilioIPMessagingClient:
  • identity property is moved to userInfo.identity
  • The legacy client initialization flow of synchronizing and loading every message for every channel will be removed along with the ipMessagingClientWithAccessManager:delegate: method. If you wish to maintain this flow, you can create a TwilioIPMessagingClientProperties object with the following settings. Please note that the rest of the new initialization flow will also apply, please see the migration guide for details. synchronizationStrategy = TWMClientSynchronizationStrategyAll initialMessageCount = UINT_MAX
  • The asynchronous channelsListWithCompletion: will be removed, please use the synchronous channelsList instead after receiving notification of client synchronization. Prior to that event, this method will return nil.
  • The delegate call ipMessagingClient:channelHistoryLoaded: will be removed, please see the new ipMessagingClient:channel:synchronizationStatusChanged: for notification of the initial message load completion or the various get messages methods on TWMMessages for message loads after initial channel synchronization.
TWMChannel:
  • The delegate call ipMessagingClient:channelHistoryLoaded: will be removed, please see the new ipMessagingClient:channel:synchronizationStatusChanged: for notification of the initial message load completion or the various get messages methods on TWMMessages for message loads after initial channel synchronization.
TWMChannels:
  • The loadChannelsWithCompletion: method is deprecated, this operation is now performed internally during client synchronization when necessary.
TWMMember:
  • identity property is moved to userInfo.identity

IP Messaging 0.14.1 (May 27, 2016)

Client Initialization Changes

With this release of IP Messaging, we have introduced a new client and channel initialization flow. For 0.14.1, both the legacy initialzation flow and the new flow are supported. In a near future release, we will be removing the now deprecated legacy initialization flow.

レガシーフロー:
  • Client loaded all channels and all members and messages on every channel upon startup
  • To initialize channels channelsListWithCompletion: was called then loadChannelsWithCompletion: upon the resultant channels list
  • 全メッセージはクライアントの初期化に先立って読み込まれ、利用可能になっていました
  • Monitoring the -ipMessagingClient:channelHistoryLoaded: delegate callback indicated when each channel was fully ready
New flow:
  • Flexible control over whether channels are "synchronized" on startup
  • Control over how many messages (0 .. ∞) are implicitly loaded when a joined channel is initially synchronized
  • クライアントとチャネルの初期化時に明示的なデリゲートコールバックが詳細な手順でトリガーされます
  • There exists an overall delegate callback and state which can be monitored for full client availability

既存のコードはオリジナルのクライアント初期化セマンティックスを使用することで引き続き機能しますが、新機能の利点を享受するには下記の変更をすべて適用してください:

  • Call the client creation method which takes a TwilioIPMessagingProperties object. This can be nil to use the current defaults.
  • 新しいクライアント作成スキームを使用する場合、下記のメソッドの振る舞いが変更されました:
    • channelsListWithCompletion: エラーを返し、将来のリリースでは廃止予定となりますので、代わりにchannelsListを使用してください。 少なくともTWMClientSynchronizationStatusChannelsListCompletedステータスにクライアントが同期するまでは、nilを返します。
    • The ipMessagingClient:channelHistoryLoaded: method will no longer be called after messages are loaded. If your syncronization policy has full channel history loading (messagesToLoad == UINT_MAX) then history is available upon the channel reaching TWMChannelSynchronizationStatusAll status or the synchronizeWithCompletion: block is executed upon a successful syncronize.
    • TWMChannel members and messages will no longer block if the channel has not completed synchronization (TWMChannelSynchronizationStatusAll), they will immediately return nil
  • Call synchronizeWithCompletion: for any channels you wish to interact with if your client synchronization stategy was specified as TWMClientSynchronizationStrategyChannelsList
  • Monitor the ipMessagingClient:synchronizationStatusChanged: delegate method for updates to the synchronization status. TWMClientSynchronizationStatusChannelsListCompleted indicates the channel objects are available and the TWMClientSynchronizationStatusCompleted callback indicates the channel's data, including the specified number of initial messages, are ready.
A good base-line initialization flow for general purpose chat:
  • Use a default TwilioIPMessagingClientProperties object or nil passed to the ipMessagingClientWithAccessManager:properties:delegate: method
  • Listen to the TwilioIPMessagingClient's delegate callback for ipMessagingClient:synchronizationStatusChanged:. If 'status' is TWMClientSynchronizationStatusChannelsListCompleted, display the channels to the user you obtain from [client.channelsList allObjects]
  • When the user chooses a channel, verify its synchronizationStatus is TWMChannelSynchronizationStatusAll. If it is, you can operate on the channel normally; if it is not, the channel is not yet synchronized so you must call synchronizeWithCompletion:. Upon the completion block's calling with a successful result, the channel is fully ready to use. To ensure all channels are ready on demand you may use the synchronization strategy TWMClientSynchronizationStrategyAll in the client properties object but startup time will be longer as a result.
API Additions
TWMConstants:
## Enumerations
  • (ADDED) TWMClientSynchronizationStrategy
  • (ADDED) TWMClientSynchronizationStatus
  • (ADDED) TWMChannelSynchronizationStatus
  • (MOVED) TWMUserInfoUpdate (moved from TWMUserInfo header file, no other changes)
## Completion blocks
  • (追加) TWMMessagesCompletion
TwilioIPMessagingClient:
## プロパティー
  • (ADDED) TWMClientSynchronizationStatus synchronizationStatus
## Methods
  • (追加) + (TwilioIPMessagingClient *)ipMessagingClientWithAccessManager:properties:delegate:
  • (DEPRECATED) + (TwilioIPMessagingClient *)ipMessagingClientWithAccessManager:delegate:
  • (ADDED) - (TWMChannels *)channelsList
  • (DEPRECATED) - (void)channelsListWithCompletion:(TWMChannelListCompletion)completion
TwilioIPMessagingClientProperties (追加)
## プロパティー
  • (ADDED) TWMClientSynchronizationStrategy synchronizationStrategy
  • (ADDED) uint initialMessageCount
TwilioIPMessagingClientDelegate
## メソッド:
  • (ADDED) - (void)ipMessagingClient:synchronizationStatusChanged:
  • (ADDED) - (void)ipMessagingClient:channel:synchronizationStatusChanged:
  • (DEPRECATED) - (void)ipMessagingClient:channelHistoryLoaded:
TWMChannels:
## メソッド:
  • (廃止予定) - (void)loadChannelsWithCompletion:
TWMChannel:
## Properties:
  • (ADDED) TWMChannelSynchronizationStatus synchronizationStatus

Methods:

  • (ADDED) - (void)synchronizeWithCompletion:
TWMChannelDelegate:
## メソッド:
  • (ADDED) - (void)ipMessagingClient:channel:synchronizationStatusChanged:
  • (DEPRECATED) - (void)ipMessagingClient:channelHistoryLoaded:
TWMMessages:
## メソッド:
  • (ADDED) - (void)getLastMessagesWithCount:completion:
  • (ADDED) - (void)getMessagesBefore:withCount:completion:
  • (ADDED) - (void)getMessagesAfter:withCount:completion:
  • (DEPRECATED) - (NSArray *)allObjects
TWMMember:
## Properties:
  • (ADDED) NSDate *lastConsumptionTimestampAsDate
  • (ADDED) NSDate *timestampAsDate
  • (ADDED) NSDate *dateUpdatedAsDate

Twilio Common 0.2.2 (2016年5月27日)

##### Bug Fixes

  • AccessManagerがアプリケーションがフォアグラウンドに復帰後にトークンのexpiredステータスを正しく報告しない不具合が修正されました

IP メッセージング 0.14.0(2016 年 4 月 4 日)

以前の機能に加えられた重要な変更点:
  • 旧 32 ビットシミュレーター(iPhone 4S 以前)で解決された SSL 接続に関する問題には、新しい Twilio Common 0.2.1 が必要です(下記参照)。
新機能
  • You now have the ability to affect the level of verbosity of logging within the IP Messaging framework. You may set the logging level with the class method +setLogLevel: on the TwilioIPMessagingClient object at any time, including pre-initialization. See the header file or documentation for supported logging levels. During beta, the default logging level will remain TWMLogLevelDebug.
  • 完了ブロックが、単純な Success または Failureという列挙型定数のみでなく、詳細な失敗理由を伝達するようになりました。
Twilio IP メッセージング 0.13 から 0.14 への移行ガイド

破壊的変更: Twilio IP メッセージング 0.14 では、数多くの非常に役に立つ変更が加えられました。これにより、既存のコードにいくらかの変更が必要になりました。

コールバック応答オブジェクトの向上

0.14 での最大の変更点は、動作中にエラーが発生した場合により記述的な応答ができるようになったことです。以前は、IP メッセージングの動作のすべてのコールバックブロックは単純な列挙型 TWMResult を返しました。これは、単純な Success と Failure の値しか取りませんでした。

TWMResult 新しいプロパティと boolean メソッドを持つ完全なオブジェクトになりました。

- (BOOL)isSuccessful 成功した場合には YES を、失敗した場合には NO を返します。

- (TWMError *)error 成功しなかった場合に、失敗の原因を記述する NSError 派生オブジェクトを保持します。

新しいエラー報告スキームを採用するには、以下を実行する必要があります。

  • TWMResult に対する参照を、列挙型スカラーではなく、オブジェクト参照、TWMResult * に変更します。
  • TWMResultSuccess に対する TWMResult の比較を変更し、 - (BOOL)isSuccessful メソッドが YES を返すことを検証します。
  • TWMResultFailure に対する TWMResult の比較を拡張し、- (BOOL)isSuccessful を NO と比較して、オプションで error プロパティに詳細を問い合わせます。
以前に廃止されたメソッドの削除
  • TWMChannels オブジェクトで、-createChannelWithFriendlyName:type:completion: メソッドが廃止されました。その代替については、-createChannelWithOptions:completion: メソッドを参照してください。
  • TwilioIPMessagingClient オブジェクトで、+ipMessagingClientWithToken:delegate: メソッドが廃止されました。その代替については、+ipMessagingClientWithAccessManager:delegate: メソッドを参照してください。
  • 使用されていなかった TWMErrorCodeKey 定数が TWMError ヘッダーファイルから削除されました。

Twilio Common Android 0.2.1 (2016 年 4 月 5 日)

##### Bug Fixes

  • 32 ビットプラットフォームのビルドおよび SSL に関する問題に対処しました。

IP メッセージング 0.13.7(2016 年 3 月 18 日)

新機能
  • FriendlyName と Attributes を含む拡張可能な UserInfo
  • クライアントおよびチャンネルのすべてのメンバーに関連付けられたユーザーは、TWMUserInfo オブジェクトを持っています。TwilioIPMessagingClient および TWMMember には、それぞれ、ログインユーザーと各チャンネルメンバーの UserInfo の userInfo プロパティが含まれています。
  • ユーザーまたはチャンネルメンバーの TWMUserInfo オブジェクトは、所定の ID のもとで共有されます。つまり、1 人のメンバーに設定されている任意の属性やフレンドリーネームがすべてのチャンネルで使用可能になります。
  • TwilioIPMessagingClient クラスには、追加のデリゲートコールバック ipMessagingClient:userInfo:changed: が含まれています。これは、UserInfo がログインユーザーまたは購読チャンネルのメンバーである任意のユーザーについて変更される場合に、呼び出されます。
  • TWMChannel クラスには、追加のデリゲートコールバック ipMessagingClient:channel:member:userInfo:changed: が含まれています。これは、ユーザー情報が所定のメンバーについて変更されると、呼び出されます。
  • TWMUserInfoUpdate プロパティは、上記の userInfo:changed: イベントについて変更された内容を示します。
  • TWMChannel クラスには memberWithIdentity: メソッドが含まれるようになったため、TWMMember に対する参照を ID によって容易に取得できるようになりました。
バグ修正
  • 作成したチャンネルに先に参加することなく、メンバーを招待したり追加できるようになりました。
  • トークンの更新後にコールバックの重複につながる可能性があった重複するセッションの初期化を修正しました。
既知の問題
  • チャンネル削除時に完了ハンドラーが実行されないことがあります。これは、近い将来修正される予定です。
廃止予定
  • TWMMember および TwilioIPMessagingClass の identity プロパティのサポートは終了したため、将来のリリースで削除される予定です。これらのオブジェクトの ID を取得する望ましい方法は、新しい userInfo クラス、たとえば member.userInfo.identity を使用することです。

IP メッセージング 0.13.6(2016 年 2 月 19 日)

新機能
  • メッセージの消費位置管理と読み取りステータス
  • 使用方法:メッセージを消費したら、TWMMessages クラスで 3 つのメソッドのいずれかを呼び出します。
    • setLastConsumedMessageIndex : - 最後に消費されたインデックスを指定した値に更新します。「以前」のメッセージを最後に消費されたメッセージとして設定すると、ポインターが「戻され」ます。
    • advanceLastConsumedMessageIndex : - 最後に消費されたインデックスを指定した値に更新します。ただし、新しい値がクライアントに既存の値よりも大きい場合にかぎります。
    • setAllMessagesConsumed - 最後に消費されたインデックスをクライアントに既知の最新メッセージのインデックスに更新します。
    • messageForConsumptionIndex: - インデックスで始まる最も古いメッセージを返します。インデックスに該当のメッセージが存在する場合は、それが返されますが、そうでない場合は、現存する次に古いメッセージが返されます。所定のチャンネルの TWMMessages で最後に消費されたメッセージが何であるのかを確認するには、以下を呼び出します。
    • lastConsumedMessageIndex - 最後に消費されたと報告されたメッセージのインデックスを返します。該当のチャンネルに消費されたメッセージがまだない場合は、nil を返します。返すインデックスがシステムにもはや存在しない場合があることに注意してください。TWMMessage のインデックスを特定するため、次の新しいメソッドが用意されています。
    • index - 該当の TWMMessage のインデックスを返します。インデックスを使用して TWMMessages コレクションから TWMMessage を取得するには、次を使用します。
    • messageWithIndex: - 指定したインデックスに該当する TWMMessage が存在する場合はこれを返します。 チャンネルの各 TWMMember には消費ステータスが含まれる場合があります。
    • lastConsumedMessageIndex - 該当のユーザーの最後に消費されたメッセージのインデックスを返します。または、消費ステータスがない場合は、nil を返します。
    • lastConsumptionTimestamp - 該当のユーザーが消費ステータスを最後に更新したときのタイムスタンプを返します。または、消費ステータスがない場合は、nil を返します。
  • 以下の場合にイベントが発生します。
    • 参加しているチャンネルの他のメンバーがその消費位置管理を更新する場合 - ipMessagingClient:channel:memberChanged:
    • 参加しているチャンネルで自身がメッセージを消費する場合 - ipMessagingClient:channelChanged:、ipMessagingClient:channel:memberChanged:
Podfile の更新

このリリースでは、Cocoapods を使用する IP メッセージングフレームワークのインストール方法が変更されました。2 つの静的リンクを Podfile に格納するかわりに、Podfile の最上部にカスタムの source と 1 つの pod 行を指定します。

source 'https://github.com/twilio/cocoapod-specs'

pod 'TwilioIPMessagingClient'

この変更を Podfile に加えたら、pod install を実行します。今後の IP メッセージングの更新については、 pod update を実行して IP メッセージングと IP Common を更新するだけですみます。

バグ修正
  • フォアグラウンド状態に移行する際に、自動 Twilsock 再接続が行われないことがあったというバグを修正しました。
  • TwilioIPMessagingClient の Identity メソッドは、JWT で解析できた場合に、TwilioAccessManager クラスの ID を返すようになりました。
  • podspec ファイルの「-read_only_relocs」を削除しました。

Twilio Common 0.2.0 (2015 年 2 月 10 日)

改善点
  • 単一の iOS アプリケーションでTwilio クライアント iOS ライブラリと一緒に実行できるようになりました。

IP メッセージング 0.13.5 (2015 年 12 月 17 日)

修正
  • createChannel のオプションで渡される属性ハッシュは、チャンネル作成時に適用されるようになりました。
  • メッセージが 1 つ更新されたときにトリガーされるメッセージ変更イベントが 1 つだけになりました。従来のリリースでは、1 回のメッセージ更新で複数のメッセージ変更イベントが発生する可能性がありました。
  • 1 つのセッションでチャンネルの参加者が一度参加解除した後にもう一度同じチャンネルに参加した場合でも、チャンネル更新を見逃すことがなくなりました。
  • 空白を含むメンバーアイデンティティでもチャンネルに参加できるようになりました。
  • 前のトークンの有効期限が切れた後に発生したトークン更新アクションの処理を改善しました。
注意事項および既知の問題
  • 空きスレッドの不足に関して誤った CRITICAL メッセージがログに記録される可能性がありますが、このエラーは無視しても問題ありません。
  • プライベートチャンネルへの招待を一度拒否した後は、そのチャンネルへのその後の招待は通知されません。
  • TwilioIPMessagingClient でシャットダウンを呼び出した場合、特に負荷の高いインスタンスでは、最大 30 秒かかる可能性があります。この呼び出しは、メイン UI スレッドがブロックされないように、バックグラウンドスレッドで実行する必要があります。この同期メソッドが復帰するまで、必ずクライアントに対する強参照を維持してください。
  • 有効期限切れイベントが発生するのは、アクセストークンのみです。ケイパビリティトークンでは有効期限切れイベントは発生しません。ケイパビリティトークンは、IP メッセージングプライベートベータで初期に使用していた認証フォーマットです。
  • TwilioAccessManager tokenExpired デリゲートコールバックを処理するスレッドからアクセストークンを更新すると、デッドロックする可能性があります。updateToken 操作が tokenExpired コールバックをブロックしないことを保証するために、別のスレッドを使用してください。
  • アクセストークンの最小 TTL を 4 分に設定することを推奨します。有効期限が切れる前に新しいトークンを取得して設定する十分な時間を確保するために、TwilioAccessManager は有効期限が切れる 3 分前にクライアントにアラートを送信します。
  • tokenExpired このイベントは、新しいトークンに更新する十分な時間を確保するために、有効期限切れのときではなく、その 3 分前に呼び出されます。
今後廃止される予定に関する警告
  • TwilioIPMessagingClient の初期化メソッド ipMessagingClientWithToken: は廃止される予定であり、ipMessagingClientWithAccessManager: に置き換えられます。
  • TWMChannels のメソッド createChannelWithFriendlyName:type:completion: は廃止される予定であり、オプションの NSDictionary を受け取る createChannelWithOptions: に置き換えられます。

IP メッセージング 0.13.4 (2015 年 12 月 9 日)

修正
  • TwilioIPMessagingClient の updateToken メソッドは、ユーザーのトークンの有効期限が完全に切れた場合、グレースフルにリカバリするようになりました。
注意事項および既知の問題
  • プライベートチャンネルへの招待を一度拒否したユーザーを、その後同じチャンネルに招待しても、そのユーザーには通知されません。
  • TwilioIPMessagingClient でシャットダウンを呼び出した場合、特に負荷の高いインスタンスでは、最大 30 秒かかる可能性があります。この呼び出しは、メイン UI スレッドがブロックされないように、バックグラウンドスレッドで実行する必要があります。この同期メソッドが復帰するまで、必ずクライアントに対する強参照を維持してください。
  • 有効期限切れイベントが発生するのは、アクセストークンのみです。ケイパビリティトークンでは有効期限切れイベントは発生しません。ケイパビリティトークンは、IP メッセージングプライベートベータで初期に使用していた認証フォーマットです。
  • TwilioAccessManager tokenExpired デリゲートコールバックを処理するスレッドからアクセストークンを更新すると、デッドロックする可能性があります。updateToken 操作が tokenExpired コールバックをブロックしないことを保証するために、別のスレッドを使用してください。
  • アクセストークンの最小 TTL を 4 分に設定することを推奨します。有効期限が切れる前に新しいトークンを取得して設定する十分な時間を確保するために、TwilioAccessManager は有効期限が切れる 3 分前にクライアントにアラートを送信します。
  • tokenExpired このイベントは、新しいトークンに更新する十分な時間を確保するために、有効期限切れのときではなく、その 3 分前に呼び出されます。
今後廃止される予定に関する警告
  • TwilioIPMessagingClient の初期化メソッド ipMessagingClientWithToken: は廃止される予定であり、ipMessagingClientWithAccessManager: に置き換えられます。
  • TWMChannels のメソッド createChannelWithFriendlyName:type:completion: は廃止される予定であり、オプションの NSDictionary を受け取る createChannelWithOptions: に置き換えられます。

IP メッセージング 0.13.3 (2015 年 12 月 2 日)

API の変更点
  • TwilioIPMessagingClient.framework に新しい依存性 twilio-rtc-common が追加されました。ip-messaging と一緒にプロジェクトに追加する必要があります。twilio-rtc-common をダウンロードする手順または Cocoapods を使用してインストールする手順については、こちらをご覧ください。
  • TwilioIPMessagingClientupdateToken:completion: メソッドは削除され、TwilioAccessManager によるトークン更新の中継に置き換えられました。
  • クラスのプレフィックスが、TW から TWM に変更されました。新しいクラスのプレフィックスを次に示します。

クラス:

TMChannel -> TWMChannel
TMChannels -> TWMChannels
TMMember -> TWMMember
TMMembers -> TWMMembers
TMMessage -> TWMMessage
TMMessages -> TWMMessages
TMError -> TWMError

デリゲート:

TMChannelDelegate -> TWMChannelDelegate

列挙:

TMChannelTypeEnum -> TWMChannelType
TMChannelTypePublic -> TWMChannelTypePublic
TMChannelTypePrivate -> TWMChannelTypePrivate

TMResultEnum -> TWMResult
TMResultSuccess -> TWMResultSuccess
TMResultFailure -> TWMResultFailure

TMChannelStatusEnum -> TWMChannelStatus
TMChannelStatusNotParticipating -> TWMChannelStatusNotParticipating
TMChannelStatusJoined -> TWMChannelStatusJoined
TMChannelStatusInvited -> TWMChannelStatusInvited

ブロック:

TSCompletion -> TWMCompletion
TMChannelListCompletion -> TWMChannelListCompletion
TMChannelCompletion -> TWMChannelCompletion
新機能
  • TwilioAccessManager アクセストークンのライフサイクルを管理する新しいクラスです。このクラスは、トークンのライフサイクルイベントを提供し、クライアントが使用するトークンをそのデリゲートを通じて更新するメカニズムを提供します。また、Twilio IP メッセージング SDK と Twilio ビデオ SDK の両方で、トークンを管理するための標準インターフェイスを公開します。この新しいクラスの使用例については、IP Messaging Quickstart Guide をご覧ください。
注意事項および既知の問題
  • 有効期限切れイベントが発生するのは、アクセストークンのみです。ケイパビリティトークンでは有効期限切れイベントは発生しません。ケイパビリティトークンは、IP メッセージングプライベートベータで初期に使用していた認証フォーマットです。
  • TwilioAccessManager tokenExpired デリゲートコールバックを処理するスレッドからアクセストークンを更新すると、デッドロックする可能性があります。updateToken 操作が tokenExpired コールバックをブロックしないことを保証するために、別のスレッドを使用してください。
  • アクセストークンの最小 TTL を 4 分に設定することを推奨します。有効期限が切れる前に新しいトークンを取得して設定する十分な時間を確保するために、TwilioAccessManager は有効期限が切れる 3 分前にクライアントにアラートを送信します。
  • tokenExpired このイベントは、新しいトークンに更新する十分な時間を確保するために、有効期限切れのときではなく、その 3 分前に呼び出されます。
今後廃止される予定に関する警告
  • TwilioIPMessagingClient の初期化メソッド ipMessagingClientWithToken: は廃止される予定であり、ipMessagingClientWithAccessManager: に置き換えられます。
  • TWMChannels のメソッド createChannelWithFriendlyName:type:completion: は廃止される予定であり、オプションの NSDictionary を受け取る createChannelWithOptions: に置き換えられます。
Rate this page:

ヘルプが必要ですか?

We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd browsing the Twilio tag on Stack Overflow.