Tealium for iOS(Swift)リリースノート
iOS(Swift)ライブラリの各リリースの変更の完全なリスト。
2.13.0(2024年5月1日)
中程度の影響の変更
- ローカルの
RemoteCommands
を改善し、拡張子の有無に関係なくファイルパスを受け入れるようにしました。 - リモートコマンドとリモート設定の更新メカニズムとキャッシュを修正しました。
- リモートコマンドとリモート設定のリトライメカニズムを改善しました。
- URL
RemoteCommands
で、リモートファイルをダウンロードできない場合またはキャッシュされていない場合、commandId
を名前として使用してバンドルされたローカルファイルを使用できるようにしました。 - セッションの有効期限が切れた後に
TagManagementWebview
をリフレッシュするようにしました。
2.12.3(2024年3月)
低い影響の変更
- ディスクスペースカテゴリのプライバシーマニフェスト
NSPrivacyAccessedAPITypeReasons
を修正しました。
2.12.2(2024年2月)
低い影響の変更
- CocoaPodsでインストールする際にプライバシーマニフェストとの競合が発生する可能性がある問題を修正しました。
2.12.1(2024年2月)
低い影響の変更
- ライブラリのバージョンを最新のもの(2.12.1)に修正しました。
2.12.0(2024年2月)
中程度の影響の変更
- XCode 15を公式にサポートするようになりました。
- サポートされる最小のオペレーティングシステムバージョンを増やしました:iOS 12.0、TvOS 12.0、およびMacOS 10.14。
- プライバシーマニフェストをSDKに追加して、プライバシーAPIの使用理由を開示します。詳細を見る
2.11.1(2024年1月)
低い影響の変更
- 機能的な変更はありません。
Swift Package Manager
の最小サポートオペレーティングシステムバージョンの定義を修正しました。
2.11.0(2024年1月)
中程度の影響の変更
- サポートされる最小のオペレーティングシステムバージョンを増やしました:iOS 11.0、TvOS 11.0、WatchOS 4.0、およびMacOS 10.13。
Attribution
モジュールからiAd
フレームワークを削除しました。Appleによって無効化され、近日中に削除されるためです。
低い影響の変更
- リモート設定からSDK全体を無効にするオプションを実装しました。
- Macデバイスと最新のiOSデバイスを含むデバイス名のリストを更新しました。
TealiumVisitorProfile
のパースを改善して、null
文字列を優雅に受け入れるようにしました。- エラーログの可読性を向上させました。
- iOSデバイスモデルのリストを更新しました。
既知の問題
- これはXCode 14を対象とした最終リリースです。XCode 15ではiOS 11のサポートが削除されたことに注意してください。XCode 15にインストールするには、インストール後にTealiumライブラリの最小デプロイメントターゲットをiOS 12に手動で増やす必要があります。そうしないと、アプリが起動時にクラッシュします。詳細については、TEALIUM SWIFT BUG: Runtime crash on launch with Xcode 15 Releaseを参照してください。
2.10.1(2023年8月)
低い影響の変更
- Objective-Cライブラリからの以前の移行時に残ったデータレイヤーのデータ(
app_version
、uuid
、visitor_id
、last_track_event
、last_session_created
)を削除しました。 +load
メソッドがSwiftクラスのobj-c
カテゴリで定義されているため、XCode 15ベータ版でクラッシュする可能性がある問題を修正しました。
2.10.0(2023年5月)
低い影響の変更
- Tealiumインスタンスで内部のTagManagement WebViewにアクセスするための
getTagManagementWebView
メソッドを追加しました。これにより、クライアントはisInspectable
フラグを設定してXCode 14.3以上でデバッグできます。 TealiumConfig
オブジェクト内にあるWKWebViewConfiguration
を比較する際に発生する可能性のあるクラッシュを修正しました。- いくつかの内部ファイルが意図せずにバックアップされ、異なるデバイスで再利用される可能性のあるエッジケースを修正しました。
2.9.2(2023年4月)
低い影響の変更
- 大容量のデータレイヤーの場合の起動パフォーマンスを改善しました。
- 一部の内部モジュールでパブリッシュ設定が正しく更新されないバグを修正しました。
2.9.1(2023年2月)
低い影響の変更
- JSONリモートコマンドの複合キーのオーバーライドを導入し、デフォルトの区切り文字(
,
と:
)を新しい構成キーkeys_separation_delimiter
とkeys_equality_delimiter
で置き換えるようにしました。 - ライブラリを更新する際にデバイス上のTealium内部ファイルがリセットされる可能性のあるバグを修正しました。
2.9.0(2023年1月)
中程度の影響の変更
- iOS 14.5+向けに新しいApple Search Ads APIを実装しました(Attributionモジュール)。
- JSONリモートコマンドに対する新しい静的オブジェクトマッピングと複合キー機能を追加し、使用の柔軟性を向上させました。
低い影響の変更
- デバイス名のルックアップファイルを更新しました。
2.8.2(2022年10月)
低い影響の変更
- ビジターIDが切り替わった後に古いビジター識別子に対するビジタープロファイルリクエストが実行されないようにしました。
2.8.1(2022年10月)
低い影響の変更
- 機能的な変更はありません。Carthageでのビルドエラーを回避するために、Carthageでのビルド時にCarthageのためのクラッシュを防ぎました。
2.8.0(2022年10月)
低い影響の変更
- Tag Managementモジュールのコードとスレッドセキュリティを改善しました。
- VisitorServiceの
requestVisitorProfile
は、visitorServiceRefresh
構成キーで設定されたタイムアウトをスキップするようになりました。 Tealium
クラスのonVisitorId
の変更を通知するために、onVisitorId
の観測可能なオブジェクトをTealium
クラスに追加しました。これは、resetVisitorId
が呼び出された場合や自動的に新しいビジターに切り替わった場合に新しいIDを通知するためです。- 新しいビジター切り替えAPIのための
visitorIdentityKey
構成キーを追加しました。 app_uuid
ストレージをデータレイヤーに移行し、必要に応じてアプリケーションが削除できるようにしました。- 現在のおよび以前のIDのすべての保存されたビジターIDを削除し、現在の
visitorId
をリセットするためのclearStoredVisitorIds
メソッドをTealium
クラスに追加しました。 AdobeVisitorService
モジュールのdecorateUrl
メソッドを追加し、URLにAdobeクエリパラメータを追加する機能を追加しました。
新機能
- Adobe ECIDのクエリパラメータプロバイダ機能をTag Managementモジュールに追加し、WebビューURLにAdobeクエリパラメータを追加する機能を追加しました。
- リモートコマンドで
all_events
およびall_views
に対するコマンドマッピングをサポートしました。これらはそれぞれイベントとビューでトリガされます。 - ビジタースイッチングのサポートを追加しました。
2.7.0(2022年9月)
低い影響の変更
SKAdNetwork
の呼び出しを更新し、iOS 15の場合はupdatePostbackConversionValue
を使用するようにしました。
高い影響の変更
trackUserConsentCategories
への初期呼び出しを削除しました。これにより、依存関係がある場合に影響を受ける可能性があります。
新機能
- カスタムサーバーサイドの同意のカスタム強制をサポートするために、
overrideConsentCategoriesKey
の設定オプションを追加しました。
2.6.5(2022年5月)
低い影響の変更
- 機能的な変更はありません。プリビルドフレームワークでのコンパイルエラーを修正しました。
2.6.4(2022年5月)
低い影響の変更
- ビジタープロファイルのための
visitorId
の保存と更新ロジックを改善しました。 - アプリがバックグラウンドで実行されている場合に位置情報の更新を有効にするための設定フラグ
enableBackgroundLocation
を追加しました。 - キューに入れられたトラッキングイベントの有効期限を指定するための
dispatchExpiration
ロジックを修正し、-1を指定してキューに入れられたトラッキングイベントが期限切れにならないようにしました。 - ビルドエラーを解決するために、プリビルドフレームワークでのCatalystのサポートを削除しました。
- リモートコマンドの名前とバージョンのトラッキングを修正しました。
2.6.3(2022年3月)
低い影響の変更
- パブリッシュ設定が複数回取得される可能性のあるバグを修正しました。
untilRestart
の有効期限を持つdataLayer
変数が削除されないバグを修正しました。- 次のLocationモジュールは、それぞれのゲッターに置き換えられました:
createdGeofences
->getCreatedGeofences(completion:)
lastLocation
->getLastLocation(completion:)
monitoredGeofences
->getMonitoredGeofences(completion:)
2.6.2(2022年2月)
低い影響の変更
- セッションのカウントロジックを修正し、セッションの2番目のイベントでセッションヒットを送信するようにしました。
2.6.1(2022年2月)
低い影響の変更
- 列挙型ベースのエラーのログを改善しました。
TealiumConfig
のsessioncountingenabled
フラグを追加し、セルフホスト型のJavaScriptファイルを使用するTealium iQアカウントでセッションカウントを無効にすることができるようにしました。
2.6.0(2022年1月)
中程度の影響の変更
- 新しいApple Search Ads API(iOS 14.5+)をAttributionモジュールに実装しました。
- データレイヤーとCollectorの変数をすべてのデータレイヤーとCollectorの変数を使用して取得するためのメソッド
Tealium.gatherTrackData()
を追加しました。 TealiumKeys
をTealiumDataKeys
に名前変更し、gatherTrackData()
で使用するために追加しました。- リリースビルドでは非コーダブルな値を無視し、デバッグビルドではクラッシュするようにすることで、Codableのサポートを改善しました。
- ジオフェンスの読み込みに対するメインスレッドの使用を減らしました。
新機能
- ストリーミングメディアをアプリ内で自動的にトラッキングするメディアモジュールを追加しました。
TealiumInAppPurchase
モジュールを追加し、アプリ内購入を自動的にトラッキングする機能を追加しました。
低い影響の変更
- デバイスモデル名のリストを更新しました。
2.5.1(2021年12月)
中程度の影響の変更
- 静的ライブラリとしてコンパイルする場合にSwiftコードのインポートをObjective-Cファイルで修正しました。これにより、Carthageを使用して依存関係を追加する場合にAppStoreの提出エラーが発生しなくなります。
- Carthageでビルドするために、
tealium-swift.xcodeproj
内のTealiumAttribution
スキームを追加しました。
2.5.0(2021年11月)
低い影響の変更
- Apple Watchでのトラッキングができなくなるバグを修正しました。
- AppDelegateでのディープリンクトラッキングができなくなるバグを修正しました。
- Objective-Cライブラリからの移行時にクラッシュする可能性のあるライフサイクルモジュールを修正しました。
新機能
- SwiftUIとUIKitの両方をサポートし、クロスプラットフォーム(iOS、watchOS、tvOS、macOS)で使用できるAutoTrackingモジュールを追加しました。
低い影響の変更
- AutoTrackingモジュールのSPMサポートを追加しました。
- シーンデリゲートとSwiftUIアプリのディープリンクの自動ハンドリングを追加しました。
- 自動ディープリンクトラッキングを無効にするための値が
false
のTealiumAutotrackingDeepLinkEnabled
というinfo.plistフラグを追加しました。 - ディープリンクの手動トラッキングをサポートするために、SwiftUIの場合は
trackingAppOpenUrl()
ビューモディファイアまたはTealiumAppTrackable
コンテナビューを使用し、UIKitの場合はAppDelegateまたはSceneDelegateからhandleDeepLink()
を使用します。
低い影響の変更
Tealium.gatherTrackData()
を使用してすべてのデータレイヤーとCollectorの変数を利用できるようにしました。- 一貫性のために
TealiumKeys
をTealiumDataKeys
に名前変更しました。 - リリースビルドでは非コーダブルな値を無視し、デバッグビルドではクラッシュするようにすることで、Codableのサポートを改善しました。
- ジオフェンスの読み込みに対するメインスレッドの使用を減らしました。
既知の問題
- CocoaPodsのプラットフォームiOSバージョンは、リンティングの問題により11に増加しています(ただし、必要に応じてポストインストールスクリプトで9に下げても安全です)。
- CarthageはXcode 13で警告を生成します(https://github.com/Carthage/Carthage/issues/3238)。
2.4.6(2021年10月)
低い影響の変更
RemoteCommand
を解放する前にHTTPリクエストを送信するとクラッシュする可能性のあるバグを修正しました。- セッションが30分以上続く場合にデータレイヤー変数が永続化されないバグを修正しました。
batterySaver
機能が無効化されている場合にisLowPowerModeEnabled
の通知に登録しないようにし、iOS 15の内部デッドロックでクラッシュする可能性を回避しました。- 既定のクッキーの移行ロジックを削除しました。これは、
UIWebView
からWKWebView
にクッキーを移行するために使用されていました。 - URLのバリデーションに使用される正規表現を更新しました。これにより、localhost、ローカルIP、およびポートを持つURLなど、より一般的でないURLを使用できるようになりました。
2.3.2(2021年6月)
中程度の影響の変更
- 永続ストレージモジュールを更新し、iOS 14.7+へのアップグレード時に永続データが削除されないようにしました。
低い影響の変更
- リモートコマンドモジュールの内部の
NotificationCenter
を削除し、デリゲートパターンに置き換えました。
2.3.1(2021年5月)
低い影響の変更
policy
キーをTealiumConsentPolicy
に変更し、デフォルトの同意ポリシーをpolicy
に戻しました。
2.3.0(2021年4月)
高い影響の変更
- リモートコマンド機能が更新され、リモートまたはローカルにホストされたJSON構成ファイルを使用する新しいオプションが追加され、Webビューが不要になりました。リモートコマンドタグオプションを使用する場合、iQ Tag ManagementでWebビューが必要です。JSON制御リモートコマンドについて詳しくは、こちらをご覧ください。
- iOS 14+の_Approximate Location Tracking_をサポートするためのサポートを追加しました。
TealiumLocation
モジュールを介してrequestTemporaryFullAccuracyAuthorization(purposeKey:)
関数を使用します。iOS 14 Location Updatesとrequesting temporary full authorizationについて詳しくは、こちらをご覧ください。
中程度の影響の変更
platform
変数の値を小文字に変更して、モバイルセッションタイマーを修正しました。以前は、セッションはWebと同様に測定されていました(一貫したアクティビティの30分)。platform
変数を小文字に変更することで、Customer Data Hubは受信データをモバイルセッションとして認識し、セッションの長さが2分に短縮されます。
Loadルールがplatform
の値を区別するように設定されている場合(iOS
vs ios
など)、Loadルールを更新してtealium_event_type
を確認するようにしてください。
低い影響の変更
origin: mobile
をトラックペイロードに追加しました。
2.2.2(2021年1月)
低い影響の変更
- ユーザーの同意ステータスの有効期限を設定し、同意が期限切れになったときにトリガーされるコールバックを追加するオプションを追加しました。同意管理について詳しくは、同意管理のドキュメントをご覧ください。
- ユーザーのビジターIDをリセットするためのパブリックメソッドを追加しました。
- Tealiumのデイリゲートを解放する際にリスナーを削除しました。
2.2.1(2021年1月)
低い影響の変更
- Carthageを使用して依存関係を追加する場合にAppStoreの提出エラーが発生するため、
TealiumCore
を埋め込みフレームワークから削除しました。 - Carthageでビルドするために、
tealium-swift.xcodeproj
内のTealiumAttribution
スキームを追加しました。
2.2.0(2020年11月)
新機能
- 同意管理モジュールにCCPA APIを追加しました。同意管理については、同意管理のドキュメントをご覧ください。
- ネイティブホステッドデータレイヤーサポート
- ユーザーがアプリをディープリンク、ユニバーサルリンク、またはクエリ文字列パラメータを使用して開いた場合に、ディープリンクURL、ユニバーサルリンクURL、およびクエリ文字列パラメータをデータレイヤーに追加する自動ディープリンクトラッキング
- Customer Data Hub UIからQRコードをスキャンしてトレースを開始する機能
- Appleが推奨する
OSLog
を使用する新しいTealiumLogger
を追加しました。TealiumConfig
オブジェクトのlogType
プロパティを設定することで、引き続きprint
を使用するオプションもあります。Loggingについて詳しくは、こちらをご覧ください。 - パフォーマンスの向上のために、いくつかの補助モジュールをCoreライブラリに統合しました。詳細については、モジュールセクションをご覧ください。
- 更新された
track()
メソッドを使用して、Dispatch
タイプのView
またはEvent
を受け入れるようにしました。これにより、1つのtrack
メソッドをサポートし、スクリーンとイベントのトラッキングについてより明確にします。更新されたtrack()
メソッドについては、こちらをご覧ください。 - データ変数の有効期限のさらなるオプションをサポートしました。詳細については、データレイヤーをご覧ください。
- セッションカウントのためのutag.js内のセッションカウントロジックの代わりに、ネイティブのセッションカウントをサポートしました。これにより、より正確なセッションカウントが可能になり、バックグラウンドのアクティビティが新しいセッションをトリガーし、予想よりもセッションカウントが高くなるエッジケースが修正されます。
⚠️重要⚠️ もしTag Managementモジュールをディスパッチオプションとして使用している場合、関連するTiQアカウント/プロファイルのmobile.html
テンプレートも更新する必要があります。この手順を実行しないと、Tealiumで重複したセッションが記録されます。テンプレートの更新方法については、テンプレートについてをご覧いただくか、アカウントマネージャーにお問い合わせください。
高い影響の変更
- Swiftのベストプラクティスに合わせてAPIを更新しました。
- パフォーマンス向上のためにモジュールシステムを最適化しました。
- パフォーマンス向上のために各モジュールを最適化しました。
- APIのシンプルさのために複数のデリゲートオプションを削除しました。
- 接続のチェックを改善しました - サポートされているデバイスでは
NWPathMonitor
を使用します。 - プロジェクトからCrashReporterモジュールを削除し、使用する場合は別のリポジトリに追加しました。
- RemoteCommandsモジュールのNotificationCenterを削除し、デリゲートパターンに置き換えました。
低い影響の変更
- テスト可能性のためにより多くのプロトコルと結果タイプを追加しました。
- 一貫性のためにクラス名を更新しました。
- インラインのコードドキュメントを追加しました。
- ユニットテストを更新し、パフォーマンステストを追加しました。
2.x以前のリリースノートについては、Tealium for Swift 1.xを参照してください。
最終更新日 :: 2024年June月6日