開発に​かかる​時間や​負担を​軽減!​サイトや​アプリ作りに​役立つ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