For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
Ampli for iOS Swift SDK
Amplitudeデータは、SwiftおよびObjective-Cで記述されたiOSアプリからのアナリティクスイベントの追跡をサポートしています。
クイックスタート
- bash
pod 'AmplitudeSwift', '~> 1.0' - bash
npm install -g @amplitude/ampli - bash
ampli pull [--path ./Ampli] - swift
Ampli.instance.load(LoadOptions( environment: AmpliEnvironment.YourEnvironment )) - swift
Ampli.instance.identify("userID", Identify( userProp: "A trait associated with this user" )) 強力に型付けされたメソッドとクラスを使用してイベントを追跡します。
swiftAmpli.instance.songPlayed(SongPlayed(songId: "song-1")) Ampli.instance.track(SongFavorited(songId: "song-2"))- swift
Ampli.instance.flush() - shell
ampli status [--update]
SDKをインストールする
Amplitude Analytics iOS SDKをCocoaPods、Carthage、またはSwift Package Managerを使ってインストールします。
依存関係を
Podfile:に追加してください。rubyplatform :ios, '16.0' target 'YourApp' do pod 'AmplitudeSwift', '~> 1.0' endプロジェクトディレクトリで
pod install実行します。
Ampli CLIをインストールする
HomebrewまたはnpmからAmpli CLIをインストールします。
brew tap amplitude/ampli
brew install ampli
Ampliラッパーをプロジェクトに組み込む
Ampli CLI pullコマンドを実行してAmplitudeデータにログインし、トラッキングプラン用の強く型付けされたAmpliラッパーをダウンロードしてください。プロジェクトのルートディレクトリからAmpli CLIコマンドを実行します。
ampli pull
プロパティをソースに添付する
トラッキングプランに新しいイベントやプロパティを追加したら、Amplitudeデータのソースにそれらを添付します。ampli pullコマンドには、選択したソースに関連付けられているイベントとプロパティのみが含まれます。ソースに新しいプロパティを添付しない場合、生成されたAmpliラッパーコードにはそのプロパティは表示されません。
Ampliを使用する
Ampliは、便利なメソッドを提供するAmplitude SDK上に薄いファサードを生成します。また、Ampliラッパーは、Ampli.instance.clientを通じて、基盤となるAmplitude SDKのすべてのメソッドへのアクセスも提供します。詳細を参照してください。
インポート
Amplitude SDKをSwiftファイルにインポートします。
import AmplitudeSwift
ロード
コードでAmpliを初期化します。load()メソッドは設定オプション引数を受け入れます。
// Using API key directly
Ampli.instance.load(LoadOptions(
client: LoadClientOptions(apiKey: AMPLITUDE_API_KEY)
))
// Using environment from tracking plan
Ampli.instance.load(LoadOptions(
environment: AmpliEnvironment.YourEnvironment
))
| 引数 | 概要 |
|---|---|
LoadOptions | 必須です。 Ampliラッパーの設定オプションを指定します。 |
instance | apiKeyが設定されていない場合は必須です。 Amplitudeインスタンスを指定します。デフォルトでは、Ampliはユーザーのためにインスタンスを作成します。 |
apiKey | instanceが設定されていない場合は必須です。 APIキーを指定します。このオプションは、デフォルト値であるトラッキングプランで設定されたAPIキーを上書きします。 |
environment | オプションです。トラッキングプランから環境名を指定します。YourEnvironmentをトラッキングプランで設定した実際の環境名に置き換えてください。 |
disabled | オプションです。Ampliラッパーが何らかの処理を実行するかどうかを指定します。trueの場合、Ampliラッパーへのすべての呼び出しはno-opになります。ローカル環境や開発環境で役立ちます。 |
Identify
アプリ内のユーザーを識別し、今後のすべてのイベントをそのユーザーのIDに関連付けるか、ユーザーのプロパティを設定するには、identify()を呼び出します。
Ampliラッパーがイベントとそのプロパティの型を作成するのと同様に、ユーザープロパティの型も作成します。
identify()関数はオプションのuserId、オプションのユーザープロパティ、およびオプションのoptionsを受け入れます。
たとえば、トラッキングプランにuserPropというユーザープロパティが含まれているとします。プロパティのタイプは文字列です。
Ampli.instance.identify("userID", Identify(
requiredUserProp: "A trait associated with this user",
optionalUserProp: "Another trait"
))
オプションの引数を使用すると、この呼び出しのAmplitudeフィールド(deviceIdなど)を渡すことができます。
Ampli.instance.identify("userID", Identify(), options: EventOptions(deviceId: "my_device_id"))
グループ
ユーザーをグループ(部署や会社など)に関連付けるには、setGroup()を呼び出します。setGroup()関数は、必須のgroupTypeとgroupNameを受け入れます。
Ampli.instance.client.setGroup(groupType:"group type", groupName:"group name")
Amplitudeでは、ユーザーをグループに割り当てたり、それらのグループに対して「ユニーク数による集計」などのクエリを実行したりすることができます。 グループの少なくとも1人のメンバーが特定のイベントを実行した場合、そのグループはカウントに含まれます。
たとえば、orgIdを使用してユーザーを組織ごとにグループ化します。ジョーはorgIdが10のグループに所属し、スーはorgIdが15のグループに所属しています。SueとJoeはどちらも特定のイベントを実行します。 イベントセグメンテーションチャートでその組織をクエリできます。
グループを設定する際には、groupTypeとgroupNameを定義してください。この例では、orgIdはgroupTypeであり、10および15はgroupNameの値です。groupTypeのもう1つの例としてはsportがあり、tennisおよびbaseballのような値を持つgroupNameがあります。
グループを設定すると、groupType:groupNameもユーザープロパティとして設定され、そのユーザーのgroupTypeに設定されている既存のgroupNameの値と対応するユーザープロパティ値が上書きされます。groupTypeは文字列であり、groupNameはユーザーが複数のグループに属していることを示す文字列または文字列の配列のいずれかを指定できます。たとえば、JoeがorgId、10および20に属する場合、groupNameは[10, 20]になります。
コードは次のようになります:
Ampli.instance.client.setGroup(groupType: "orgID", groupName: ["10", "20"])
追跡
イベントを追跡するには、そのイベントに対応する関数を呼び出します。 トラッキングプラン内のすべてのイベントは、Ampliラッパー内で独自の関数を持っています。この呼び出しは次の構造を使用します。
Ampli.instance.track(_ event: Event, options: EventOptions)
options引数を使用すると、deviceIdなどのAmplitudeフィールドを渡すことができます。
汎用トラックを使用してEventOptionsを設定します。Ampliは、Ampli.instance.songPlayed(songId: "id", songFavorited: true)などの強く型付けされたイベントメソッドに対してこれらの情報を公開しません。
たとえば、トラッキングプランには、songIdとsongFavoritedという2つの必須プロパティを持つsongPlayedという名前のイベントが含まれています。songIdのプロパティタイプは文字列で、songFavoritedはブール値です。
このイベントにはpriceとquantityという2つのAmplitudeフィールドが定義されています。
Ampli.instance.track(
SongPlayed(songId: "songId", songFavorited: true),
options: EventOptions(
deviceId: "deviceId",
price: 0.99,
quantity: 1
)
)
また、Ampli はイベントごとにクラスを生成します。
let myEventObject = SongPlayed(
songId: "songId", // String,
songFavorited: true, // Bool
)
汎用的なtrackメソッドを使用して、すべての Event オブジェクトを送信します。
Ampli.instance.track(SongPlayed(
songId: "songId", // String,
songFavorited: true, // Bool
))
フラッシュ
Ampli Wrapper はイベントをキューに入れ、設定に基づく間隔で送信します。 AmpliはバッファがflushQueueSizeまたはflushIntervalに到達すると、自動的にバッファをフラッシュします。
保留中のイベントを直ちに送信するには、flush()を呼び出します。アプリケーション終了前にflush()を呼び出し、キューイングされたイベントが失われないようにしてください。
Ampli.instance.flush()
Ampli CLI
Pull
pullコマンドはAmpliラッパーコードをプロジェクトにダウンロードします。プロジェクトのルートからpullコマンドを実行します。
ampli pull
Ampliは、ワークスペースにログインしてソースを選択するよう求めます。
➜ ampli pull
Ampli project is not initialized. No existing `ampli.json` configuration found.
? Create a new Ampli project here? Yes
? Organization: Amplitude
? Workspace: My Workspace
? Source: My Source
ステータス
statusコマンドを使用して、コードがイベントを実装していることを確認します。
ampli status [--update]
出力にはステータスと、欠落しているイベントが示されます。
➜ ampli status
✘ Verifying event tracking implementation in source code
✔ Song Played (1 location)
✘ Song Stopped Called when a user stops playing a song.
Events Tracked: 1 missed, 2 total
ampli statusの詳細をご覧ください。
Was this helpful?