zendesk-mobile-sdk-ios-integration

eesel Team
Written by

eesel Team

Last edited 2026 2月 26

{
  "title": "ZendeskモバイルSDK iOS統合:完全な2026年ガイド",
  "slug": "zendesk-mobile-sdk-ios-integration",
  "locale": "ja",
  "date": "2026-02-26",
  "updated": "2026-02-26",
  "template": "default",
  "excerpt": "ZendeskのiOS SDKを統合するための実践的な開発者向けガイド。インストール方法、初期化、認証、UIのカスタマイズについて説明します。",
  "categories": [
    "Zendesk",
    "Guides"
  ],
  "tags": [
    "Zendesk",
    "iOS SDK",
    "Mobile Integration",
    "Customer Support",
    "App Development"
  ],
  "readTime": 9,
  "author": 16,
  "reviewer": 14,
  "seo": {
    "title": "ZendeskモバイルSDK iOS統合:完全な2026年ガイド",
    "description": "ZendeskのiOS SDKを統合するための実践的な開発者向けガイド。インストール方法、初期化、認証、UIのカスタマイズについて説明します。",
    "image": "https://wmeojibgfvjvinftolho.supabase.co/storage/v1/object/public/public_assets/blog-gen/banner-423d5b0b-218b-41f8-bbbc-b17d7d8c284d"
  },
  "coverImage": "https://wmeojibgfvjvinftolho.supabase.co/storage/v1/object/public/public_assets/blog-gen/banner-423d5b0b-218b-41f8-bbbc-b17d7d8c284d",
  "coverImageAlt": "ZendeskモバイルSDK iOS統合のバナー画像:完全な2026年ガイド",
  "coverImageWidth": 1920,
  "coverImageHeight": 1080,
  "faqs": {
    "heading": "よくある質問",
    "type": "blog",
    "answerType": "html",
    "faqs": [
      {
        "question": "ZendeskモバイルSDK統合に必要なiOSの最小バージョンは何ですか?",
        "answer": "Zendesk Messaging SDKは、バージョン2.33.0以降、iOS 14以降が必要です。従来のSupport SDKはiOS 12+をサポートしていましたが、そのSDKは現在アーカイブされており、メンテナンスされていません。"
      },
      {
        "question": "SwiftとObjective-Cの両方のプロジェクトでZendeskモバイルSDK iOS統合を使用できますか?",
        "answer": "はい、SDKはSwiftとObjective-Cの両方をサポートしています。ドキュメント内のすべてのコード例は両方の言語で提供されており、SDKは相互運用性を考慮して構築されています。"
      },
      {
        "question": "ZendeskモバイルSDK iOS統合でプッシュ通知を処理するにはどうすればよいですか?",
        "answer": "プッシュ通知には、Apple Push Notification service SSL証明書の作成、.p12ファイルのZendesk管理センターへのアップロード、Xcodeでのプッシュ通知機能の追加、およびAppDelegateでのUNUserNotificationCenterDelegateメソッドの実装が必要です。SDKは、プッシュ通知がZendeskに属しているかどうかを確認し、表示する必要があるかどうかを確認するためのヘルパーメソッドを提供します。"
      },
      {
        "question": "ZendeskモバイルSDK iOS統合は無料で使用できますか?",
        "answer": "SDK自体は無料ですが、使用するにはZendesk SupportまたはSuiteプランが必要です。Zendeskの価格は、Support Teamプランの場合、エージェント1人あたり月額19ドルから始まります。利用可能なSDK機能は、Zendeskプランのティアによって異なります。"
      },
      {
        "question": "ZendeskモバイルSDK iOS統合の外観をアプリに合わせてカスタマイズできますか?",
        "answer": "はい、テーマの色、ナビゲーションバーのスタイル、および一部のUI要素をカスタマイズできます。ただし、iOSには既知の制限があります。Answer Botのアバターを変更したり、右側のナビゲーションボタンをオーバーライドしたり、チャットテキストのフォントをカスタマイズしたりすることはできません。ほとんどのブランディングは、Zendesk管理センターを通じて処理されます。"
      },
      {
        "question": "ZendeskモバイルSDK iOS統合における匿名認証とJWT認証の違いは何ですか?",
        "answer": "匿名認証は、デバイスごとに新しいユーザーレコードを作成し、認証されていないアプリユーザーに適しています。JWT認証は、署名付きトークンを使用してユーザーのIDを検証し、ユーザーが複数のデバイスで会話履歴にアクセスできるようにします。JWTは、ログインしているユーザーに推奨されます。"
      }
    ],
    "supportLink": null
  }
}
---

お客様がサポートを必要とする場合、最も避けたいのはアプリから離れることです。ブラウザを開いてサポートページを検索したり、メールを掘り下げてチケットの更新を探したりすることは、顧客体験を損なう摩擦を生み出します。そのため、[ZendeskモバイルSDK](https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/getting_started/)を使用して、サポートをiOSアプリに直接組み込むことが、現代のカスタマーサービスにとって不可欠になっています。

このガイドでは、ZendeskのiOS SDKの統合を最初から最後まで説明します。新しいアプリを構築する場合でも、既存のアプリにサポートを追加する場合でも、アプリケーションでカスタマーメッセージングを機能させるための正確な手順を学習できます。モバイルサポートにAIを活用した応答を追加したいチームのために、[eesel AI](https://www.eesel.ai/integration/zendesk-ai)がZendeskモバイルSDKと連携してどのように機能するかについても説明します。

![iOS SDKドキュメントのZendesk開発者向けランディングページ](https://wmeojibgfvjvinftolho.supabase.co/storage/v1/object/public/public_assets/blog-gen/screenshots/zendesk-landing-page.png)

## 必要なもの

始める前に、次のものが必要です。

- [Zendesk SupportまたはSuiteプラン](https://www.zendesk.com/pricing/)
- Xcode 11.4以降
- iOS 14以降をターゲットとするiOSアプリ
- チャネルキーを取得するためのZendeskアカウントへの管理者アクセス
- Swift 5.2.2+またはObjective-Cプロジェクト

このSDKはSwiftとObjective-Cの両方をサポートしているため、アプリで使用する言語に関係なく統合できます。Swift Package Managerは最新のプロジェクトに最適ですが、プロジェクトがすでに依存している場合は、CocoaPodsとCarthageも引き続き利用できます。

## ステップ1:ニーズに合ったZendesk SDKを選択する

多くの開発者は、ZendeskがiOS用の複数のSDKを提供していることに気づいていません。間違ったものを選択すると、後で問題が発生する可能性があるため、事前に違いを理解しておく価値があります。

### Zendesk Messaging SDK(新規プロジェクトに推奨)

これはZendeskの最新のSDKであり、新しい統合に使用する必要があります。ユーザーが時間の経過とともに継続的な会話を行うことができる、現代的なメッセージングエクスペリエンスを提供します。Messaging SDKは積極的にメンテナンスされており、[最新バージョン(2.37.0](https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/release_notes/)は2026年1月にリリースされました。

主な機能は次のとおりです。

- 複数会話のサポート(ユーザーは複数の進行中の会話を持つことができます)
- カルーセル、フォーム、ファイル添付を含むリッチメッセージング
- リアルタイム更新のプッシュ通知サポート
- ビジネスからのプロアクティブなメッセージング
- キューの位置を示す待ち時間バナー

### Classic Support SDK(レガシー/アーカイブ)

**重要:**従来の[Zendesk SDK for iOS](https://github.com/zendesk/zendesk_sdk_ios)は、2024年11月23日にアーカイブされました。GitHubリポジトリは現在読み取り専用です。現在このSDKを使用している場合は、Messaging SDKへの移行を計画する必要があります。詳細な手順については、Zendeskの[移行ガイド](https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/chat_migration/)を参照してください。

### Sunshine Conversations SDK(高度なユースケース)

高度にカスタマイズされたメッセージングエクスペリエンスを必要とするアプリの場合、[Sunshine Conversations](https://docs.smooch.io/guide/native-ios-sdk/)(以前のSmooch)はより柔軟性を提供します。カスタムUI実装や複雑な会話ワークフローなどの高度な機能をサポートしています。ただし、ほとんどの標準的なサポートユースケースでは、Messaging SDKの方が適しています。

## ステップ2:SDKをXcodeプロジェクトに追加する

[Zendesk Messaging SDK](https://developer.zendesk.com/documentation/zendesk-web-widget-sdks/sdks/ios/getting_started/)は、4つのインストール方法をサポートしています。Swift Package Managerは、最新のiOS開発に推奨されるアプローチです。

### Swift Package Manager(推奨)

1. Xcodeで、**File > Swift Packages > Add Package Dependency**を選択します。
2. リポジトリURLを入力します:`https://github.com/zendesk/sdk_messaging_ios/`
3. Xcodeのプロンプトに従って、ZendeskMessagingSDKを依存関係として追加します。

Xcodeは、必要なすべての依存関係を自動的に解決してダウンロードします。

### CocoaPods

Podfileに次の行を追加します。

pod 'ZendeskSDKMessaging'


次に、`pod install`を実行します。

### Carthage

Cartfileに次を追加します。

github "zendesk/sdk_messaging_ios"


`carthage update --use-xcframeworks`を実行し、フレームワークをプロジェクトにドラッグします。

### 必要な権限

カメラ、マイク、およびフォトライブラリへのアクセスを有効にするには、これらのキーをアプリのInfo.plistに追加します。

- `NSCameraUsageDescription`:画像とビデオのカメラアクセスを許可します
- `NSMicrophoneUsageDescription`:ビデオキャプチャのマイクアクセスを許可します
- `NSPhotoLibraryUsageDescription`:フォトライブラリの読み取り/書き込みアクセスを許可します

![iOSプロジェクトのファイル構造を示すXcodeプロジェクトナビゲーター](https://zen-marketing-documentation.s3.amazonaws.com/docs/en/ios_select_project.png)

## ステップ3:アプリでSDKを初期化する

SDKをプロジェクトに追加したら、チャネルキーを使用して初期化する必要があります。

### チャネルキーの取得

チャネルキーは、Zendesk管理センターで生成されます。

1. [Zendesk管理センター](https://support.zendesk.com/hc/en-us/articles/4581766374554-Using-Zendesk-Admin-Center)にログインします。
2. チャネル > メッセージングに移動します。
3. **チャネルを追加**をクリックし、iOSを選択します。
4. プロンプトに従ってチャネルキーを生成します。

![チャネルIDが強調表示されたZendesk管理センターのインストールタブ](https://zen-marketing-documentation.s3.amazonaws.com/docs/en/mobile_sdk_installation_tab.png)

### 初期化コード

これらのインポートをAppDelegateまたはメインアプリファイルに追加します。

**Swift:**
```swift
import ZendeskSDKMessaging
import ZendeskSDK

Objective-C:

#import <ZendeskSDKMessaging/ZendeskSDKMessaging.h>
#import <ZendeskSDK/ZendeskSDK.h>

アプリの起動時にSDKを初期化します。

Swift:

Zendesk.initialize(
    withChannelKey: "<your_channel_key>",
    messagingFactory: DefaultMessagingFactory()
) { result in
    if case let .failure(error) = result {
        print("Messaging did not initialize. Error: \(error.localizedDescription)")
    }
}

Objective-C:

[Zendesk initializeWithChannelKey:@"<your_channel_key>"
                 messagingFactory:[[ZDKDefaultMessagingFactory alloc] init]
                completionHandler:^(Zendesk * _Nullable zendesk, NSError * _Nullable error) {
    if (error != nil) {
        NSLog(@"Zendesk did not initialize. Error: %@", error.localizedDescription);
    }
}];

SDKのサイズは、XCFrameworkのダウンロードで約7.5 MBですが、アプリのサイズに対する最終的な影響は、アプリの削減とリンカーの最適化により小さくなる可能性があります。

ステップ4:ユーザー認証を設定する

SDKは、ユースケースに応じて2つの認証方法をサポートしています。

匿名認証

アプリにログインしていないユーザーには、匿名認証を使用します。

Swift:

let identity = Identity.createAnonymous()
Zendesk.instance?.setIdentity(identity)

これにより、デバイスごとにZendeskに新しいユーザーレコードが作成されます。

JWT認証

認証されたユーザーには、JWTを使用してIDを検証します。

Swift:

let identity = Identity.createJwt(token: "<your_jwt_token>")
Zendesk.instance?.setIdentity(identity)

JWT認証により、ユーザーは複数のデバイスで会話履歴にアクセスでき、なりすましを防ぐことができます。SDKバージョン2.34.0以降では、トークンの更新をシームレスに処理するためのAuthenticationDelegateもあります。

ステップ5:メッセージングインターフェイスを表示する

初期化されると、アプリの任意の場所にメッセージングインターフェイスを表示できます。

基本的なプレゼンテーション

Swift:

if let viewController = Zendesk.instance?.messaging?.messagingViewController() {
    self.navigationController?.show(viewController, sender: self)
}

Objective-C:

UIViewController *viewController = [Zendesk.instance.messaging messagingViewController];
if (viewController != NULL) {
    [self.navigationController showViewController:viewController sender:self];
}

モーダルプレゼンテーション

ナビゲーションスタックにプッシュする代わりに、モーダルエクスペリエンスを実現するには:

Swift:

if let viewController = Zendesk.instance?.messaging?.messagingViewController() {
    let navigationController = UINavigationController(rootViewController: viewController)
    navigationController.modalPresentationStyle = .fullScreen
    present(navigationController, animated: true)
}

デフォルトでは、SDKは最後にアクティブだった会話に移動します。アカウントで複数会話が有効になっている場合、ユーザーは複数の進行中の会話を一度に管理できます。

ステップ6:UIと動作をカスタマイズする

SDKは、アプリのブランディングに合わせていくつかのカスタマイズオプションを提供します。

テーマカラー

Zendesk管理センターから色をカスタマイズするか、プログラムでより詳細に制御できます。プライマリカラーを次のように設定します。

CommonTheme.currentTheme.primaryColor = .cyan

ナビゲーションバーのカスタマイズ

ナビゲーションバーのスタイル設定には、標準のUIAppearanceプロキシを使用します。

UINavigationBar.appearance().barTintColor = .cyan

プレチャットフォームとボット構成

会話を開始する前にユーザー情報を収集するために、プレチャットフォームを構成できます。Zendesk管理センターからフォームを設定するか、SDKの構成オプションを使用してエクスペリエンスをカスタマイズします。

iOSの既知の制限事項

iOSでのこれらのカスタマイズの制限事項に注意してください。

  • Answer Botのアバターは変更できません
  • 右側のナビゲーションバーボタンはオーバーライドできません
  • ナビゲーションタイトルの色はカスタマイズオプションが限られています
  • チャットテキストのフォントは変更できません

これらの制限事項は、ZendeskのiOSドキュメントに記載されており、iOSの実装全体で一貫しています。

一般的な問題とトラブルシューティング

開発者が頻繁に遭遇する問題の解決策を次に示します。

初期化の失敗

SDKの初期化に失敗した場合:

  • チャネルキーが正しく、アプリのバンドルIDと一致していることを確認します
  • Zendeskアカウントでメッセージングが有効になっていることを確認します
  • 正しいリージョンエンドポイント(米国またはEU)を使用していることを確認します

プッシュ通知の問題

プッシュ通知には慎重な設定が必要です。

  1. .p12証明書をZendesk管理センターにアップロードしたことを確認します
  2. APS Environmentエンタイトルメントが「production」(開発ではない)に設定されていることを確認します
  3. プロビジョニングプロファイルにプッシュ通知機能が含まれていることを確認します
  4. サンドボックス専用ではなく、サンドボックスと本番環境の組み合わせ証明書を使用していることを確認します

ソース:Zendeskプッシュ通知設定ガイド

認証エラー

JWT認証の問題は通常、次の原因で発生します。

  • トークンの有効期限切れ:AuthenticationDelegateを使用してトークンの更新を実装します
  • トークン形式が正しくありません:JWTがZendeskの必要なクレームに従っていることを確認します
  • クロックのずれ:サーバーとデバイスの時刻が同期されていることを確認します

メモリとパフォーマンス

SDKは軽量ですが、次のことを行う必要があります。

  • アプリの起動時に1回初期化し、繰り返し初期化しないでください
  • メモリ警告を適切に処理します
  • アプリがiOS 14をサポートしている場合は、古いデバイスでテストします

eesel AIでモバイルサポートを強化する

ZendeskモバイルSDKはアプリ内カスタマーサービスの基盤を提供しますが、多くのチームは、人的介入なしに一般的な質問を処理するためにインテリジェントな自動化を追加したいと考えています。そこで、私たちの出番です。

AIエージェントと自動化ワークフローを構成するためのeesel AIダッシュボード
AIエージェントと自動化ワークフローを構成するためのeesel AIダッシュボード

eesel AIでは、Zendeskの設定と連携して応答を自動化し、偏向率を向上させるAIプラットフォームを構築しました。チケットをルーティングするだけでなく、当社のAIは、Zendesk Guideの記事だけでなく、ナレッジベース全体から情報を取得して、一般的な問題を解決できます。

チームがZendeskモバイルSDK統合とともに当社をどのように使用しているかを次に示します。

  • 複数のナレッジソースを接続するConfluenceGoogleドキュメントNotionなど、ドキュメントが存在する他のプラットフォームから回答を取得するため、情報が分散している場合でも、顧客は完全な回答を得ることができます。

  • ライブ配信前にテストするシミュレーションモードを使用すると、顧客に表示する前に、過去のチケットに対してAI応答をテストして、偏向率を予測できます。

  • 段階的なロールアウト:レビューのためにAIが下書きを作成することから始め、自信が高まるにつれて完全な自動化に拡張します。

すでにZendeskモバイルSDKの統合を計画している場合は、AIを活用した応答を追加することで、人間のエージェントに到達するチケットの量を減らすことができます。Zendesk統合をチェックして、その仕組みを確認してください。

今すぐより良いモバイルサポートの構築を開始する

ZendeskモバイルSDKをiOSアプリに統合することは、手順を知っていれば簡単です。重要なのは、適切なSDK(新しいプロジェクトの場合はMessaging SDK)を選択し、管理センターからチャネルキーを取得し、ユースケースに応じて認証を適切に処理することです。

SDKを使用すると、最小限の開発労力でプロフェッショナルなサポートエクスペリエンスを実現できます。また、AIを活用した自動化でさらに一歩進めたい場合は、eesel AIがより多くのチケットを偏向させ、問題をより迅速に解決するのに役立ちます。

始める準備はできましたか?最新のSDKバージョンと詳細なAPIリファレンスについては、Zendesk開発者ドキュメントにアクセスしてください。

この記事を共有

eesel undefined

Article by

eesel Team