開発にかかる時間や負担を軽減!サイトやアプリ作りに役立つSDKとは

自社アプリやウェブサイトを作るうえで、他アプリとの連携を簡単に実装させてくれるSDK。Squareでは、決済システムをモバイルアプリに組み込める、アプリ内決済SDKを提供しています。数行のコードを入力するだけで、Squareが提供するPCI-DSSに準拠した、安全でスムーズな決済フローをAndroid、またはiOSのアプリ内に簡単かつ適切に実装できます。


最近では一から作らなくてもいいスマートフォンアプリの作成ツールや、ECサイトの作成ツールが充実しており、誰でも気軽に自社サイトやアプリが作れるようになりました。一方でこういったツールだと細かいカスタマイズが効かなかったり、ほしい機能がついていなかったりと、簡単であるがゆえに融通が効かないというデメリットもあります。なかにはこういった悩みを解消するため、一からウェブサイトやアプリを作りたい、どうにかカスタマイズして機能を追加したい、と考える人もいるかもしれません。

その際に押さえておきたいのが、手短に必要な機能を自社アプリやサイト内に組み込めるSDKです。聞いたことはあるけれど定義がつかめない、という人も多いのではないでしょうか。ある程度のプログラミングの知識がないと導入は難しいですが、まずは概念を理解しておきたいという事業者に向けて、SDKの仕組みを説明します。

christopher-gower-m HRfLhgABo-unsplash

SDKとは

「ウェブサイト、アプリを作成する」「既存のプラットフォームに新たな機能を追加する」と聞くと、一からソースコードを書き、自分で組み立てていかなければならないと思うかもしれません。しかし、これには膨大な時間とプログラミングの知識が必要になるうえ、データが重くなり、稼働速度が下がる恐れがあり、あまり現実的とはいえません。そこで多くの開発者が活用しているのが「ソフトウェア・デヴェロップメント・キット(Software Development Kit)」の頭文字をとったSDKです。

簡単にいうと、組み込みたい機能を果たすSDKを利用することで、自社サイトやアプリでその機能がそのまま使えるようになるというものです。SDKにはライブラリやドキュメント、サンプルコード、仕様書などさまざまなツールが詰め込められており、一からウェブサイトやアプリを制作したい場合でも、既存のプラットフォームに機能を追加したい場合でも活用できます。

SDK管理のプラットフォームを提供するSafeDKが行った調査によると、2017年時点で日本のアプリはSDKを平均16ほど使用していたことがわかっています。使用数の多さから、アプリを作るうえでSDKを使用することが一般的であることがうかがえます。

参考:SDK Guide for Mobile Apps: A handbook of every mobile SDK in the industry(2017年10月24日、Medium)

petr-sevcovic-qE1jxYXiwOA-unsplash

誤解されやすいAPIとの違い

SDKと見分けにくいのが、機能の一部をウェブサイトやアプリ内に表示させたいときに使用される「アプリケーション・プログラミング・インターフェース(API)」です。

ここではGoogle Mapsを例に挙げて説明しましょう。たとえばウェブサイト内に店舗の位置だけを地図として表示させたいとしましょう。この場合は、Google MapsのAPIを使用します

APIで店舗の位置だけを地図として表示させるためには、ウェブサイトなりアプリなりにGoogle Mapsと連携する窓口を作り、「店舗位置を表示させる」という指示を組み込まなければいけません。この流れを成立させるうえで、どのウェブサイトから指示が出ても「指定されたマップを表示する」というアクションを起こせるよう、Google Mapsの利用にはルールが決められています。このルールを含んでいるのが、APIです。

一方で、ヴィーガンの人に向けて、都内にあるヴィーガンレストランを簡単に見つけられるアプリを開発するとしましょう。この場合は、さまざまなヴィーガンレストランをアプリ内で簡単に探せるようにするため、先ほどのように一店舗の位置を表示させるより、地図の機能そのものをアプリに組み込む方が適しているでしょう。

SDKはAPIのようにソフトウェアと連携し、機能の一部分を共有するのではなく、自社アプリ・ウェブサイトの一部として機能を活用したい場合に使用するもの、と考えるといいでしょう。両方ともある程度形ができているため、開発者の負担が軽減される点は共通しているといえます。

Square導入のご相談は営業チームに

Squareサービスの導入を検討中のお客さまに、営業チームが導入から利用開始までサポートします。イベントでの利用や、複数店舗での一括導入など、お気軽にご相談ください。

chuttersnap-saFcXkj0xog-unsplash

SDKの役割

ここまではおおまかな概要を説明してきましたが、ここでは具体的な役割をお伝えします。

・サイト速度の低下を防ぐ

さまざまな機能を自社サイトやアプリに追加するときに気になるのが、サイト速度の低下です。ウェブサイト監視サービスPingdomの調査によると、読み込み時間が2秒のときの直帰率は9%であるものの、5秒になると直帰率は38%に上がると発表しています。

ここで例として、ECサイトを立ち上げるとしましょう。そこには必ず決済の機能が必要となります。お客様からは決済は単純なプロセスに見えるものの、裏では決済一つにしても開発には膨大なコストと労力が必要となります。円滑な流れを実現するためには、クレジットカード情報を暗号化する機能や認証システムの導入が必要になるうえ、入力から決済までラグなく進む設計が求められます。

これらを全て自分で組み立てるとなると膨大な時間がかかるのはもちろんのこと、データが重くなり、サイト速度の低下につながる可能性が高くなります。そこでECサイト向けに公開されている決済SDKを使い、指示通り組み込むことでサイト速度を遅らせることなく実装することができます。

参考:Webページの読み込み時間、3秒が限界か - 5秒になると直帰率激増(2018年1月22日、マイナビニュース)

・さまざまな機能を一つのSDKで導入できる

最後の頭文字が「Kit(道具箱)」である通り、多くのSDKは一つのパッケージに複数の機能が含まれています。たとえば先ほど例に挙げたGoogle MapsのSDKでいうと、地図を見る機能に限らず、写真で実際の道を見ることができる「ストリートビュー」や、友達と場所を共有できる「シェア機能」、もっと細かくいえば建物や道の名前が表示される機能なども含まれています。

SDKの種類は多岐に渡るため、ビジネスオーナーにとってうれしい機能が凝縮されたSDKも存在します。たとえば世界で150万人以上もの月間アクティブユーザーを持つ「Google」の「Firebase」。

このSDKを組み込むと、Googleのサイト上でユーザー解析ができる「Googleアナリティクス」、ソーシャルメディアのアカウントを使ってユーザー登録や認証が行える「Authentication」や、AndroidでもiOSでもクラッシュ検知ができる「Crashlytics」など、ウェブサイトやアプリの向上が期待できるさまざまな機能が無料で使えるようになります。Firebaseに含まれている機能を全て使わない場合は、それぞれの機能をAPIとして表示させることも可能です。

このように一つのSDKを実装するだけで、複数の機能をアプリやウェブサイトに組み込めることは、開発の時間を削減してくれるSDKの大きな利点です。

・別のサイトやアプリに飛ばずに、アプリ内で全機能が使える

たとえばタブレットなどのモバイル端末からレジ機能が使えるモバイルPOSレジアプリを導入したけれど、クレジットカード決済の機能がないといった場合には、決済APIの導入を検討するかもしれません。そこでSquareの決済APIを組み込むとしましょう。この場合、商品の選択や値段の確認といったレジ機能は使用しているモバイルPOSレジのアプリで行いますが、クレジットカード決済時のみ、SquareのPOSレジアプリに自動的に飛び(※)、決済をそこから完了する形になります。

※Square POSレジアプリは、事前にダウンロードしておく必要があります

一方でSquareの決済SDKを取り入れると、APIのようにアプリ間を行き来することなく、自社のアプリやウェブサイト内で決済が完結します。

また、Squareが提供するクレジットカードの決済機能はもちろんのこと、Squareデータと連携して在庫管理POSレジ機能などが利用できたり、請求書が作成できたり、決済にまつわるさまざまな機能が自社アプリを通して使えるようになります。Squareが提供する決済SDKについて詳しくはこちらをご覧ください。

スマートフォン視聴率情報「ニールセン モバイル ネットビュー(Nielsen Mobile NetView) 」が2018年に行った調査によると、スマートフォンの平均利用時間は3時間、そのうちの84%を占めるのがアプリ、残りはブラウザの利用だと発表されています。また、年代別での調査結果に大差は出なかったようです。

このようにスマートフォンに触れる機会が増えているからこそ、自社プラットフォームには顧客満足度向上につながる機能を効率的に組み込むことが大切です。ゼロから作るには膨大な時間とコストがかかってしまう機能の導入には、ぜひSDKを利用してみてはいかがでしょうか。

参考:スマホ利用は約8割が「アプリ」から/「ほぼ毎日利用するアプリ」は8個(ニールセン デジタル調査)

執筆は2019年8月6日時点の情報を参照しています。
*当ウェブサイトからリンクした外部のウェブサイトの内容については、Squareは責任を負いません。
*Photography provided by, Unsplash