mixiエンジニアがおくるソーシャルアプリ開発実践講座

第1回 mixi SDKでiPhoneアプリを作ろう

この記事を読むのに必要な時間:およそ 4 分

はじめに

mixiはSNSだけではなくプラットフォームとしての側面も持っており,mixiの持つソーシャルグラフをmixiの外のサービスで利用したり,mixi上でWebアプリケーションを動作させたりすることができます。前者はGraph APIと呼ばれるAPIセットで実現でき,後者はmixiアプリ向けAPIで実現できます。

mixiではスマートフォン上でのmixiプラットフォームの利用を促進するために,今年の5月に「mixi API SDK for Android」⁠9月に「mixi API SDK for iOS」の提供を開始しました。今回と次回の2回に分けて,そのiOS版SDKとAndroid版SDKについて順に紹介します。

mixi API SDK for iOSとは

mixi API SDK for iOS(以下,mixi SDK(iOS)と表記)とはその名のとおりmixi APIをiOSで利用するためのSDKです。これを使うことでリスト1のようにして簡単にiPhoneアプリからmixiのAPIを呼び出せます。

リスト1 People API呼び出しの例

MixiRequest *request = [MixiRequest 
  requestWithEndpoint:@"/people/@me/@self"];
[[Mixi sharedMixi] sendRequest:request 
                      delegate:self];

mixi SDK(iOS)を利用すると次のような利点があります。

  • シングルサインオンができる
  • 認可・トークンの期限切れなどを気にせずAPIの呼び出しだけに専念して開発できる
  • mixiアプリはmixi内の検索機能で探すことができ,ユーザがアプリを見つけやすい

もちろん利点だけではありません。現時点では次のような欠点も存在します。

  • 認可をmixi公式アプリに依存するため開発には実機が必要になる
  • iPadには対応していない

これらの点が受け入れられない場合は,自分でmixiのAPIを呼び出すライブラリの作成を検討してもいいでしょう。またmixi SDK(iOS)はソースコードで提供されますので,好みの動作をするように変更することも可能です。

mixi API SDK for iOSを準備する

mixi SDK(iOS)を使ってmixi APIを実行するには事前にいくつかの準備が必要です。

事前準備

先の項目に進む前に下記を済ませておいてください。誌面の都合上詳細な説明は省略します。

  • iPhoneアプリを実機で動作させられるようmixi公式アプリがインストールされた実機を用意し,各種登録を済ませる
  • mixiパートナー登録をする。個人パートナーの方はクレジットカード番号も登録する※1
※1)
クレジットカード番号は身分証明のために登録いただいており,この登録で課金が発生することはありません。

アプリ登録

mixi SDK(iOS)は認可にOAuthを使用します。まずは作成するアプリケーションの情報をmixi Developer Centerに登録してOAuth Client IDとClient Secretを取得しましょう。

アプリ情報の登録で重要な設定項目は次のとおりです。

mixiアプリの場合
アプリ対応範囲:「iOS版」にチェックを入れる
Graph APIの場合
起動URIスキーム:mixi SDK(iOS)を使用するアプリの起動のためのURIスキームを入力する

プロジェクトの設定

mixi Developer Centerの「SDKダウンロード」から「mixiIOSSDK-version.zip」をダウンロードし,展開したディレクトリ内のlib/MixiSDKディレクトリをプロジェクトに追加しましょう。

さらにmixi SDK(iOS)が依存している次のフレームワークをプロジェクトに追加します。

  • CFNetwork.framework
  • Security.framework
  • SystemConfiguration.framework

最後にmixi Developer Centerのアプリ情報に表示されている起動URIスキームをプロジェクトに追加してください。mixiアプリの場合はデフォルトではmixiapp-<アプリID>,Graph APIの場合はアプリ情報登録時に自分で設定した値になっています。以上で準備は完了です。

著者プロフィール

あんどうやすし

(株)ミクシィ プラットフォームサービス開発部

コメント

コメントの記入