PageSense React Native ブリッジのリリースノート

PageSense React Native ブリッジのリリースノート

お知らせ:当社は、お客様により充実したサポート情報を迅速に提供するため、本ページのコンテンツは機械翻訳を用いて日本語に翻訳しています。正確かつ最新のサポート情報をご覧いただくには、本内容の英語版を参照してください。

概要  

このリリースでは、AndroidおよびiOS向けのPageSense React Native Bridgeが更新され、売上目標の追跡がサポートされました。また、PageSenseUserContextと目標のプロパティが導入され、ユーザー情報の受け渡しや、関連するプロパティを使用した目標の追跡を、より簡潔で拡張性の高いAPIで行えるようになりました。
これらの追加機能には完全な下位互換性があります。従来のSDK関数を使用している既存の連携は、変更せずに引き続き動作します。

新機能  

PageSenseUserContext  
新しいオブジェクトでは、userIduserAttributesを1つの構造化コンテナーにまとめます。従来のようにuserIduserAttributesを個別の引数として渡す代わりに、新規SDK関数では単一のPageSenseUserContextインスタンスを受け取ります。
目標のプロパティ  
売上の値など、関連するプロパティとともに目標を追跡できる新しい仕組みです。目標のプロパティは、JavaScriptからキーと値のペアからなるオブジェクトとして渡されます。ネイティブブリッジは、SDKを呼び出す前に各文字列キーを対応するネイティブ型にマッピングします。
  • Android—SDKでは、目標のプロパティをHashMap<GoalProperty, String>として受け取ります。GoalPropertyは、com.zoho.pagesense.android.abtesting.constantsで定義されている定数です。
  • iOS—SDKでは、目標のプロパティを[GoalProperty: String]として受け取ります。GoalPropertyは、PageSenseFrameworkによって公開される、小文字の生の値を持つ列挙型です。
新規SDK関数  
次のコンテキストベースの関数が、JavaScriptラッパー(PageSenseSDKWrapper.js)と、AndroidおよびiOSの両方のネイティブブリッジモジュールに追加されました。

関数
説明
activateExperimentByContext(experimentName, userContext)
フルスタックテストをPageSenseUserContextを使用して有効にし、ユーザーに割り当てられたバリエーションを返します。
getVariationNameByContext(experimentName, userContext)
テストを有効にせず、PageSenseUserContextを使用してユーザーに割り当てられたバリエーションを取得します。
trackGoalByContext(goalName, userContext)
目標のプロパティを指定せず、PageSenseUserContextを使用して目標を追跡します。フルスタックのカスタムイベント目標に使用します。
trackGoalByContext(goalName, userContext, goalProperties)
目標のプロパティを指定し、PageSenseUserContextを使用して目標を追跡します。売上目標に使用します。
関数の比較  
用途
旧SDK関数
新規SDK関数
テストを有効にする
activateExperiment(experimentName, userId, userAttributes)
activateExperimentByContext(experimentName, userContext)
バリエーション名を取得する
getVariationName(experimentName, userId, userAttributes)
getVariationNameByContext(experimentName, userContext)
目標を追跡する(プロパティなし)
trackGoal(experimentName, userId, goalName, userAttributes)
trackGoalByContext(goalName, userContext)
目標を追跡する(プロパティあり)
未対応
trackGoalByContext(goalName, userContext, goalProperties)

下位互換性  
新しいコンテキストベースの関数は、既存のSDK関数を置き換えるものではなく、追加されるものです。旧SDK関数と新規SDK関数の両方がサポートされます。既存の連携は、変更せずに引き続き動作します。

プラットフォーム固有の変更  

Android  
  • 追加:PageSenseUserContextのサポート(Kotlinネイティブモジュール:PageSenseSDKModule.kt)。
  • Kotlinネイティブモジュールに、activateExperimentByContextgetVariationNameByContexttrackGoalByContexttrackGoalWithPropertiesByContextを追加しました。
  • GoalPropertycom.zoho.pagesense.android.abtesting.constantsからインポートしました。
  • 非公開の検証ヘルパーとして、validateAndBuildUserContextvalidateAndConvertGoalPropertiesNonEmptyを追加しました。
  • PageSenseSDKPackage.ktMainApplication.ktを変更する必要はありません。
必要なSDKバージョンのアップグレード  
  1. 売上目標の追跡を使用するには、PageSense Android SDKの依存関係をバージョン1.1.3以降にアップグレードする必要があります(android/app/build.gradle内)。
  2. gradle
  3. dependencies {
  4. implementation('com.facebook.react:react-android')
  5. implementation('com.zoho.pagesense:pagesense:1.1.3')
  6. }
更新後、Android StudioでGradleを同期し、アプリケーションを再ビルドします。
iOS  
  • 追加:PageSenseUserContextのサポート(Swiftネイティブモジュール:PageSenseSDKModule.swift)。
  • Swiftネイティブモジュールに、activateExperimentByContextgetVariationNameByContexttrackGoalByContexttrackGoalWithPropertiesByContextを追加しました。
  • 対応するRCT_EXTERN_METHOD宣言をObjective-Cブリッジファイル(PageSenseSDKModule.m)に追加しました。
  • 非公開の検証ヘルパーとして、validateAndBuildUserContextvalidateAndConvertGoalPropertiesNonEmptyを追加しました。
  • 目標プロパティをJavaScriptの文字列キーからGoalPropertyの列挙型ケースにマッピングするには、GoalProperty(rawValue:)を使用します。
JavaScriptラッパー  
  • 追加:GoalProperty定数オブジェクト(エクスポート元:PageSenseSDKWrapper.js)。
  • ラッパー関数として、activateExperimentByContextgetVariationNameByContexttrackGoalByContextを追加しました。
  • 非公開の検証ヘルパーとして、_validateUserContext_validateGoalPropertiesNonEmptyを追加しました。
  • GoalProperty.REVENUE定数には文字列値'revenue'が格納されます。これは、AndroidではネイティブのGoalProperty.REVENUE定数、iOSではGoalProperty.revenueの列挙型ケースにマッピングされます。

GoalPropertyリファレンス  

JS定数
文字列値
Androidネイティブ定数
iOSネイティブ列挙型ケース
用途
GoalProperty.REVENUE
'revenue'
GoalProperty.REVENUE
GoalProperty.revenue
売上目標に使用する、セント単位の売上額


注記  

  • 売上の値は、セント単位の文字列として渡す必要があります。たとえば、$100.50は'10050'として渡します。
  • 引数goalPropertiestrackGoalByContextに指定する場合、空でないオブジェクトにする必要があります。プロパティのない目標では、引数自体を省略してください。
  • すべての新規連携では、コンテキストベースのSDK関数(activateExperimentByContextgetVariationNameByContexttrackGoalByContext)を使用してください。今後のすべての実装では、これらの使用を推奨します。




このドキュメントは、すべての手順を通してご案内できるよう作成されています。さらにサポートが必要な場合やご質問がある場合は、support@zohopagesense.comまでお気軽にお問い合わせください。いつでもお手伝いいたします!