リリースノート
以下は、Swiftライブラリのリリースごとの変更点をまとめた包括的なリストです。
バージョン1.9.0~1.9.4(2020年)
バージョン1.9.4
リリース:2020年4月
影響の小さい変更点
- PLCrashReporterの依存関係が一部のプラットフォームでビルドの失敗の原因となっていた、Carthageビルドに影響する問題を修正
- リモート公開設定が有効になっている場合にリモートコマンドモジュールがコマンドを複数回トリガーすることのあったバグを修正
- iOS以外のプラットフォームでSwift Package Managerを介してライブラリをインストールした場合にSwiftUIプレビューが失敗する問題を修正
バージョン1.9.3
リリース:2020年3月
影響の小さい変更点
機能変更はなし。macOSプラットフォームのCarthageビルドに影響する問題を修正。
バージョン1.9.2
リリース:2020年3月
影響の小さい変更点
- 最大キューサイズが次の値に設定されている場合にクラッシュの原因となるDispatchQueueモジュールのバグを修正。
-1
PLCrashReporter
の依存関係を更新
バージョン1.9.1
リリース:2020年2月
影響の小さい変更点
このバージョンでは機能は変更されませんでした。Carthage依存関係マネージャの問題を修正するために、バージョン番号が1.9.1に引き上げられました。それ以外の変更はありません。
バージョン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
メソッドを最適化。TealiumConfig
設定を変更するためにupdate
メソッドが呼び出されたときに、モジュールが初期化解除されてから再初期化されなくなりました
影響の大きい変更点
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
このエラーは、AppleがWebKitライブラリでこの問題を修正するまで、Tag Managementモジュールを使用している場合に表示されます。詳細はこちらをご覧ください。
バージョン1.70~1.8.2(2019年)
バージョン1.8.2
リリース:2019年12月
影響の小さい変更点
- スレッド関連のリモートコマンドのクラッシュを修正121
- 保存されるライフサイクルセッションを20セッションに減らして、メモリ不足に関連したクラッシュを解決120
Tealium
クラスの完全な初期化解除を妨げる場合のある一部の保持サイクルを修正- TealiumInstanceManagerにremoveInstanceメソッドを追加して、
Tealium
の完全な初期化解除を可能に - WKWebViewのCookieオブザーバーを使用しないように構成オプションを追加117(
config.shouldAddCookieObserver = false
) init
がモジュールリスト内のモジュールでのみ呼び出されるようにモジュールの初期化を最適化。- Tag Managementの完了時に予想どおりの詳細(エラー/情報)が返されない問題を修正。関連情報:118
バージョン1.8.1
リリース:2019年11月
影響の小さい変更点
- Tag Managementモジュールでクラッシュを引き起こすことのあるバグを修正
バージョン1.8.0
リリース:2019年11月
新機能
- イベントバッチ処理
- 1回のヒットで最大10イベントをTealium Customer Data Hubに送信
- Tag Managementでは、イベントが
WKWebView
インスタンスに一括してディスパッチされ、プロファイルのJavaScriptタグによって個別に処理されます。 - Tealium EventStream/AudienceStream/Event Data Framework製品の場合、Collectモジュールを使用すると、イベントは単一のHTTPリクエストでディスパッチされます。リクエストはGZIPで圧縮されます。イベント数の上限に達すると(最大10イベント)、接続が使用可能な場合は、イベントが直ちにディスパッチされます。
- Tag Managementでは、イベントが
- イベントのバッチ処理を無効にするには、バッチサイズを1に設定します
- 1回のヒットで最大10イベントをTealium Customer Data Hubに送信
- オプションの訪問者サービスモジュール(AudienceStream CDPが必要)。プロファイルが変更されるとすぐに、訪問者プロファイルをリアルタイムで取得します。
- 内部デバイス識別子をキャプチャする新しい変数
"device_type"
(例:iPhone8,4)。 - 訪問者サービスとイベントバッチ処理(DispatchQueueモジュール)に関する追加ヘッダードキュメント。
- 訪問者サービスモジュールのURLとプロファイルの両方をオーバーライドする機能を追加
- iOS 12.0ネットワークサブスクライバー情報APIの既知のバグが原因であった、DeviceDataモジュールでiOS 12.0デバイスがクラッシュする可能性のある問題を修正。バグが修正されたiOS 12.1にバージョンチェックを引き上げ、iOS 12.0では古いAPIにフォールバックしました
- Xcode 10.3でプロジェクトをビルドできるように、複雑なクロージャ内のコンパイラに関するヒントを追加。
- 将来のリモートコマンドの互換性のためにremote_api呼び出しを追加。これにより、Tag Management WebViewへの追加の呼び出しがトリガーされます(モジュールが有効になっている場合)。デフォルトでは無効になっています。有効にするための構成オプション:
config.setIsRemoteAPIEnbled(true)
- 訪問者IDを取得するメソッドを追加
影響の大きい変更点
- 永続的ストレージは、UserDefaultsからJSONベースのファイルストレージに移動されました。データはデフォルトでデバイスのcachesディレクトリに保存されますが、この設定は構成でオーバーライドできます。
- 可能な場合は、すべての処理がバックグラウンドキューで実行されるようになりました。Tag Managementモジュールを使用している場合、これはWKWebViewの要件であるため、メインスレッドで実行される処理の量が制限されます。
- 以下のモジュールが削除されました。
- FileStorage(コアの一部であるDiskStorageに置き換えられました)
- DefaultsStorage(コアの一部であるDiskStorageに置き換えられました)
- DataSource(VolatileDataモジュールに組み込まれした)
- Tag Managementの最適化(Webview)
UIWebView
が削除されました。デフォルトはWKWebView
になりました(Tag Managementモジュールを使用している場合のみ)。バージョン11より前のiOSのWKWebView
APIに含まれるバグが原因で、以前のtealium-swiftバージョンから1.8.0にアップグレードすると、これらのデバイスでCookieが保持されない場合があります。vdata
ディスパッチャーが削除されました。すべてのCollectモジュールリクエストは、POSTリクエストとして/event
エンドポイントまたは(バッチリクエストの場合は)/bulk-event
に送信されるようになりました- 接続性チェックが改善されました。
- 接続がクラッシュする問題が修正されました(
TealiumRepeatingTimer
deinit) - Xcode11と連携するようにプロジェクトを更新しました
- クラッシュレポーターの依存関係が修正されました(現時点では、修正プログラムが利用可能になるまで、PLCrashReporterのバイナリビルドを使用しています)
影響の小さい変更点
- Apple Search Ads APIによって提供される追加のデータポイントを含むようアトリビューションモジュールが更新されました
- 最新のAppleデバイスを含むようにDeviceDataモジュールのデバイス名が更新されました
- ログ機能の改善
- Swiftdocの改善。すべてのパブリックメソッドのクイックヘルプがXcodeで利用できるようになりました
バージョン1.7.3
リリース:2019年11月
影響の小さい変更点 * Xcode 11でのPLCrashReporter依存関係の修正。ソースから構築する代わりに、事前に構築されたフレームワークを使用するようになりました。
バージョン1.7.2
リリース:2019年8月
影響の小さい変更点 * リモートコマンドの単体テストをサポートするための軽微な内部変更。
バージョン1.7.1
リリース:2019年7月
影響の大きい変更点
WKWebView
向けのUIView
自動検出ロジックが改善されました。Webview構成内のUIViewインスタンスを手動で渡す必要がないので、複雑なビュー階層を伴うほとんどのケースで改善効果が得られます。独自のアプリでの検証が不可欠です。トラッキングコールの実行後に、プッシュ通知から起動されるビューなど、ビュー階層が変更されている可能性のあるアプリ内のさまざまな画面が表示されることを確認してください。
バージョン1.7.0
リリース:2019年5月
影響の大きい変更点
TagManagement
モジュールでUIWebView
ではなくWKWebView
がデフォルトで使用されるようになりました。アップグレードの前に、タグ管理に関するドキュメントをよくお読みください。- Consent Manager:同意の記録が有効な場合、
"decline_consent"
イベントが監査の目的で送信されます(GDPRコンプライアンス)。
影響の小さい変更点
- バグ修正:リモートコマンドで、ウェブビューへのコールバックが実行されなかった問題を修正しました。
- Xcode 10.2と互換性を持つようにサンプルアプリを更新しました。
- 新機能:トレース。AudienceStreamトレースセッションに参加し、退出するための簡単な方法(アクティブな訪問者セッションの終了方法を含む)を提供します。
TagManagement
を複雑なビュー階層で使用する方法を示す新しいサンプルアプリ。- データレイヤー変数の標準化(完全なリストについては、「データレイヤー」を参照)。
バージョン1.50~1.6.7(2018年)
バージョン1.6.7(2018年12月)
- モジュール応答による初期化完了を再導入しました。Tealiumは、完了ブロックが呼び出されたときに、すべてのモジュールとともに初期化されることが保証されています。
- 完了ブロックは1回のみ呼び出されます。
- 以降の
TagManagement
Webview(有効な場合)の再読み込み時に、リモートコマンドが再度有効になることはありません。 - 引数のないVolatileData getData()メソッドが再導入されました。
バージョン1.6.6(2018年12月)
影響の小さい変更点
DeviceData
モジュールをアプリ拡張機能で使用できるようにするための修正(UIApplication.shared
への機能拡張セーフなアクセス)。
バージョン1.6.5(2018年11月)
影響の大きい変更点
- ライブラリコンポーネントの完全モジュール化、必要なモジュールのみをインポート。
- CocoaPodsモジュールのインポートを
tealium_swift
からTealiumSwift
に変更。 - Xcode 10でSwift 3.Xが非推奨となったため、現在サポートされる最小のSwiftバージョンは4.0です。4.0より前のSwiftバージョンをサポートする最後のバージョンは、1.6.4です。Swift 3.2のサポートが必要な場合は、そちらをご使用ください。
Core
”モジュールの応答を完了クロージャから簡素化のために削除しましたTealiumConfig
:必要な特定のモジュールのみをインポートする場合、TealiumModulesList
は不要になりました。存在する場合は、引き続きこれまでどおりに機能します。TagManagement
モジュール:iOS 12では、UIWebView
APIでメモリリークが発生しています。これはTealiumの制御範囲外であり、Appleのログに記録されています。これはわずかなリークであり、お客様のアプリに大きな影響を与えることはありませんが、”Leaks”測定でアプリのプロファイリングを行うと表示されます。このリークは、Appleが問題を修正し次第、将来のiOSの更新で解消されます。詳細はこちらをご覧ください。タグ管理機能が必要ない場合は、ビルドからTagManagement
モジュールを削除してもかまいません。それにより、このリークが発生しなくなります。- リモートコマンド:Tealiumインスタンスで公開されているパブリックAPIメソッドの代わりに、
TealiumConfig
インスタンスを使用して、リモートコマンドを追加してください。RemoteCommandsモジュールの詳細はこちらをご覧ください。
影響の小さい変更点
Core
:ライブラリ起動時間の改善。CrashReporter
モジュール:Xcode 10の修正に従ってCrash Reporterモジュールを再導入。VolatileData
モジュール:キューに追加されたヒットからのタイムスタンプが上書きされるバグを修正。VolatileData
モジュール:秒単位の精度を持つ1970年代タイムスタンプであるevent_timestamp_unix
を追加。TagManagement
モジュール:入れ子オブジェクトのサポート開始。TagManagement
モジュール:メモリリークの修正。RemoteCommands
モジュール:リモートHTTPコマンドを呼び出しても実行されない場合があったバグを修正。PersistentData
モジュール:メモリリークの可能性に関するバグ修正。Lifecycle
モジュール:クラッシュデータが1つのイベントを超えて持続し、分析レポートのクラッシュ指標が増大することがあったバグを修正。現在は”起動”に関するクラッシュのみ送信されます。DeviceData
モジュール:不要な依存関係を解消するためにnetwork_connection_type
をConnectivityモジュールに移動しました。DeviceData
モジュール:アプリの向きを示すものとして既存のdevice_orientation
とdevice_orientation_extended
のほかにapp_orientation
とapp_orientation_extended
を追加。Delegate
モジュール:Tealium
完了ハンドラーはTealiumCore
フレームワークに移動されました。Connectivity
モジュール:デバイスがオフラインのときにキューをフラッシュするデフォルト時間を30秒に設定。Connectivity
モジュール:接続確認用のタイマーコードの周囲に保護を追加。Attribution
モジュール:4.0より前のSwiftバージョン(XcodeでSwift 3が非推奨になったためサポート終了)に対する不要なコードを削除。
バージョン1.6.4(2018年10月)
影響の小さい変更点
- CocoaPods/Carthageの使用時に
TealiumRemoteCommand
クラスにアクセスできるようにするための軽微な修正(アクセスレベルをパブリックからオープンに変更)。
バージョン1.6.3(2018年10月)
影響の小さい変更点
- 新しいバージョンのXcode/Swiftで考慮されていないLogLevelに対する修正。
- セルラーデータ接続で誤った種類の接続をレポートするConnectivityモジュールに対する修正。
バージョン1.6.2(2018年9月)
影響の大きい変更点
- Xcode 10ベータでの問題により、Crash Reporterをビルドから一時的に削除。
影響の小さい変更点
- Swiftバイナリを常に埋め込む機能をターゲットから削除。
バージョン1.6.1(2018年9月)
影響の大きい変更点
- セッションIDに対する修正、TealiumセッションIDの有効期限が30分後に切れるよう設定。この値は変更可能です。
バージョン1.6.0(2018年7月)
- 影響の大きい変更点
- Consent Managerモジュールの初回リリース。デフォルトで有効になっています。同意管理が必要ない場合は、これを明示的に無効にする必要があります。そうしないと、トラッキングコールが送信されません。
- 影響の小さい変更点
- 古い32ビットデバイスに関連した、大きな整数タイムスタンプによるクラッシュを修正しました(
Int
からInt64
に変更)。 - オフラインで収集したデータをアプリの終了時に永続化できるように、Dispatch Queueモジュールを追加しました。
- 古い32ビットデバイスに関連した、大きな整数タイムスタンプによるクラッシュを修正しました(
バージョン1.5.0(2018年4月)
- Tealium Crash Reporterの最初のリリース。
- 軽微なバグ修正。
バージョン1.1.3~1.4.0(2017年)
バージョン1.4.0(2017年12月)
影響の大きい変更点:これらは以前の動作または変数名/値に対する変更です。ライブラリをアップグレードする前に、アカウントの設定を確認し、タグ/アクションのトリガーが以前の動作に依存していないことを確認してください。また、リリース間での後方互換性を保持するためのJavaScript拡張機能については、変数のリストを参照してください。
TealiumTrackType
の非推奨トラックメソッドを削除。代わりにtrackView
またはtrackEvent
メソッドを呼び出して、トラックコールの種類を区別するようになりました。tealium_event_type
は、Customer Data Hubイベント仕様で取得され、送信する必要がないため、すべての発信トラックコールから削除されました- ライフサイクルモジュールは、Objective-Cライブラリと同じ
NSNotifications
を使用するように変更されました(UIApplicationDidBecomeActive
およびUIApplicationWillResignActive
)。この変更により、ライフサイクルイベントが可能な限り迅速にキャプチャされます。 device_orientation
はPortraitかLandscapeの区別だけに変更し(Objective-Cのライブラリと同じ)、Z軸の方向(上向きや下向きなど)を記録する新しい変数device_orientation_full
を導入しました。device_build
変数をdevice_os_build
変数に変更してわかりやすくしました。device_build
は送信されなくなりました。この変数を以前使っていた場合はマッピングの更新が必要になります。- Attributionモジュール:
device_advertising_id
をIdentifier for Vendor(IDFV)からIdentifier for Advertisers(IDFA)に変更しました。IDFVを含む新しい変数device_advertising_vendor_id
を追加しました。
影響の小さい変更点/全般的な更新と改善
- Swift 4.0をサポートするようにすべてのモジュールを更新しました。軽微な変更のみが必要です。
- ドキュメント関連の大きな変更、すべてのモジュールにドキュメントが含まれるようになり、コードサンプルも増加。
- すべてのドキュメントについてLearning Communityを参照するよう
README.md
を変更。 - すべてのモジュールにユニットテストを追加。
- デバイスベースのテストを実施できるように、フレームワークプロジェクトに新しいスキームを追加。
- Objective-Cアプリで使用でき、ベストプラクティスと整合するように、サンプルTealiumヘルパーファイルを変更。
- サンプル
TealiumHelper
ファイルに含まれるRemoteCommands
の例を修正。 Attribution
モジュール:Apple Search Ads APIのサポートを追加。このモジュールを使用した場合、TealiumはApple Search Ads APIから属性情報を収集します。Collect
モジュール:収集URLをオーバーライドするためのconfigメソッドを追加。Connectivity
モジュール:デバイスの接続が変化したときの記録を改善。現在の接続の種類を取得するためのヘルパーを追加しました。Core
:ビューコールにcall_type
変数を追加。- ビューコールに
screen_title
を追加。これは、trackView
コールに渡される"title"
パラメータに設定されます。トラックコールの場合、tealium_event
は最初のパラメータとして渡される文字列値に設定されます。 FileStorage
モジュール:権限エラーによってデータがディスクに永続化されなかったバグを修正。Lifecycle
永続性データ:Swift 4.0をサポートし、追加のエラーチェックを行うように、NSKeyedUnarchiver
の実装を変更。Logger
モジュール:永続性データのログを改善。RemoteCommands
モジュール:非推奨の有効化/無効化メソッドを削除。TagManagement
:Swift 4.0との互換性のための軽微な更新。VolatileData
:すべての揮発性データを削除する新しいパブリックメソッドを追加。- DeviceDataモジュール:
- OS名を追加しました。
- OSのバージョンを追加しました。
- デバイスの画面解像度を追加しました。
- ネットワーク(キャリア)の情報(MNC、MCC、ISOの各コード)を追加しました。
- 現在の接続の種類を追加しました。
- 充電状態の情報を追加しました。
- バッテリーが-100と表示されるバグを修正しました。
- 細かいデバイスモデルを追加しました。たとえば「iPhone 7(GSM)」などです。
- “device_build”変数を
"device_os_build"
変数に変更してわかりやすくしました。"device_build"
は送信されなくなりました。この変数を以前使っていた場合はマッピングの更新が必要になります。 "device_orientation"
はPortraitかLandscapeの区別だけに変更し(Objective-Cのライブラリと同じ)、Z軸の方向(上向きや下向きなど)を記録する新しい変数"device_orientation_extended"
を導入しました。- WatchKitデバイスデータのサポートを追加しました(利用可能なデータは限定的です)。
バージョン1.3.3(2017年10月)
- 特定の状況でユニットテストがクラッシュするバグを修正
- アプリで読み込まれたすべてのクラスに対して反復する必要がないように、モジュール検出を最適化
バージョン1.3.2(2017年8月)
- Builderプロジェクトの更新 - Carthageのサポートに関する修正
- アクセス制御の更新:
Tealium
(ビルド4)TealiumAutotracking
(ビルド4)TealiumDatasource
(ビルド3)TealiumDelegate
(ビルド4)TealiumModules
(ビルド2)TealiumMulticastDelegate
(ビルド3)TealiumRemoteCommands
(ビルド3)TealiumTagManagement
(ビルド3)
Tealium
(ビルド4)に新しい関数を追加:trackView(title:data:completion)
Autotracking
モジュール(ビルド4)にインスタンスレベルのカスタムデータアクセス/編集関数を追加しました。Async
モジュールを削除しました。すべての内部ディスパッチキュールーティングを削除しました。Collect
モジュール(ビルド4)。TrackRequest
.wasSent
の抑制チェックを削除しました。info関数を備えた新しいdidFinishおよびdidFailToFinishを追加しました。Core Config
(ビルド3)に、libで使用するターゲットキューの割り当ておよび取得機能を追加しました。Core Constants
(ビルド3)。TrackRequest
.wasSent
プロパティを削除し、ModuleResponse
.info
プロパティを追加して、.info
プロパティをモジュールのトラック関連関数から削除しました。AppData
Attribution
Autotracking
Connectivity
Datasource
Delegate
Lifecycle
PersistentData
VolatileData
Core ModulesManager
(ビルド4)を、ライブラリの有効化失敗によるトラック障害をレポートするよう更新しました。- iOSビルド用に
DeviceData
モジュール(ビルド1)を追加しました。キーに対して以下のデータストリーム値を追加します。 -device_architecture
-device_battery_percent
-device_build
-device_cputype
-device_ischarging
-device_language
-device_model
-device_orientation
-device_os_version
Lifecycle
(ビルド3)。最初の起動コール検出の修正。各種のアプリビルドからのライフサイクルデータを処理するようUnarchiveを修正。Logger
(ビルド3)を、リクエスト情報の代わりにmoduleResponseに新しいトラックデータを記録するよう更新しました。失敗した保存および読み込みリクエストを記録します。デフォルトのログレベルを.verbose
から.errors
に変更しました。RemoteCommands
モジュール(ビルド3)で、ライブラリ全体のキュー設定によるコマンドごとのキュー割り当てを削除しました。TagManagement
モジュール(ビルド3)の更新: - WebviewのisLoading
チェックを削除しました。 - コールの種類をデータストリームキー"call_type"
の値に自動設定します。 - TrackRequest.wasSent
の抑制チェックを削除しました。 - info関数を備えた新しい内部didFinish
およびdidFailToFinish
を追加しました。 -[String]
配列値を許可するようにディクショナリ健全化関数を更新しました。VolatileData
モジュール(ビルド3)に変更を加え、起動直後に新しいデータの追加を受け付けるようにしました。
バージョン1.3.1(2017年7月)
- (Carthageにより使用される)
Builder
を更新し、以前はなかったTealiumMulticastDelegate
およびTealiumLifecyclePersistentData
クラスをビルドターゲットに含めるようにしました。 AppData
モジュール(ビルド3)をapp_versionに関して修正し、新しいキーと値を追加しました。- app_build(アプリケーションビルド番号)
Async
モジュール(ビルド4)に、ディスパッチキュー割り当て用のos xバージョンチェックを追加しました。Delegate
モジュール(ビルド3)で、使用しないコードを削除しました。
バージョン1.3.0(2017年7月)
- TealiumProcessおよびTealiumTrack構造体の代わりに、簡素化されたモジュールベースクラスと新しい内部TealiumRequest構造体を使用するように、すべてのモジュールを更新しました。
- ほとんどのモジュール関連ファイルが1つのモジュールクラスファイルに集約されたため、参照が高速になり、将来的にモジュールサブフォルダを削除できます。
Connectivity
モジュール(ビルド1)を追加。接続を使用できない場合は、トラックコールをキューに追加します。接続が再度使用可能になり、別のトラックが発生したときは、FIFO順で再送信を行います。以下の自動変数が追加されます。was_queued
(コールがキューに追加された場合にtrue)
DataStorage
モジュール(ビルド1)が追加され、PersistentDataモジュールの内部関数の代わりに使用します。主にtvOS用です。FileStorage
モジュール(ビルド1)が追加され、PersistentDataモジュールの内部関数の代わりに使用します。他のすべてのターゲットプラットフォーム用です。TealiumModulesList
が追加され、TealiumConfig
に割り当てることでモジュールを明示的に有効または無効にできます。構造体には以下のプロパティがあります。isWhitelist: Bool
modulesName: Set<String>
- 以下のコア内部クラスを追加しました:
TealiumModules
TealiumMulticastDelegate
TealiumRequestArray
Core Tealium
(ビルド3)を更新し、トラックメソッドの簡素化のために、トラッキングコールの種類を非推奨とマークするようにしました。TealiumTrackの代わりに内部のTealiumTrackRequestを使用するよう更新しました。ライブラリインスタンスを新しい構成で更新するために、新しいAPIを追加しました。update(config: TealiumConfig)
Core TealiumConfig
(ビルド2)を更新し、便利なコンストラクタを追加しました。1.0.1の非推奨レガシーメソッドを削除しました。Core Constants
(ビルド2)を更新し、内部のトラックおよびプロセス構造体を新しいリクエストプロトコルおよびリクエストの種類に置き換えました。Core TealiumModule
ベースクラス(ビルド3)を更新し、新しいリクエスト構造体をサポートしました(EquatableおよびHashtableに設定)。ModuleConfig
で、初期化パフォーマンスを高めるクラスレベル関数を作成しました。プロセス完了メソッドを簡素化しました。内部プロトコル要件を削除しました。Core TealiumModuleManager
(ビルド3)を更新し、更新されたリクエスト構造体をサポートしました。Core TealiumUtils
(ビルド2)を更新し、初期化時に明示的なデリゲート型を取るようマルチキャストデリゲートを更新しました。AppData
モジュール(ビルド2)を更新して、新しい永続化関連リクエストをサポートし、有効な永続的モジュールがない場合に必要な新しいデータを提供するようにしました。残りのアプリデータキーと値のペアを追加:app_name
app_rdns
app_version
- 新しい内部リクエスト構造体を使用するように、
Attribution
モジュール(ビルド3)を更新しました。 - 新しい内部リクエスト構造体を使用するように、
Autotracking
モジュール(ビルド3)を更新しました。 Async
モジュール(ビルド3)を更新し、完了コールバック用のTealium拡張機能を削除しました。- 新しい内部リクエスト構造体を使用するように、
Collect
モジュール(ビルド3)を更新しました。ファイルを1つのTealiumCollectModule.swift
ファイルに集約しました。 - 新しい内部リクエスト構造体を使用するように、
DataSource
モジュール(ビルド2)を更新しました。 - マルチキャストデリゲートをモジュール内ではなく構成内に保存するように、
Delegate
モジュール(ビルド2)を更新しました。今後追加されるデリゲートオプション用に準備しています。 - 新しい内部リクエスト構造体を使用するように、
Lifecycle
モジュール(ビルド2)を更新しました。ほとんどのファイルをTealiumLifecycleModule.swift
ファイルに集約しました。明示的なオプションのアンラップの代わりに、ガードステートメントを追加しました。 - 再有効化された
TealiumConfig
を介してログレベルを設定するように、Logger
モジュール(ビルド2)拡張機能を更新しました。保存、読み込み、トラックリクエストの成功または失敗を記録し、新しい内部リクエスト構造体を使用します。手動でインポートされた実装の名前空間競合を避けるために、LogLevel
の名前をTealiumLogLevel
に変更しました。 - 新しい内部リクエスト構造体を使用するように、
PersistentData
モジュール(ビルド2)を更新しました。 - 新しい内部リクエスト構造体を使用するように、
RemoteCommands
モジュール(ビルド2)を更新しました。ファイルを1つのTealiumRemoteCommandsModule.swift
ファイルに集約しました。 - 新しい内部リクエスト構造体を使用するように、
TagManagement
モジュール(ビルド2)を更新しました。ファイルを1つのTealiumTagManagementModule.swift
ファイルに集約しました。 - 新しい内部リクエスト構造体を使用するように、
VolatileData
モジュール(ビルド2)を更新しました。
バージョン1.2.0(2017年4月)
- 以下を使用可能にする
Datasource
モジュール(ビルド1)を追加しました。tealium_datasource
RemoteCommands
モジュール(ビルド1)を追加。TagManagement
モジュール(ビルド1)を追加。- コアモジュールに
TealiumUtils
を追加。 - 汎用マルチキャストデリゲートを使用するように
TealiumDelegateModule
(ビルド2)を変更。 TealiumModuleManager
(ビルド3)に変更を加え、トラック前処理を削除し、getClassList()メソッド内に遅延ブロック保護を追加。Tealium.swift
(ビルド2)を更新し、トラック前処理を実行するクラス関数を追加。- 自動トリガーされたライフサイクルコールでtealium_eventおよびtealium_event_typeを適切に返すように
Lifecycle
モジュール(ビルド2)を更新。
バージョン1.1.3(2017年1月)
Lifecycle
モジュール(ビルド1)を追加。以下の自動変数が追加されます。lifecycle_diddetectcrash
lifecycle_dayofweek_local
lifecycle_dayssincelaunch
lifecycle_dayssinceupdate
lifecycle_dayssincelastwake
lifecycle_firstlaunchdate
lifecycle_firstlaunchdate_MMDDYYYY
lifecycle_hourofday_local
lifecycle_isfirstlaunch
lifecycle_isfirstlaunchupdate
lifecycle_isfirstwakemonth
lifecycle_isfirstwaketoday
lifecycle_lastlaunchdate
lifecycle_lastsleepdate
lifecycle_lastwakedate
lifecycle_lastupdatedate
lifecycle_launchcount
lifecycle_priorsecondsawake
lifecycle_secondsawake
lifecycle_sleepcount
lifecycle_type
lifecycle_totalcrashcount
lifecycle_totallaunchcount
lifecycle_totalwakecount
lifecycle_totalsleepcount
lifecycle_totalsecondsawake
lifecycle_updatelaunchdate
lifecycle_wakecount
Delegate
モジュール(ビルド1)を追加。- 問題のある送信を正しくレポートするよう
Collect
モジュール(ビルド3)を修正。 - 軽微な変更を加えて
Attribution
モジュール(ビルド2)を更新。 autotrackingDelegate
プロトコルを非推奨にしてAutotracking
モジュール(ビルド2)を更新 - 代わりにDelegateモジュールを使用。- エラー出力が見やすくなるよう
Logger
モジュール(ビルド3)を更新。 - isEnabledプロパティにより
Module
ベース(ビルド2)を更新。 - 内部の
allModulesEnabled()
関数によりModuleManager
(ビルド2)を更新。
バージョン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 Swift 3構文の更新(2016年9月)
- Swift 3.0のサポート。
バージョン1.0.0最初のリリース(2016年9月)
- 2.x Swiftのサポート。XCode 8では、構文2.3に安全に更新(コード変更の推奨なし、3.xアプリで使用可能)
- Tealiumユニバーサルデータソースをすべてのディスパッチに対して追加:
event_name
(一時的 - まもなく非推奨になる予定)tealium_account
tealium_environment
tealium_event
tealium_library_name
tealium_library_version
tealium_profile
tealium_random
tealium_session_id
tealium_timestamp_epoch
tealium_visitor_id
tealium_vid
(レガシーサポート - まもなく非推奨になる予定)