Tealium for Swift リリースノート
Tealium for Swift ライブラリの各リリースの変更の完全なリストです。
1.9.0 - 1.9.7 (2020)
1.9.7 (2020年9月)
低影響の変更
- リモートコマンドモジュール内のプロセスをバックグラウンドスレッドに移動しました
- デッドロックを防ぐために、一部の並行キューを直列キューに更新しました
1.9.6 (2020年7月)
低影響の変更
- 複数のスレッドが同時に永続データストアに保存しようとすることによりクラッシュが発生するバグを修正しました。
- タグ管理モジュールが依存関係として含まれているが、TiQのモバイルパブリッシュ設定で有効にされていない場合にクラッシュが発生するバグを修正しました。
1.9.5 (2020年6月)
低影響の変更
- リモートパブリッシュ設定機能が有効になっており、リモートファイルに非標準のコンテンツが含まれている場合にクラッシュが発生するバグを修正しました。このバグが将来のリリースで再発するのを防ぐためにユニットテストを追加しました。
- パブリックリポジトリにユニットテストを追加しました。
UIWebView
を参照する古いコードコメントを削除しました。
既知の問題
- iOS バージョン 10.3.3 および 10.3.4 では、アプリが起動するとすぐにクラッシュする可能性がある Xcode コンパイラのバグがあります。これは 32 ビットの iOS デバイス(iPhone 5C およびそれ以下、iPad 4 世代およびそれ以下)に影響します。回避策は、「Dead Code Stripping」ビルドオプションを「NO」に変更することです。これは、プロジェクト設定 >(アプリのターゲット)> ビルド設定 > リンキング > Dead Code Stripping にあります。この回避策は、上記のデバイスをターゲットにしている場合にのみ必要です。
1.9.4 (2020年4月)
低影響の変更
- Carthage ビルドに影響を与える問題を修正しました。PLCrashReporter 依存関係が一部のプラットフォームでビルドに失敗する問題を修正しました。
- リモートコマンドモジュールがリモートパブリッシュ設定で有効になっている場合、リモートコマンドが複数回トリガーされるバグを修正しました。
- Swift Package Manager を使用してライブラリをインストールした場合、Swift Package Manager 以外の iOS 以外のプラットフォームで SwiftUI プレビューが失敗する問題を修正しました。
1.9.3 (2020年3月)
低影響の変更
機能的な変更はありません。Carthage ビルドに影響を与える問題を修正しました。
1.9.2 (2020年3月)
低影響の変更
- DispatchQueue モジュールのバグを修正しました。最大キューサイズが
-1
に設定されている場合にクラッシュする問題を修正しました。 PLCrashReporter
依存関係を更新しました。
1.9.1 (2020年2月)
低影響の変更
このバージョンでは機能に変更はありません。バージョン番号を 1.9.1 に変更して Carthage 依存関係マネージャーの問題を修正しました。その他の変更はありません。
1.9.0 (2020年2月)
新機能
- モバイルパブリッシュ設定 のサポート
モバイルパブリッシュ設定はデフォルトで有効になっており、使用しない場合は無効にする必要があります。
* Tealium iQ モバイルパブリッシュ設定インターフェースからイベントバッチサイズなどの特定の設定オプションをリモートで変更する機能を追加します。
- これは、Tealium iOS(Objective-C)および Tealium Android ライブラリで既に存在している機能に対応しています。詳細を見る。
- Swift Package Manager のサポート。詳細を見る。
- Swift 5 のサポート
- 古い Swift バージョンのサポートは削除されました。Swift 5 を使用できない場合は、Tealium Swift 1.8.2 を使用してください。
- Swift 5+ を使用している場合、アプリに Swift ランタイムをバンドルする必要はもはやありません。これにより、アプリバンドルのサイズが約 40MB 減少します。
- Mac Catalyst のサポート
- macOS Catalina(10.15+)で実行できる iOS アプリをサポートします。
- ライフサイクルトラッキングメソッドがパブリック API の一部として利用可能になりました。詳細を見る。
- _オプション_の位置情報トラッキングモジュール。詳細を見る。
- 有効なモジュールのリストが各トラックリクエストに追加されました。たとえば、
enabled_modules=["attribution","tagmanagement"]
。
低影響の変更
- ライフサイクルモジュールのメモリ不足シナリオでクラッシュが発生することがあるバグを修正しました。120
- ライフサイクルの自動トラッキングを無効にすることができるようになりました。このオプションを使用すると、自動生成されたアプリのライフサイクルイベントが抑制されます。詳細を見る
Core
モジュールの Objective-CNSError
への依存関係を削除しました。Swift Package Manager のサポートに必要です。また、ブリッジングヘッダの暗黙のインポートの問題も修正されました。125Tealium.update
メソッドを最適化しました。update
メソッドが呼び出されてTealiumConfig
の設定が変更される場合、モジュールはもはや解放されずに再初期化されません。
高影響の変更
TealiumConfig
クラスのセッターとゲッターは非推奨となり、プロパティに置き換えられました。たとえば、config.setBatchingEnabled(true)
->config.batchingEnabled = true
。セッターとゲッターは引き続き期待どおりに機能しますが、コンパイラの警告を回避するためにプロパティに切り替えることをお勧めします。- Wi-Fi のみの送信オプションを追加しました。これはモバイルパブリッシュ設定を介して制御できます。有効にすると、Wi-Fi が利用可能でない限り、ヒットはキューに入れられます。
- バッテリーセーバーオプションを追加しました。これはモバイルパブリッシュ設定を介して制御できます。有効にすると、低電力モードが有効になっている場合、またはデバイスのバッテリー残量が 20% 未満の場合、ヒットはキューに入れられます。
既知の問題
- 現在、WebKit のバグがあり、アプリをデバッグしているときに LLDB コンソールに誤ったエラーメッセージが表示されることがあります。以下はエラーメッセージの例です。
2020-01-23 11:48:37.219410+0000 TestApp[853:82765] [Process] kill() returned unexpected error 1
このエラーは、Tag Management モジュールを使用している場合に表示されますが、Apple が WebKit ライブラリの問題を修正するまでの間です。詳細を見る。
1.70 - 1.8.2 (2019)
1.8.2 (2019年12月)
低影響の変更
- スレッド関連のリモートコマンドのクラッシュを修正しました 121
- 低メモリ関連のクラッシュを修正するために、保存されるライフサイクルセッションを 20 セッションに減らしました 120
- 一部のリテインサイクルを修正し、
Tealium
クラスを完全に解放できるようにしました TealiumInstanceManager
にremoveInstance
メソッドを追加し、Tealium
を完全に解放できるようにしました- WKWebView に対するクッキーオブザーバーの使用をやめるための設定オプションを追加しました 117 (
config.shouldAddCookieObserver = false
) - モジュールの初期化を最適化し、モジュールリストに存在するモジュールのみ
init
が呼び出されるようにしました - タグ管理モジュールの完了ブロックが予期しない詳細(エラー/情報)を受け取らない問題を修正しました。関連: 118
1.8.1 (2019年11月)
低影響の変更
- タグ管理モジュールで時折発生するクラッシュを修正しました。
1.8.0 (2019年11月)
新機能
- イベントバッチング
- 1回のヒットで最大10件のイベントを Tealium Customer Data Hub に送信できます
- タグ管理の場合、イベントはプロファイルの JavaScript タグによって個別に処理されるため、WKWebView インスタンスにイベントがバッチで送信されます。
- Tealium EventStream/AudienceStream/Event Data Framework 製品の場合、Collect モジュールを使用してイベントが単一の HTTP リクエストで送信されます。リクエストは Gzip 圧縮されます。イベントの制限値(最大10件のイベント)に達すると、接続が利用可能な場合はすぐに送信されます。
- イベントバッチングを無効にするには、バッチサイズを1に設定します
- 1回のヒットで最大10件のイベントを Tealium Customer Data Hub に送信できます
- オプションの Visitor Service モジュール(AudienceStream CDP が必要)。プロファイルが変更されるたびにリアルタイムで訪問者プロファイルを取得できます。
- 内部デバイス識別子をキャプチャする新しい変数「device_type」を追加しました。
- Visitor Service と Event Batching(DispatchQueue モジュール)の追加ヘッダドキュメント。
- Visitor Service モジュールとプロファイルの URL をオーバーライドする機能を追加しました。
- iOS 12.0 デバイスの場合、DeviceData モジュールで時折クラッシュが発生する可能性がある問題を修正しました。これは、iOS 12.0 のネットワークサブスクライバ情報 API に既知のバグがあるためです。バグが修正された iOS 12.1 にバージョンチェックを更新し、iOS 12.0 の場合は古い API を使用するようにしました。
- Xcode 10.3 でプロジェクトがビルドできるように、複雑なクロージャ内のコンパイラへの追加ヒントを追加しました。
- リモートコマンドの将来の互換性のための remote_api コールを追加しました。これにより、Tag Management の Web ビューに追加のコールがトリガーされます(モジュールが有効な場合)。デフォルトでは無効です。有効にするための設定オプション:
config.setIsRemoteAPIEnbled(true)
- 訪問者 ID を取得するためのメソッドを追加しました
高影響の変更
- 永続ストレージが UserDefaults から JSON ベースのファイルストレージに移動しました。データはデフォルトでデバイスのキャッシュディレクトリに保存されますが、これは設定で上書きできます。
- 可能な限り、すべての処理はバックグラウンドキューで実行されるようになりました。Tag Management モジュールを使用している場合、一部の処理はメインスレッドで実行される必要があるため、メインスレッドでの処理が制限されています。
- 次のモジュールが削除されました:
- FileStorage(Core の一部である DiskStorage に置き換えられました)
- DefaultsStorage(Core の一部である DiskStorage に置き換えられました)
- DataSource(VolatileData モジュールに統合されました)
- タグ管理の最適化(Webview)
UIWebView
が削除されました。デフォルトはWKWebView
です(Tag Management モジュールを使用している場合のみ)。iOS バージョン <11 のWKWebView
API のバグのため、これらのデバイスではクッキーが永続化されない場合があります。vdata
ディスパッチャが削除されました。すべての Collect モジュールリクエストは、POST リクエストとして/event
エンドポイントに送信されます。バッチリクエストの場合は/bulk-event
です。- 接続チェックが改善されました。
- 接続のクラッシュが修正されました(
TealiumRepeatingTimer
の解放) - プロジェクトを Xcode11 で動作するように更新しました
- クラッシュレポーターの依存関係が修正されました(現在は PLCrashReporter のバイナリビルドを使用していますが、修正が利用可能になるまで)
低影響の変更
- Attribution モジュールが Apple Search Ads API によって提供される追加のデータポイントを含むように更新されました
- DeviceData モジュールのデバイス名が最新の Apple デバイスを含むように更新されました
- ロギングの改善
- Swiftdoc の改善。すべてのパブリックメソッドに Xcode でクイックヘルプが利用できるようになりました
1.7.3 (2019年11月)
低影響の変更
- Xcode 11 での PLCrashReporter 依存関係の修正。ソースからビルドする代わりに、事前にビルドされたフレームワークを使用するようになりました。
1.7.2 (2019年8月)
低影響の変更
- リモートコマンドのユニットテストをサポートするためのマイナーな内部変更を行いました。
1.7.1 (2019年7月)
高影響の変更
WKWebView
の自動検出ロジックを改善しました。これにより、複雑なビューヒエラルキーの場合でも、ビューのインスタンスを手動で渡す必要がなくなります。自分自身のアプリで検証することが重要です。アプリのさまざまな画面でトラッキングコールがアプリを離れていくのを確認してください。これには、プッシュ通知から起動されるビューも含まれます。ビューヒエラルキーが変更される可能性があるためです。
1.7.0 (2019年5月)
高影響の変更
TagManagement
モジュール がデフォルトでWKWebView
を使用するようになりました。アップグレード前にタグ管理ドキュメントを注意深く読んでください。- 同意マネージャー: 同意のログ記録が有効になっている場合、監査目的で「decline_consent」というイベントが送信されます(GDPR の準拠)。
低影響の変更
- リモートコマンドの問題を修正し、Webビューへのコールバックが実行されない問題を修正しました。
- サンプルアプリを Xcode 10.2 と互換性があるように更新しました。
- 新機能: トレース。AudienceStream トレースセッションに参加および終了するための簡単な方法を提供します。アクティブな訪問者セッションも終了します。
- 複雑なビューヒエラルキーを使用して
TagManagement
を使用する方法を示す新しいサンプルアプリを追加しました。 - データレイヤー変数の標準化(データレイヤーを参照してください)。
1.50 - 1.6.7 (2018)
1.6.7 (2018年12月)
- 初期化完了時にモジュールの応答を含む init コンプリーションを再導入しました。Tealium は、すべてのモジュールが初期化された状態でコンプリーションブロックが呼び出されることが保証されます。
- コンプリーションは1回だけ呼び出されます。
TagManagement
のウェブビューの後続のリロードがリモートコマンドを再度有効にしないように修正しました。VolatileData
の引数なしのgetData()
メソッドを再導入しました。
1.6.6 (2018年12月)
低影響の変更
- アプリ拡張で
DeviceData
モジュールを使用できるように修正しました(UIApplication.shared
への安全なアクセス)。
1.6.5 (2018年11月)
高影響の変更
WKWebView
のisLoading
チェックを削除しました。- コールタイプをデータストリームキー「call_type」の値に自動設定するようにしました。
- TrackRequest の
.wasSent
抑制チェックを削除しました。 - 新しい内部
didFinish
およびdidFailToFinish
関数を追加しました。 - 辞書のサニタイズ関数を更新し、
[String]
配列の値を許可するようにしました。
1.6.4 (2018年10月)
低影響の変更
- Carthage で使用するために、
TealiumMulticastDelegate
およびTealiumLifecyclePersistentData
クラスをビルドターゲットに追加しました。 - アプリバージョンの更新に伴い、
TealiumMulticastDelegate
およびTealiumLifecyclePersistentData
クラスをアクセスできるようにしました。
1.6.3 (2018年9月)
高影響の変更
- ライフサイクル ID のセットが 30 分後に期限切れになるように修正しました。これは設定可能です。
1.6.2 (2018年9月)
高影響の変更
- クラッシュレポーターが一時的にビルドから削除されました。Xcode 10 ベータ版の問題によるものです。
低影響の変更
- ターゲットから「常に Swift バイナリを埋め込む」を削除しました。
1.6.1 (2018年7月)
高影響の変更
- ライフサイクルモジュールの初回起動コール検出の修正。ライフサイクルデータのアンアーカイブの修正。
1.6.0 (2018年7月)
- 高影響の変更
- 同意マネージャー モジュールの初版リリース。これはデフォルトで有効になっています。同意管理が不要な場合は、明示的に無効にする必要があります。そうしないと、トラッキングコールが送信されません。
- 低影響の変更/一般的な更新と改善
- すべてのモジュールが Swift 4.0 をサポートするように更新されました。わずかな変更のみが必要です。
- ドキュメントの大幅な改訂。すべてのモジュールのドキュメントが含まれ、より多くのコードサンプルが提供されています。
- ドキュメントのすべてのリンクを Learning Community に変更しました。
- すべてのモジュールに対してさらにユニットテストを追加しました。
- フレームワークプロジェクトにデバイスベースのテストを許可するための新しいスキームを追加しました。
- サンプル Tealium ヘルパーファイルを更新し、Objective-C アプリとの使用方法を可能にし、ベストプラクティスに合わせるようにしました。
- サンプル
TealiumHelper
ファイルのRemoteCommands
の例を修正しました。 - Attribution モジュールを更新し、Apple Search Ads API のサポートを追加しました。このモジュールを使用する場合、Tealium は Apple Search Ads API からの属性情報を収集します。
- Collect モジュールを更新し、新しい API を追加しました。これにより、ライブラリのインスタンスが新しい構成で更新されます。
- Connectivity モジュールを更新し、デバイスの接続が変更されたときにログを改善しました。現在の接続タイプを取得するためのヘルパーを追加しました。
- Core モジュールを更新し、トラックの失敗をライブラリの有効化に関連付けるようにしました。
- DeviceData モジュールを追加しました。以下のデータストリームキーの値を追加します:
device_architecture
device_battery_percent
device_build
device_cputype
device_ischarging
device_language
device_model
device_orientation
device_os_version
- Lifecycle モジュールを更新し、新しい構成でライフサイクルデータを更新するようにしました。すべてのファイルを
TealiumLifecycleModule.swift
に統合しました。明示的なオプショナルのアンラップの代わりにガード文を追加しました。 - Logger モジュールを更新し、保存、読み込み、トラックリクエストの成功または失敗をログに記録するようにしました。新しい構成でのトラックリクエストのログを追加しました。
LogLevel
をTealiumLogLevel
に名前変更し、手動でインポートされた実装の名前空間の衝突を回避しました。 - PersistentData モジュールを更新し、新しい構造体を使用するようにしました。
- RemoteCommands モジュールを更新し、新しい構造体を使用するようにしました。すべてのファイルを
TealiumRemoteCommandsModule.swift
に統合しました。 - TagManagement モジュールを更新し、新しい構造体を使用するようにしました。すべてのファイルを
TealiumTagManagementModule.swift
に統合しました。 - VolatileData モジュールを更新し、新しい構造体を使用するようにしました。
1.0.0 - 1.1.2 (2016)
1.1.2
- オプションの Autotracking モジュール(ビルド 1)を追加しました。モジュールとともに追加される変数:
-
autotracked : true/false
- Async モジュールを更新しました(ビルド 2)。次の便利なメソッドを追加しました:
init(config: TealiumConfig, completion:((_)->Void))
- Logger モジュールを更新しました(ビルド 2)。レポートチェーンの修正。
- Collect モジュールを更新しました(ビルド 2)。didFinish で更新されたトラックデータをプッシュする修正。
1.1.1 (2016年12月)
- Async モジュールを追加しました
[String:AnyObject]
辞書の使用をより便利な[String:Any]
に置き換えました- iOS サンプルアプリを更新しました。
- macOS サンプルアプリを更新しました。
- tvOS サンプルアプリを更新しました。
- watchOS サンプルアプリを更新しました。
1.1.0 (2016年10月)
- 新しいタイプのトラック API を追加しました。
- 新しい自動 Tealium 変数を追加しました:
app_uuid
tealium_event_type
- ドラッグアンドドロップモジュールアーキテクチャを実装しました。
- iOS サンプルアプリを追加しました。
- macOS サンプルアプリを追加しました。
- tvOS サンプルアプリを追加しました。
- watchOS サンプルアプリを追加しました。
- 追加のテストを追加しました。
1.0.1 (2016年9月)
- Swift 3.0 のサポート。
1.0.0 (2016年9月)
- 2.x Swift のサポート。XCode 8 では、シンタックス 2.3 に安全に更新できます(コードの変更は推奨されず、3.x の
最終更新日 :: 2024年April月11日