ZendeskモバイルSDKのテーマをカスタマイズする方法:2026年完全ガイド

Stevia Putri
Written by

Stevia Putri

Reviewed by

Stanley Nicholas

Last edited 2026 2月 26

Expert Verified

ZendeskモバイルSDKのテーマをカスタマイズする方法:2026年完全ガイドのバナー画像

顧客がアプリを開いてヘルプが必要な場合、サポートエクスペリエンスはブランドの自然な延長のように感じるはずです。ZendeskモバイルSDKのテーマを使用すると、色、フォント、UI要素をカスタマイズして、サポートインターフェイスがアプリのルックアンドフィールと一致するようにできます。

ただし、SDKのテーマ設定には開発リソースと継続的なメンテナンスが必要です。ブランド化されたサポートエクスペリエンスをより簡単に提供する方法をお探しの場合は、eesel AIがZendeskと統合し、コードに触れることなくカスタマイズを処理します。詳細については後述します。

AndroidとiOSの両方でZendeskモバイルSDKをテーマ設定する方法を次に示します。

ZendeskモバイルSDKのテーマ設定の3つのカスタマイズ方法
ZendeskモバイルSDKのテーマ設定の3つのカスタマイズ方法

必要なもの

カスタマイズを開始する前に、次のものがあることを確認してください。

  • モバイルSDKアクセス権を持つZendeskアカウント
  • Android StudioまたはXcodeがインストールされていること
  • Kotlin/Java(Androidの場合)またはSwift/Objective-C(iOSの場合)の基本的な知識
  • アプリのテーマリソースとAndroidManifest.xml(Android)またはInfo.plist(iOS)へのアクセス

ステップ1:テーマ設定のアプローチを選択する

Zendeskは、モバイルSDKの外観をカスタマイズする3つの方法を提供しています。状況に合ったものを選択してください。

オプションA:UserColors API(新しいプロジェクトに推奨)

UserColors APIは、Web Widget SDKの最新のアプローチです。15以上のカラープロパティを細かく制御でき、ライトモードとダークモードをすぐにサポートします。最初から始める場合、または新しいSDKに移行できる場合は、これを使用してください。

オプションB:Material Designテーマ(従来のインプリメンテーションの場合)

従来のSupport SDKを使用している場合は、Material Designテーマを使用します。このアプローチはTheme.MaterialComponentsを拡張し、colorPrimarycolorAccentなどの属性を使用します。古いインプリメンテーションを維持している場合は、これを使用してください。

オプションC:管理センターの構成(コード不要のオプション)

コードに触れずに基本的な色を変更するには、Zendesk管理センターでプライマリ、メッセージ、およびアクションの色を設定できます。SDKは、プログラムでオーバーライドしない場合、これらをデフォルトとして使用します。これは単純なブランディングには役立ちますが、APIアプローチほどの柔軟性はありません。

チャットバブルのカスタマイズされたカラー構成を持つZendeskチャットウィジェット
チャットバブルのカスタマイズされたカラー構成を持つZendeskチャットウィジェット

ステップ2:AndroidでUserColors APIを実装する

UserColors APIを使用すると、特定のUIコンポーネントのカスタムカラーを定義できます。実装方法は次のとおりです。

まず、ライトモードとダークモードの両方に対してUserColorsオブジェクトを作成します。

val userLightColors = UserColors(
    primary = Color.parseColor("#1E88E5"),
    onPrimary = Color.WHITE,
    message = Color.parseColor("#E3F2FD"),
    onMessage = Color.parseColor("#1565C0"),
    businessMessage = Color.WHITE,
    onBusinessMessage = Color.parseColor("#424242"),
    action = Color.parseColor("#43A047"),
    onAction = Color.WHITE,
    background = Color.parseColor("#FAFAFA"),
    onBackground = Color.parseColor("#616161"),
    onSecondaryAction = Color.parseColor("#1E88E5"),
    error = Color.parseColor("#E53935"),
    notify = Color.parseColor("#FB8C00"),
    onError = Color.WHITE,
    onNotify = Color.WHITE
)

val userDarkColors = UserColors(
    primary = Color.parseColor("#90CAF9"),
    onPrimary = Color.BLACK,
    message = Color.parseColor("#1565C0"),
    onMessage = Color.WHITE,
    businessMessage = Color.parseColor("#424242"),
    onBusinessMessage = Color.WHITE,
    action = Color.parseColor("#66BB6A"),
    onAction = Color.BLACK,
    background = Color.parseColor("#212121"),
    onBackground = Color.parseColor("#BDBDBD"),
    onSecondaryAction = Color.parseColor("#90CAF9"),
    error = Color.parseColor("#EF5350"),
    notify = Color.parseColor("#FFA726"),
    onError = Color.BLACK,
    onNotify = Color.BLACK
)

次に、カスタムカラーでSDKを初期化します。

val factory = DefaultMessagingFactory(
    userLightColors = userLightColors,
    userDarkColors = userDarkColors
)

Zendesk.initialize(
    context = this,
    channelKey = "your_channel_key",
    messagingFactory = factory
)

Java開発者の場合、パターンは似ています。

UserColors userLightColors = new UserColors(
    Color.parseColor("#1E88E5"),  // primary
    Color.WHITE,                   // onPrimary
    Color.parseColor("#E3F2FD"),  // message
    // ... remaining colors
);

DefaultMessagingFactory factory = new DefaultMessagingFactory(
    userLightColors,
    userDarkColors
);

Zendesk.initialize(this, "your_channel_key", factory);

理解すべき重要なプロパティ:

  • primary:(プライマリ)会話画面と会話リスト画面のヘッダーの背景色
  • onPrimary:(オンプライマリ)プライマリ背景のテキストとアイコンの色
  • message:(メッセージ)エンドユーザーメッセージの背景
  • businessMessage:(ビジネスメッセージ)エージェント/ビジネスメッセージの背景
  • action:(アクション)「新しい会話」やフォームボタンなどのボタンの背景
  • background:(背景)会話画面の背景色
  • onBackground:(オン背景)タイムスタンプ、名前、およびメッセージステータスの色(65%の不透明度)

カスタマイズされた紫色のメッセージバブルを持つAndroid SDK会話画面
カスタマイズされた紫色のメッセージバブルを持つAndroid SDK会話画面

ステップ3:iOS SDKの外観をカスタマイズする

iOSのテーマ設定はAndroidよりも簡単です。主にCommonThemeオブジェクトを使用して、プライマリブランドカラーを設定します。詳細については、iOS SDKドキュメントを参照してください。

Swiftの場合:

import CommonUISDK

// プライマリブランドカラーを設定
CommonTheme.currentTheme.primaryColor = UIColor(red: 0.12, green: 0.53, blue: 0.90, alpha: 1.0)

Objective-Cの場合:

#import <CommonUISDK/CommonUISDK.h>

// プライマリブランドカラーを設定
[ZDKCommonTheme currentTheme].primaryColor = [UIColor colorWithRed:0.12 green:0.53 blue:0.90 alpha:1.0];

この単一の色の変更は、SDK UI全体に色合いとして適用され、ナビゲーションバー、ボタン、およびインタラクティブな要素に影響します。

ヘルプセンターの記事のスタイルを設定するには、help_center_article_style.cssという名前のファイルをプロジェクトのルートに作成し、Xcodeプロジェクトに追加します。SDKは、デフォルトのスタイルではなく、カスタムCSSを自動的に使用します。

ステップ4:ヘルプセンターの記事をスタイルする

AndroidとiOSの両方が、ヘルプセンターの記事のCSSカスタマイズをサポートしています。これにより、コンテンツをアプリの一部のように感じさせることができます。

help_center_article_style.cssという名前のファイルを作成し、カスタムスタイルを追加します。開始するためのテンプレートを次に示します。

/* 基本スタイル */
body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin: 20px;
    background-color: #fff;
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
    color: #1a1a1a;
    font-weight: 600;
    margin-bottom: 16px;
}

h1 { font-size: 28px; }
h2 { font-size: 24px; }
h3 { font-size: 20px; }

/* リンク */
a {
    color: #1E88E5;
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* リスト */
ul, ol {
    margin-bottom: 16px;
    padding-left: 24px;
}

li {
    margin-bottom: 8px;
}

/* 記事のフッター(作成者と日付)を非表示にする */
footer {
    display: none;
}

Androidの場合は、このファイルをassetsディレクトリに配置します。iOSの場合は、プロジェクトバンドルに追加します。SDKはカスタムCSSを自動的に検出し、適用します。

ステップ5:テーマをテストして検証する

本番環境に出荷する前に、テーマを徹底的にテストしてください。

  • デバイスの種類:さまざまな画面サイズ(電話、タブレット、折りたたみ式)でテストします
  • ライトモードとダークモード:両方のテーマで色が機能することを確認します
  • アクセシビリティ:コントラスト比がWCAGガイドラインを満たしていることを確認します(通常のテキストの場合は4.5:1、大きなテキストの場合は3:1)
  • エッジケース:長い記事のタイトル、複数の添付ファイル、およびエラー状態でテストします

注意すべき一般的な問題:

  • 色が適用されない:SDKを初期化する前に色を設定していることを確認してください
  • ダークモードが機能しない:ライトカラーオブジェクトとダークカラーオブジェクトの両方が定義されていることを確認してください
  • CSSがロードされない:CSSファイルが正しい場所にあり、ビルドに含まれていることを確認してください

代替案:サードパーティのZendeskテーマ

カスタムSDKのテーマ設定が過剰に感じられる場合は、Premium PlusDiziana、またはGrow-Shineなどのマーケットプレイスからの既製のテーマが別の方法を提供します。これらは30ドルから389ドルの範囲で、開発作業なしでプロフェッショナルなデザインを提供します。

注意点は?サードパーティのテーマは、主にWebベースのヘルプセンターをカスタマイズするものであり、モバイルSDK UIはカスタマイズしません。アプリ内サポートエクスペリエンスには、SDKのテーマ設定が依然として必要です。これらは、カスタムテーマを最初から構築せずに、洗練されたヘルプセンターを必要とするチームに最適です。

eesel AIによるより簡単なサポートのカスタマイズ

現実を言えば、SDKのテーマ設定には時間がかかり、継続的なメンテナンスが必要であり、ブランドの更新ごとに開発者の関与が必要です。複雑さを伴わずにブランド化されたサポートが必要な場合は、eesel AIが別のアプローチを提供します。

SDKをテーマ設定する代わりに、eesel AIは既存のヘルプデスク(Zendeskを含む)と連携して、AIを活用したサポートを提供します。過去のチケットやヘルプセンターの記事からブランドボイスを学習するため、応答は自然にトーンに一致します。コードは不要、テーマ設定するSDKは不要、リブランド時のメンテナンスは不要です。

AIエージェントを構成するためのeesel AIノーコードダッシュボード
AIエージェントを構成するためのeesel AIノーコードダッシュボード

価格設定も簡単です。シートではなくインタラクションに対して支払い、AIが自律的に会話を処理する前に、AIが返信を下書きすることから始めることができます。開発のオーバーヘッドなしで優れたサポートエクスペリエンスを必要とするチームにとって、従来のSDKのテーマ設定とともに検討する価値があります。

一般的なテーマ設定の問題のトラブルシューティング

明確なドキュメントがあっても、期待どおりに機能しない場合があります。最も一般的な問題の修正を次に示します。

色が適用されないZendesk.initialize()を呼び出す前に色を構成していることを確認してください。SDKは初期化時にテーマ設定を読み取ります。

ダークモードが正しく表示されないuserLightColorsuserDarkColorsの両方を定義していることを確認してください。1つしか設定しない場合、SDKはもう一方にデフォルトを使用します。

CSSの変更が表示されない:iOSでは、CSSファイルがアプリバンドルターゲットに含まれていることを確認してください。Androidでは、resではなくassetsフォルダーにあることを確認してください。

テーマの継承の問題:SDKテーマを拡張する場合は、正確な親テーマ名を使用します:ZendeskSdkTheme.LightZendeskSdkTheme.Dark、またはZendeskSdkTheme.Light.DarkActionBar

リビルドと再起動のタイミング:コードの変更(色、テーマ)にはリビルドが必要です。CSSファイルの変更は、多くの場合、アプリの再起動のみが必要です。不明な場合は、リビルドしてください。

よくある質問

部分的に可能です。コードを書かなくても、Zendesk管理センターで基本的な色(プライマリ、メッセージ、アクション)を設定できます。ただし、テキストの色、ダークモードのサポート、ヘルプセンターのスタイリングなど、完全にカスタマイズするには、UserColors APIまたはCSSを使用する必要があります。
いいえ。Androidは15以上のカスタマイズ可能なプロパティを持つUserColors APIを使用します。iOSは、プライマリカラーとヘルプセンターの記事のCSSのみを使用する、よりシンプルなアプローチを使用します。それぞれにプラットフォーム固有のテーマを実装する必要があります。
はい、ただし、従来のSupport SDKからWeb Widget SDKに移行する必要があります。これには、依存関係の更新、初期化コードの変更、および徹底的なテストが含まれます。簡単な切り替えではなく、適切な移行を計画してください。
いいえ。テーマはUIレイヤーで行われ、SDKのパフォーマンスには影響しません。ただし、ヘルプセンターの記事の複雑なCSSは、非常に大きな記事のレンダリング時間をわずかに増加させる可能性があります。
SDKは、ブランドと一致しない可能性のあるデフォルトの色を使用します。また、利用可能な場合は、管理センターから色を取得します。まとまりのあるブランドエクスペリエンスを実現するには、カスタムテーマをお勧めします。
Premium PlusやDizianaなどのサードパーティのテーマは、主にWebヘルプセンターをカスタマイズします。モバイルSDKのテーマは別であり、このガイドで説明されているアプローチが必要です。
はい。eesel AIは、SDKのテーマを使用せずに、ブランド化されたサポートエクスペリエンスを提供します。既存のコンテンツからブランドボイスを学習し、現在のヘルプデスクと連携して、カスタム開発の必要性を排除します。

この記事を共有

Stevia undefined

Article by

Stevia Putri

Stevia Putri is a marketing generalist at eesel AI, where she helps turn powerful AI tools into stories that resonate. She’s driven by curiosity, clarity, and the human side of technology.