やらなイカ?

たぶん、iOS/Androidアプリの開発・テスト関係。

#TwitterFlock でFabricの話を聞いてきたメモ

Twitter社主催のアプリ開発者向けイベント"Twitter Flock Tokyo"に行ってきました。このイベントはTwitter社が提供しているFabricについてのもので、各都市で開催されています。

f:id:nowsprinting:20150520075937j:plain

Fabricではいくつかのサービスが提供されています。これまで、ベータ版配布サービス"Beta"、クラッシュログ解析サービス"Crashlytics"については導入事例も聞いており、興味を持っていました。

しかしそれだけでなく、ユーザ認証、Twitter連携、広告までひとまとめのSDKで提供されています。むしろ逆に、『広告SDKに、"Beta"、"Crashlytics"、ユーザ認証などの機能が無償でついてくる』くらいの印象を持ちました。

それぞれ(有償の)競合サービスが出ている中、これら機能を無償で提供して広告でマネタイズするということなので、頭ひとつ抜けたというか、もう別格と考えて良さそうです。

以下、セッションの内容のメモ。

Keynote

はじめに、サービスの全体像、Fabricの機能を一通り紹介。

実装サンプル"Cannonball"は、iOS/AndroidそれぞれGitHubにプロジェクトが公開されている。iOS版はSwiftで書かれている。

github.com

github.com

iOS/Androidとも、SDKの組み込みは非常に簡単。

日本企業の導入事例として、Cyber Agentさん、cameranさん、OneNewsさんの紹介。

Twitter主催のスタートアップコンペ"Hatch"の紹介。

DIGITS

  • DIGITSは、電話番号認証。Fabricの"Twitter Kit"に含まれる。
  • モバイルを前提としたサービスでは、電話番号認証はとても有効
  • これまでも類似サービスは存在したが、以下の理由で難しく、サービス利用も高額だった
    • SMS APIは国・キャリアによって異なる
    • 電話番号からキャリアを判断する必要もある
  • Twitterでは独自にこの機能を構築しており、9年の実績がある。DIGITSはこれを一般の開発者に無償で提供するもの。
  • 認証用ボタン、認証画面はSDKで提供。コールバックを書くだけで使える
  • 認証画面のbackgroundColor, accentColorなどカスタマイズ可能
  • userID, authToken, phoneNumberを取得可能
  • SMSメッセージはローカライズされる
  • AndroidではINTERNETパーミッションが必要
  • Androidで以下のパーミッションを許可すれば、1タップでログインも可能
    • READ_PHONE_STATE
    • RECEIVE_SMS
  • iOS/Androidネイティブアプリだけでなく、html5でも利用可能
  • digits.comで、電話番号変更やTwitterアカウントとの統合などを行える
  • 電話帳マッピングで友達のアカウントを探す

Crashlytics Kit

  • stability, testing, analyticsにまつわるサービスが統合されている
  • デバイス、OSバージョン、3G/WiFi、メモリなどの情報も収集
  • ユーザセションに属性をセットすることで、セグメント分析も可能
  • answersは、リアルタイムの分析エンジン。セットアップするだけでいくつかの指標で分析できる
    • ダッシュボードで見るほか、Emailでレポート
    • stability alert。安定度がしきい値を割るとアラートメールを送ってくれる
    • カスタムイベント(beta)
    • アプリのバージョンアップ当日、以前のバージョンとのクラッシュ率などを比較

Twitter Kit

  • "Fablic.with(TwitterKit)"で利用可能。様々なモジュールがあるので、"with"で宣言。"start"なども検討したけど"with"に。
  • Twitterアカウントによるシングルサインオン
  • シェア
    • TweetComposerクラスにチェインで指定。text().url().image().show()
    • 埋め込みツイート。リアルタイム、コンテンツの補完
    • TWTRTweetViewで表示もViewレベルで提供。サイズ、テーマなど設定が可能
    • TweetViewDelegete
      • willShareTweet
      • didSelectTweet
      • etc..
  • ゲスト認証(limitはある)
  • REST API Client
  • 使いかたはCannonballを参照

広告

  • オーガニック
    • Twitter Card。いくつか種類がある中に、App card。
    • アプリのページにmeta tagで書く
  • deep link
    • アプリのURLスキーム起動、Twitterカードからインストール通知を受けられる
    • カード表示のとき、URLスキームを見て「ストアで開く」か「アプリ起動」ボタンになる
  • full deep link
    • URLスキームに続けてパラメタを渡す
  • 分析
    • analytics.twitter.com
    • アプリのコンバージョン測定
    • Twitter card経由のインストールも計測できる
    • cardのインプレッション、アクティビティ
    • インフルエンサーと人気コンテンツを計測(インプレッション、インストール)。インフルエンサーに直接コンタクトできるのがTwitterの強み
    • CrashlyticsのアカウントとTwitterアカウントを連携することで、cardの計測が可能
  • プロモーション(paid)
    • セグメントを絞って広告を出せる。id指定もできるので、既存ユーザのみ、既存ユーザを除く、といった指定も可能。
    • ペイド:オーガニックには相関関係がある。ペイドの3.9〜5.2倍のオーガニック(インプレッションやクリック)が得られる

MoPub

  • 広告SDK
  • AdMob, iAdなど、他の広告ネットワークにも接続できる
  • 表示される広告は、MoPubと広告ネットワーク混在でオークションされ、高値の広告を表示できる

所感

評判の良い"Beta"、"Crashlytics"に、Analyticsの"Answers"もセットになってるなら使ってみよう、くらいに思っていましたが、他の機能も強力。

MoPubも筋が良さそうな印象で、広告SDKに対する締め付けも色々出てきている中、単に「セットだから」でなく、これ単体でも十分検討に値するのではないかと。

また、Twitter連携、DIGITSは、MBaaS各社とも競合しそうですね。この先もしPush通知などをサポートしてくると、MBaaSでなくFabricだけで足りるというアプリも出てきそう。 (Twitter社としては、Push相当のことをTwitterでやらせたいような気もするので、実現性は低いかも)