多くの人々にハピネスを提供する!UNIEARTH

オフィシャルブログ
会社HPへ
お問い合わせ

チャットワークAPIでiOS8のAppExtensionアプリを作ってみた【紹介編】

読者の皆様、あけましておめでとうございます!ユニアースのアプリ開発担当、にっちゃんです!本年もよろしくお願いします!
前回までの記事は仕事効率化系のソフト紹介をさせて頂いておりましたが、今回はアプリ開発者らしく技術ネタを紹介させて頂きたいと思います。

チャットワークAPIって?

まず、チャットワークは、
「ビジネスが加速する クラウド会議室 業務の効率化と会社の成長を目的とした、メール・電話・会議に代わるコミュニケーションツールです。」引用→ChatWork
とあるように、弊社では業務をする上で欠かせないコミュニケーションツールとなっています。
そのチャットワークにおいて、現在プレビュー版ではありますがシステムにアクセスできるAPIが提供されており、申し込むことでAPIが利用できる状態になります。→ChatWork API
今回はそのプレビューの申し込みが承認され、利用できるようになりましたので何かこのAPIを使ったアプリを作ろうという事で開発に着手してみました。

iOS8のAppExtension(ShareExtension)

・・・とは言うものの、さて何を作ろうかという事で悩みましたが1日で答えは出て、AndroidのIntent機能を使ったChatWorkへのシェアアプリを作ろうと思いました。
AndroidのIntent機能について簡単に説明すると、1つのアプリから異なるアプリへ指示を送ってアプリ間の連携を容易にする仕組みです。開発者にとってすごく使いやすく分かりやすく、これがあればなんでもできるじゃんぐらいのすばらしい機能です。
・・・が、これらはAndroid開発者としては当たり前すぎました。そう、当たり前すぎました。
大事な事なので2回言いましたが、当たり前すぎました。
そこで、iOSで同じことができないかと調べてみたところ、ちょうどiOS8から同じような仕組みが提供されている事を知りました。
Androidでは当たり前に出来ていた事が数年遅れてiOSがAndroidに追いついたようです。
その名も「AppExtension」{ワーワーキャーキャードンドンパフパフ

シェア機能を見てみよう

iOS8をご利用の方はSafariを起動して画面下部中央のボタンをタップしてみてください。
スクリーンショット 2015-01-13 19.11.542

するとこんな画面が表示されます。
スクリーンショット 2015-01-13 19.12.002

Androidユーザーは見覚えのあるような画面だと思います。そう、UIこそ違いますがAndroidで言うIntentと同じ機能ですね。
iOS7まではこれらのアプリ連携するシェア機能はiOS公式アプリにしかありませんでした。
しかし、iOS8からサードパーティ製のアプリがアプリ連携を受けれるようになりました。

今回作ったチャットワークシェアアプリ

まずは普通にいつものアプリを作ります。
スクリーンショット 2015-01-14 10.03.55

そしてここではチャットワークAPIのAPIトークンを入力し、アプリに記憶させます。
シェアを受けるアプリで毎回APIトークンを入力する手間を省くためです。
スクリーンショット 2015-01-14 10.04.07

そしてsafariを起動して、例のボタンをタップすると下図のようにMoreボタン(日本語環境だとその他ボタン)があります。
スクリーンショット 2015-01-13 19.12.0022

Moreボタンをタップすると、シェアを受けられるアプリ一覧が表示されます。
スクリーンショット 2015-01-13 19.14.562

自作したチャットワークシェアアプリにチェックし、完了します。
スクリーンショット 2015-01-13 19.15.012

すると例の一覧に自作アプリが表示されますのでそれをタップします。
スクリーンショット 2015-01-13 19.15.052

投稿画面が表示されます。この画面の大部分をAppExtensionの機能を使うとiOSがほぼ自動で表示してくれます。
スクリーンショット 2015-01-13 19.15.12

次に送信先グループのセルをタップすると別の自作ViewControllerが表示されるので、そこでチャットワークのチャットルーム一覧を取得して表示しています。
スクリーンショット 2015-01-13 19.17.522

ルームを選択すると前の画面に遷移し、送信先グループに選択したルーム名が表示されます。
スクリーンショット 2015-01-13 19.19.272

後は任意のテキストを入力して、Postをタップすると選択したチャットルームに入力したテキストと表示中のURLを投稿する仕組みとなっています。
スクリーンショット 2015-01-13 19.22.40

Thanks!

いかがでしたでしょうか?スマホでブラウジングしていて内容をシェアしたい時にとても便利ですので本家チャットワークさんのアプリに是非組み込んで欲しい機能ですね!
さて、実装方法が気になりますか?気になりますよね!
残念ながら今回は紹介編のためここまでです!気になる実装はまた次回の実装編で詳しくご説明させて頂きます!
よろしければブックマークして頂き、また実装編もご覧くださいませ!

この記事を書いた人

nishino

アプリ開発 nishino

主にiPhone・Androidのアプリ開発を担当しています。
得意言語はObjective-C, Java, C#で、WindowsアプリやASP.NETでのサーバ開発もばっちこいです!
最近は社内ツールとして利用しているGoogleドキュメントのGoogle Apps Scriptを書くのが楽しくてマイブーム・x・
プライベートでは吹奏楽でトロンボーンを10年以上吹いています・x・

nishinoの最近の記事

pagetop