メインコンテンツまでスキップ

トラッキング

ユーザーが新しい会話を開始する際のイベントとユーザーアクションを追跡します。 SDKを介して開始されたすべての会話に、カスタムメタデータを添付します。

注意

SDKに含まれているすべてのパブリックAPIは、Helpshift installWithPlatformId APIを介してSDKを初期化した後に呼び出す必要があります

会話にタグを追加する

showConversationを呼び出す際にconfigMapオブジェクトにタグを渡すことにより、問題を報告する際にタグを添付できるようになります。キー"tags"を持つ文字列の配列を渡すことができるようになり、問題の作成時にタグとして追加されます。

NSArrayのオブジェクトがNSString型でない場合は、オブジェクトはタグから削除され、新しい会話には追加されません。

例:

NSArray *tags = @[@"Hello", @"iOS"];
NSDictionary *config = @{@"tags":tags};
[Helpshift showConversationWith:self config:config];
注意

タグの名前と互換性について

  • タグについては、Helpshiftダッシュボード(設定、タグの順に移動)で事前に作成しておく必要があります。作成していない場合には、これらは無視されます。
  • 添付されているタグは、ダッシュボードに表示されているタグと完全に一致している必要があります。

会話にカスタムメタデータを添付する

アプリのユーザーによって開始されたすべての新しい会話には、追加のメタデータを添付することができます。このメタデータには、ユーザー名、メールアドレス、ゲームのスコア、現在のゲームレベルなど、開始されたそれぞれの会話にコンテキストを提供するために必要となるデータを含めることができます。SDK XのAPI(showConversationshowFAQsshowSingleFAQshowFAQSection)のいずれかを呼び出す際にこのデータをconfig辞書に渡すことで、カスタムメタデータを添付することができます。

例:

NSDictionary *customMetadata = @{ @"usertype": @"paid",
@"level": @"7",
@"score": @"12345"
};

NSDictionary *config = @{ @"customMetadata" : customMetadata };
[Helpshift showConversationWith:self config:config];
注意
  • メタデータは、文字列のキーと値のペアとしてのみ送信が可能となります。
  • 一度customMetadataが設定されてしまうと、それをリセットするにはSDK XのAPIを空の辞書を用いて呼び出さなければいけなくなります。
let customMetadata = [String: String]();
let config = ["customMetadata":customMetadata]
Helpshift.showConversation(with: self, config: config)

カスタム問題フィールドを会話に添付する

カスタム問題フィールドは、ユーザーが開始したすべての新しい会話に添付することができます。カスタム問題フィールドには、キー、データ型、値の設定が必要となります。Helpshift SDKでは、API構成辞書でcifsキーを使用することでカスタム問題フィールドを追加することができます。

Note
The "customIssueFields" key has been deprecated. We strongly recommend transitioning to using the "cifs" key as the preferred method for passing custom issue fields.

これらのカスタム問題フィールドは、エンドユーザーが新しい会話を開始したり、スマートFAQを介して問題を作成するたびに送信されます。

エンドユーザーが会話画面を開くと、すぐに挨拶メッセージが表示され、会話がアクティブなものとしてみなされるようになります。変更されたすべてのカスタム問題フィールド(アクティブな会話の中で更新されたもの)は、エンドユーザーが次に開始する会話でのみ送信されます。

例:

NSDictionary *cifs = @{ @"joining_date": @{ @"type":@"date", @"value":@1505927361535 },
@"stock_level": @{ @"type":@"number", @"value":@"1505" },
@"employee_name": @{ @"type":@"singleline", @"value":@"ABC" },
@"employee_address": @{ @"type":@"multiline", @"value":@"303,Joy plaza,Park street,Viman nagar.Pune-432123" },
@"salary_currency": @{ @"type":@"dropdown", @"value":@"Dollars" } };

NSDictionary *config = @{ @"cifs" : cifs };
[Helpshift showConversationWith:self config:config];
Note
The "customIssueFields" key has been deprecated. We strongly recommend transitioning to using the "cifs" key as the preferred method for passing custom issue fields.

構成に渡すことができるデータ型は、以下の通りです。

データ型コメント
"singleline"string文字数制限が255文字の単一行の文字列です
"multiline"string文字数制限が100,000文字の複数行の文字列です
"number"string数字を表す文字列です。例: "12345"
"dropdown"stringドロップダウンオプションは、ダッシュボードの特定のカスタム問題フィールドのために存在する必要があります。値は、そのドロップダウンのためにダッシュボードで指定された値のいずれかでなければいけません。
"date"NSNumberミリ秒単位のエポック時間です。例: 1505927361535
"checkbox"stringブール値による文字列表現です。例: "true"または"false"。これは、ダッシュボードのチェックボックス型のカスタム問題フィールドに対応しています。
注意

カスタム問題フィールドのキーと互換性について

  • カスタム問題フィールドは、Helpshiftダッシュボード(「設定」、「カスタム問題フィールド」の順に移動します)で作成する必要があります。そうでない場合には、これらは無視されます。詳細については、こちらをご参照ください。

Breadcrumbsは、イベントやエンドユーザーのアクションの追跡に使用されます。これは、お客様がHelpshiftのエージェントダッシュボードにあるすべての新しい会話と一緒に渡されるエンドユーザーのアクションに関するデバッグ情報を追加する際に役立ちます。 Breadcrumbsを残すには、leaveBreadcrumb: APIを使用します。

[Helpshift leaveBreadcrumb:@"any breadcrumb string"];

Breadcrumbsは、設定されているBreadcrumbsの制限内で収集されます。制限は、Helpshiftのエージェントダッシュボードにある「アプリの設定」のSDKの構成セクションで設定します。Breadcrumbsは、FIFOキューに集められます。Breadcrumbsを消去する場合には、clearBreadcrumbs APIを使用します。

[Helpshift clearBreadcrumbs];
注意
  • SDK X v10.1.0以上に対応しています
  • leaveBreadcrumb APIは、フォーマットされた文字列の受け渡しには対応していません。データの受け渡しについては、シンプルな文字列型のみが推奨されています。例:
  • "{\"key\":\"value\"}" - JSON文字列、これには対応していません
  • "key - value" - シンプルな文字列、これには対応しています

デバッグログ

Helpshiftのエージェントダッシュボードにあるエンドユーザーによって提出された新しい会話ごとに、追加のデバッグログを渡したい場合があるかもしれません。これについては、addLog: APIを使用することで実現可能です。

[Helpshift addLog:@"any debug log string"];

デバッグログは、設定されているデバッグログの制限内で収集されます。制限は、Helpshiftのエージェントダッシュボードにある「アプリの設定」のSDKの構成セクションで設定します。デバッグログは、FIFOキューに集められます。

注意
  • SDK X v10.1.0以上に対応しています
  • addLog APIは、フォーマットされた文字列の受け渡しには対応していません。データの受け渡しについては、シンプルな文字列型のみが推奨されています。例:
  • "{\"key\":\"value\"}" - JSON文字列、これには対応していません
  • "key - value" - シンプルな文字列、これには対応しています

グローバルユーザー属性の更新

このAPIは、新しいユーザーIDシステムとともに使用することを意図しています。ログインユーザーに関連するグローバル属性を更新するには、このAPIを使用してください。

NSDictionary<NSString *, id> *attributes = @{
// Add attributes here
};
[Helpshift updateMasterAttributes:attributes];

グローバル属性は、以下のいずれかの型である必要があります。

  • first_name - 文字列
  • last_name - 文字列
  • display_name - 文字列
  • full_name - 文字列
  • last_country - 文字列
  • last_city - 文字列
  • age - 文字列
  • lifetime_value - 文字列
  • user_persona - 文字列
  • user_vip_segment - 文字列
  • user_support_status - 文字列
  • last_active_date - UNIX時間
  • accepted_t_and_c - ブール値または文字列
  • preferred_language - 文字列
  • full_privacy_enabled - 文字列
  • new_tags - 文字列配列
  • tags_to_remove - 文字列配列
  • reset_tags - 文字列配列
  • custom_user_fields - 文字列→文字列辞書

このAPIは、既存のHelpshiftデリゲートシステムを活用してエラーが発生した際にアプリに通知を行います。 このAPIでトリガーできるエラーイベントの詳細については、デリゲートページを参照してください。

属性辞書に対応していないキーが含まれている場合、エラーイベントはデリゲートを通じて通知されます。 属性辞書に対応内のキーが含まれていたとしても、対応していない型の値が含まれている場合にはそのエントリーは無視されます。

アプリ固有のユーザー属性の更新

このAPIは、新しいユーザーIDシステムとともに使用することを意図しています。ログインユーザーに関連するアプリ固有の属性を更新するには、このAPIを使用してください。

NSDictionary<NSString *, id> *attributes = @{
// Add attributes here
};
[Helpshift updateAppAttributes:attributes];

アプリ固有の属性は、以下のいずれかの型である必要があります。

  • device_model - 文字列
  • os_version - 文字列
  • app_version - 文字列
  • sdk_version - 文字列
  • country - 文字列
  • city - 文字列
  • user_vip_segment - 文字列
  • language - 文字列
  • app_rating - 文字列
  • user_paying_segment - 文字列
  • user_support_status - 文字列
  • user_persona - 文字列
  • accepted_t_and_c - 文字列
  • user_level - 文字列
  • app_status - 文字列
  • lifetime_value - 文字列
  • custom_user_fields - 文字列→文字列辞書

このAPIは、既存のHelpshiftデリゲートシステムを活用してエラーが発生した際にアプリに通知を行います。 このAPIでトリガーできるエラーイベントの詳細については、デリゲートページを参照してください。

属性辞書に対応していないキーが含まれている場合、エラーイベントはデリゲートを通じて通知されます。 属性辞書に対応内のキーが含まれていたとしても、対応していない型の値が含まれている場合にはそのエントリーは無視されます。

注意

Attributes Update APIは、属性をHelpshiftサーバーと一括で同期します。進行中の一括更新の同期が完了する前に ユーザーがSDKからログアウトした場合、属性の更新状況が失われてしまう可能性があります。