用語集

ソフトウェア開発キット(SDK)

このウェブページは、お客様の便宜のために機械翻訳されたものです。翻訳されたコンテンツの正確性や信頼性は保証いたしかねます。翻訳されたコンテンツの正確性について疑問をお持ちの場合は、ウェブページの公式な英語版をご覧ください。

SDKとは何ですか?

SDKはソフトウェア開発キットの略です。これは、開発者がアプリをゼロから構築することなく、特定のサービスやテクノロジーをアプリに追加できるようにする、コードライブラリ、ツール、およびドキュメントのパッケージです。

モバイルゲームでは、SDKはスタジオがゲームを外部プラットフォームに接続するための最も一般的な方法です。例えば、 Unity Ads SDKを統合することで、ゲームをUnityの広告ネットワークおよび広告仲介ツールに接続でき、開発者は自らインフラを構築することなく、広告が表示されるタイミング、場所、方法をコントロールできるようになります。

Android SDKやiOS SDKのようなプラットフォーム固有のSDKは、それぞれのエコシステムにおいて同様の仕組みで動作します。

SDKはどのように動作するのですか?

ほとんどのSDKは、同じコアコンポーネントをバンドルしています。

  • 基盤となる機能を処理する、あらかじめ記述されたコードのライブラリ
  • 開発者自身のコードがそのライブラリとどのように通信するかを定義するAPI
  • 使用方法を説明したドキュメント
  • テストツールまたはデバッグツール。

開発者はSDKをプロジェクトにインポートし、その機能をゼロから構築する代わりに、SDKの関数を呼び出す。SDKは、広告ネットワーク、決済プロセッサー分析プラットフォームなど、接続先のサービスとの基本的な通信を処理するため、開発者は接続のビルドや維持を自分で行う必要はありません。

ゲーム開発においてSDKはどのような場面で使用されていますか?

ゲーム開発において、SDKはスタジオが自社でビルドたくない機能を追加するための手段です。

Unity Ads SDKは、単一のインテグレーションによってゲームをUnityの広告ネットワークおよびメディエーションツールに接続することで機能します。UnityのSDKインテグレーションガイドでは、 Unityプロジェクトの設定手順をステップバイステップで説明しています。

Uken Gamesは、以前の広告パートナーとの間で「SDKの悪循環」と呼んだ状況に苦労していたと述べ、新しいSDKごとにカスタムインテグレーション作業が必要だったと説明した。Unity Adsに切り替えたことで、チェックボックス1つと数行のコードだけで済むようになりました。

モバイルゲームにおけるその他の一般的なSDKカテゴリには、分析、アトリビューション、決済処理などがあり、それぞれスタジオが自社で開発・保守することなく機能を追加できる。

SDK 対API

SDKとAPIはしばしば同じ意味で使われますが、両者は同じものではありません。

概要
SDK
プラットフォームを中心に構築されたより包括的なツールキット。2
API
つのソフトウェアがどのように通信するかのルール。
含まれるもの
SDK
コードライブラリ、ドキュメント、そして多くの場合テストツール。通常は1つ以上のAPIを中心に構築されている。
API
定義された通信ルールセットはあるが、それに関するツールキットはない。
使用方法
SDK
開発者がプラットフォームでビルドためにインストールします。
API
コードから呼び出され、データの交換やトリガーのトリガーに使用

ほとんどのSDKには1つ以上のAPIが含まれていますが、 API単体ではSDKとは言えません。

SDKを使用するメリットは何ですか?

  • より速く構築する:事前に構築されたコードとツールがあれば、開発者は同じインテグレーションをゼロから記述してテストする必要がなくなります。
  • サポートとドキュメントを入手する:ほとんどのSDKには、Rawのコードだけでなく、リファレンスドキュメント、サンプルコード、およびメンテナンスされた更新パスが付属しています。
  • プラットフォームとの一貫性を保つ: SDKは接続先のプラットフォームによって構築および保守されるため、完全にカスタム構築されたインテグレーションよりも、プラットフォームが変更されても動作し続ける可能性が高くなります。

SDKを使用する際の課題は何ですか?

  • 依存関係を追加します:SDKに依存するプロジェクトは、そのプロバイダーがSDKの保守、セキュリティの維持、および将来のアップデートとの互換性のあるを行うことに依存します。
  • アプリのサイズとロード時間を増やすことができます。複数のSDKをバンドルすると、ゲーム全体のファイルサイズが増加し、適切にマネージしないとパフォーマンスが低下する可能性があります。
  • バージョンと互換性のリスク:SDKの更新、またはSDKが対応していないOSの更新は、インテグレーション自体が更新されるまで機能を損なう可能性があります。

よくある質問(FAQ)

すべてのSDKは無料で利用できますか?

いいえ。一部のSDKは無料かつオープンソースであり、つまりコードが公開されており、変更可能です。その他はクローズドソースであり、プロバイダーとのライセンス契約またはアカウントが必要となる。開発者がどちらを使用するかは、一般的にはSDKの背後にあるプラットフォームが提供する機能によって決まり、決まったルールはありません。

UnityプロジェクトにSDKを統合するにはどうすればよいですか?

具体的な手順はSDKによって異なりますが、通常はSDKのパッケージをプロジェクトにインポートし、プロジェクト固有のIDまたはキーで初期化し、必要な機能がある場所でその関数を呼び出すことでインテグレーションを行います。一般的な手順についてはSDKインテグレーションを参照し、 Unity Ads固有のウォークスルーについてはUnity独自のSDKインテグレーションガイドを参照してください。

関連用語

Application Programming Interface (API)

An API, or Application Programming Interface is a set of rules that lets software components communicate with each other.

SDK統合

SDK 統合とは、ソフトウェア開発キットと呼ばれるライブラリ ファイルをプロジェクトにインポートして、そのファイルの機能を使用するプロセスです。

ゲームテック

ゲーム テクノロジー (ゲームテック) とは、ゲームのライフサイクル全体にわたって使用され、特にゲーム開発を目的として構築された専用のソリューションとサービスを指します。