staffstart-anroid-sdk
STAFF START の Android SDK
構成
staffstart-core, staffstart-app,staffstart-trackingの3つ それぞれの役割は下記
staffstart-core | staffstart-app | staffstart-tracking | |
---|---|---|---|
Entityの保持、公開, App、Core共通で利用されるような共通処理などを配置 | ViewやAPIエンドポイントをcallしてレスポンスを受け取る | 計測タグの送信 | |
dependencies | staffstart-core | staffstart-core | |
architecture | TBD | TBD |
概要
このSDKは、STAFF STARTのデータをAndroidアプリに簡単かつ効果的に統合し、活用できるよう設計されています。アプリ内でのデータ活用を通じて、よりスムーズで高度なユーザー体験を提供します。
特徴
このSDKは、以下の3つのフレームワークで構成されており、それぞれ異なる役割を担っています:
StaffStart_Core
アプリの初期化処理を担当します。SDKを利用する際の基本的な設定や準備を行います。
StaffStart_App
STAFF STARTのAPIと連携し、データの取得や操作を行います。データ活用の中心的な役割を果たします。
StaffStart_Tracking
ユーザーアクションやイベントの計測を行い、データ分析やパフォーマンス最適化をサポートします。
これらのフレームワークを組み合わせることで、柔軟かつ効率的にSTAFF STARTのデータを活用することができます。
必須要件
対応SDK: minSDK28
クイックスタート
開発環境のセットアップ
下記コマンドを叩いて、SDKをビルドしてAARファイルを生成します。 AARファイルは、Example/libsにコピーされます。
sh build_and_copy_aars.sh
Exampleアプリの実行
build variantをreleaseに変更することで、リリース用のAARをExampleから確認することができます。
StaffStart SDKの設定と初期化
StaffStart SDKをアプリに統合する際の設定と初期化方法について説明します。本SDKのサンプルアプリのMainActivityを例に具体的な手順を示します。
依存関係の追加
build.gradleファイルに以下の依存関係を追加します。
dependencies {
implementation "com.example.staffstart:staffstart-sdk:1.0.0"
}
Kotlin DSLの場合は以下のように記述します。
dependencies {
implementation("com.example.staffstart:staffstart-sdk:1.0.0")
}
StaffStart SDKの設定と初期化
SDKを利用するには、初期設定が必要です。StaffStartConfigurationを使用して設定情報を提供します。
private fun initializeStaffStartSDK() {
val staffStartConfiguration = StaffStartConfiguration(
merchantId = "YOUR_MERCHANT_ID", // マーチャントIDを設定してください
api = "https://test.staff-start.com", // APIのベースURL
trackingApi = "https://test-analytics.staff-start.com" // トラッキングAPIのURL
)
lifecycleScope.launch {
// Core機能(staffstart-core)の初期化
StaffStart.Core.initialize(staffStartConfiguration)
// 計測機能(staffstart-tracking)の初期化
StaffStart.tracking.initialize(applicationContext)
}
}
リソースの解放
アプリの終了時にリソースを解放します。onDestroyでStaffStart SDKのリソースを解放してください
override fun onDestroy() {
super.onDestroy()
StaffStart.Core.close()
}
詳細については、APIリファレンス をご参照ください。初期設定に必要な詳細な手順やコードサンプルが記載されています。
UI表示方法
UI設定方法
StaffStartUIの初期設定を行います。StaffStartUIConfigurationを使用して設定情報を提供します。 StaffStartUI.Configure
を使用して、コールバックを設定します。
StaffStartUI.Configure(
StaffStartUIConfiguration(
onTapProductItem = { productCode ->
// 商品タップ時の処理
}
)
)
コーディネート一覧レイアウトを表示するには、StaffStartSnapPlayListScreenを使用します。
StaffStartSnapPlayListScreen(
snapPlayFilterParams = SnapPlayFilterParams(),
onTapSnapPlay = { snapPlayId ->
// SnapPlayタップ時の処理
}
)
コーディネート詳細レイアウトを表示するには、StaffStartSnapPlayDetailScreenを使用します。
StaffStartSnapPlayDetailScreen(
snapPlayId = "1",
onTapStaff = { staffId ->
// スタッフタップ時の処理
// staffId: タップされたスタッフのID
},
onTapSnapPlayFilter = { snapPlayFilterParams ->
// SnapPlay絞り込みボタンタップ時の処理
},
onTapSnapPlay = { snapPlayId ->
// SnapPlayタップ時の処理
},
onTapProductItem = { productId ->
// 商品タップ時の処理
},
onTapSnapPlayNotFoundBack = {
// SnapPlayが見つからない場合の戻るボタンタップ時の処理
}
)
スタッフ一覧レイアウトを表示するには、StaffStartStaffListScreenを使用します。
StaffStartStaffListScreen(
onTapStaff = { staffId ->
// スタッフタップ時の処理
}
)
スタッフ詳細レイアウトを表示するには、StaffStartStaffDetailScreenを使用します。
StaffStartStaffDetailScreen(
staffId = "1",
onTapSnapPlay = { snapPlayId ->
// スナップ再生タップ時の処理
},
onTapSnapPlayFilter = { snapPlayFilterParams ->
// スナップ再生フィルタータップ時の処理
}
)
任意のページのパーツとしてコーディネートの一覧を表示する際にはStaffStartBaseProductSnapPlaysBlockを使用します。
StaffStartBaseProductSnapPlaysBlock(
baseProductCode = "baseProductCode",
onTapSnapPlayDetail = { snapPlayId ->
// SnapPlayタップ時の処理
},
onTapReadMore = { baseProductCode ->
// もっと見るボタンタップ時の処理
}
)
詳細については、APIリファレンス をご参照ください。初期設定に必要な詳細な手順やコードサンプルが記載されています。
計測タグ設定方法
詳細について、APIリファレンスをご参照ください。
SDK開発者向け
ktlintの適用
gitのコミット時にktlintを適用するために、pre-commitを設定しています。
設定するには以下のコマンドを実行してください。
chmod +x .githooks/pre-commit
git config core.hooksPath .githooks
Exampleアプリの開発
開発時にSDKのDEBUGを行いたい場合、toggle_example.shを実行してSDKのサブプロジェクトにしてください
ドキュメント更新
ドキュメントは、Dokka で生成されています。ドキュメントを更新するには、以下のコマンドを実行してください。
./gradlew dokkaHtmlMultiModule
License
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.