Lobiでゲーム内にチャットコミュニティ機能を追加する。

人と話をしながらゲームをするのは、楽しい。
ということで、ゲーム内に掲示板だったりチャットを設置することで、ユーザーのゲームへの依存度を高めることができます。
しかしながら、ゲームのメイン機能とは少しズレているチャット機能を開発する工数はなかなか割けません。

Lobiでゲーム内にコミュニティを設置

そこで、Lobiというサービスを使って、ゲーム内にチャットを設置することができます。
スクリーンショット 2014-05-06 16.18.09
Lobi -Chat & Game Community-
Lobiは、カヤックが運営しているサービスで、元々はナカマップというユーザー向けコミュニティサービスだったものを、ゲーム内に埋め込めるSDK形式に変更した経緯があります。

登録してみる

登録は、メールアドレスと名前とキャプチャによる認証によって行います。
スクリーンショット 2014-05-06 16.19.10
入力が完了すると、メールアドレスの確認がおこなわれます。
スクリーンショット 2014-05-06 16.20.47
受け取ったメールアドレスに記載されているURLをクリックして、メールアドレスの確認を完了します。

アプリの登録とキーの取得

初期状態ではアプリが用意されていないので、管理画面へログインしたら、まずはアプリの登録をおこないます。
スクリーンショット 2014-05-06 16.22.24
登録する内容は多いんですが、埋めていきます。
スクリーンショット 2014-05-06 16.23.45
アプリの登録が完了すると、いくつかの機能を有効にできるオプションが表示されます。
スクリーンショット 2014-05-06 16.24.21
今回は、アプリ内コミュニティを追加したいので、チャット機能をONにします。
あとは、設定画面からクライアントIDとクライアントシークレットというキー情報を取得しておきます。
スクリーンショット 2014-05-06 16.27.18
これで設定が完了です。あとは、SDKを導入していきます。

SDKを導入する

SDKの導入方法は、下記のGitHub Wikiに記載されています。
iOS Implement LobiChatSDK · kayac/Lobi Wiki
SDKは、ライブラリの本体であるframeworkと、リソースファイルであるbundleで構成されています。またLobiの共通部分はLobiCoreにまとまっていて、必要な機能に応じてLobiChatなどを追加して使うという形式のようです。
したがって、今回はチャット機能の利用なので、LobiCoreとLobiChatを導入します。

LobiCore.bundle
LobiCore.framework
LobiChat.bundle
LobiChat.framework

ライブラリの実行のために、リンカーフラグで-ObjCを追加します。

-ObjC

また下記の標準フレームワークにも依存しているので、全てリンクするようにします。

AssetsLibrary.framework
Security.framework
MessageUI.framework
CoreData.framework
QuartzCore.framework
StoreKit.framework

SDKの導入が完了したら、コードの記述ですが、初期化にはLobiCoreクラスのsetupClientId:accountBaseName:メソッドを利用します。この記述はアプリ起動時におこないます。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [LobiCore setupClientId:@"597f089886f206558dd2e45a365092a7c26c0d2f" accountBaseName:@"LobiSample"];
    [LobiCore setRootViewController:self.window.rootViewController];
    return YES;
}

またアプリをURLスキーム経由で起動するために、下記のようなURLスキームを設定します。後半の英数字部分は、管理画面で取得したクライアントIDです。

nakamapapp-597f089886f206558dd2e45a365092a7c26c0d2f

URLからアプリ起動した際の処理は、application:openURL:sourceApplication:annotation:メソッドに記述しますが、実際の処理はLobi SDKに委譲することができます。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
    if ([LobiCore handleOpenURL:url]) {
        return YES;
    }
    return NO;
}

これでアプリを起動すると、LobiのSDKが動作している様子が確認できます。

LobiChatSDK : version 5.1.10

チャット機能を利用してみる

さて、動作が完了したら、チャット機能を実際に呼び出してみます。
チャットのメニューが押された時などに、LobiChatクラスのpresentGroupListWithGroupListType:というメソッドを呼びます。

[LobiChat presentGroupListWithGroupListType:LobiChatGroupListTypePublic];

すると、別の画面が開いてチャットが利用できるようになります!
スクリーンショット 2014-05-06 16.39.30
簡単ですね!ちゃんと端末の言語設定に合わせて、多言語に対応できるようになっているようです。

価格は無料

Lobi SDKは無料で利用できるそうです。
無料で導入を進めて、広告収益で回収するビジネスモデルというのようです。

まとめ

AppSociallyが担う招待の部分もそうですが、招待やチャットは、直接的なコストをかけずにユーザーを拡大する重要な施策です。
AppSociallyでバイラル機能や効果計測を簡単に実装する。
しかしながら、実際に実行することを考えると、効果が比較的見えにくい割に実装工数が大きいので、なかなか手を付けられない部分だと思います。
そういう部分については、まずはAppSociallyやLobiのような無料でも使えるツールを使ってテストしてみるのが効率的です。

コメント

  1. […] Lobiでゲーム内にチャットコミュニティ機能を追加する。 […]

タイトルとURLをコピーしました