16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Fabric for Unityを入れてみる

Posted at

はじめに

Fabric.ioがUnityをサポートするとのメールが来ていたので
少し試してみました

※この記事はすでにFabric.ioを利用している前提ですので、サインアップなどについては割愛します

環境について

version
OS OSX 10.11.3
Unity 5.3.3f1
Crashlytics v.1.0.0

UnityプロジェクトのプラットフォームはAndroidを想定

導入手順

ネイティブ向けと同様にほとんどドキュメントを見なくても導入できました

プラグインのインストール

  1. Fabric.ioの"Download Plugins"からUnity向けプラグインをDL
  2. Fabric.unitypackageをUnityプロジェクトにインポート
  3. メニューバーから Fabric > Prepare Fabric を選択する
  4. Assets/Editor Default Resources が作成され、
    [Fabric] Generated a new install id ~~~~~とログに表示されたら完了

アプリの登録

  1. インストールが終わったらFabric.ioのEditorウィンドウが立ち上がるのでログインする
  2. ログインができたらインストールするKitを選ぶ
    今回はCrashlyticsで進めます
  3. Installボタンを押して待機
  4. 追加のアセットを勧められるので言われるがままにインポートする
  5. AndroidManifest.xmlの編集する旨を伝えるウィンドウが表示されるのでApplyを押す
  6. "起動時のシーンを開いて、このオブジェクトをドラッグ&ドロップしてください" と出るので従う
  7. ビルドして端末からアプリを起動させる
  8. Fabric.ioのページを確認するとアプリが登録されている

インポートしたファイルについて

登録が完了したので何をインポートしたのか、ディレクトリごとに詳しく見てみます

Editor Default Resources

Fabric/Prepare Fabric実行後に作成されます。
FabricSettings.assetにFabric.ioに関する設定を記載するようです。
AndroidManifest.xmlを自動編集した際に、ユーザーの情報を自動で記載してくれます。

Fabric

Fabric/Prepare Fabric実行後に作成されます
カスタムエディタのスクリプトや、Runtime向けスクリプトなどが入っています

Plugins

Android/iOS向けプラグインアセットです。Kitのインストール後に作成されます。
ネイティブプラグインは全てここにまとめられるようです

実行コード

折角なのでインストールしたCrashlyticsとAnswerを使ってみます
Fabric > Crashlytics > Documentation で何ができるかを確認できます
テストシーンにボタンを配置してボタンが押されたらイベントを通知する
みたいなシンプルなものです

c#
using UnityEngine;
using System.Collections;

public class FabricCtrl : MonoBehaviour {

	public	void	OnSignUp(){
		Fabric.Answers.Answers.LogSignUp();
	}

	public	void	OnSignIn(){
		Fabric.Answers.Answers.LogLogin();
	}

	public	void	OnContentView(){
		Fabric.Answers.Answers.LogContentView("content A");
	}

	public	void	OnCrash(){
		Fabric.Crashlytics.Crashlytics.Log("onCrash");
		Fabric.Crashlytics.Crashlytics.Crash();
	}
}

namespcae Fabric からそれぞれのツールにアクセスできるようです。
Fabric.ioのAnswerやCrashlyticsを見ればそれぞれの通信が行われたことが確認できます

Beta Distributions

ドキュメントにfastlaneでできると書いているので試してみます。

fastlaneのインストール

fastlaneをGitHubの指示に従ってインストールする(https://github.com/fastlane/fastlane)

インストールのために環境として、
OSX or Lion であること、Ruby2.0.0以上であることが必須とされています

  1. ターミナルから以下のコマンドを実行する
    sudo gem install fastlane --verbose
    gem cleanup

  2. 終わったら fastlane -v でバージョンを確認してみます

fastlaneの初期化

Fastlaneを使用するためプロジェクト内での設定を行います

  1. .apk/.ipaのあるディレクトリに移動する
    Unity環境なのでプロジェクトのディレクトリがそれにあたるかと思います

  2. fastlane init を実行する
    いくつか質問をされますが使用している環境に合わせて入力します
    以下、3点ほど注意点
    ・これを実行する前に.apk/.ipaを作成しておく必要があります
    (今いるディレクトリにファイルがないとアプリのある場所を聞かれる)
    ・また、バージョン管理をしているかどうかも確認されますが、noを選択すると初期化を中断されます
    Path to the json secret file: では何も入力せず、そのままEnterを押します
    正常に終了していれば Successfully finished setting up fastlane と表示される

  3. 初期化が終わったら以下のファイルが作成されたことを確認する
    (Project Directory)/fastlane/Appfile : バンドルID or パッケージ名が書かれたファイル
    (Project Directory)/fastlane/Fastfile : fastlaneの処理がrubyで書かれている

Betaにアップロードする

1 . Fastfileを編集する
既存のレーン beta をドキュメントのサンプルのものに書き換えて保存します
ドキュメントに書かれている通り、api_tokenとbuild_secretについては自身のプロジェクトのものに置き換えます

ruby
 lane :beta do
  crashlytics(
    emails: "sample@sample.com",
    api_token: "FABRIC_API_KEY",
    build_secret: "FABRIC_BUILD_SECRET"
  )
end

2 . fastlane betaを実行
FastFileに問題がなければアップロードできているはず、ですがなにやらエラーが出てしまいました
[!] The `crashlytics_path` must be a jar file for Android (RuntimeError)
設定しそびれているパラメータがあるようです
ターミナルからFastlane actions crashlytics  でパラメータを確認できます
どうやらcrashlytics-developtools.jarが必要なようでした

3 . crashlytics-developtools.jarをDL
少しググってみるとFabric.ioのAnt向けビルドツールに含まれているようです
Fabricの Download PluginsからBuild Tools > Ant を選んでcrashlytics.zipをDLし、
今回は以下の場所に配置したことにします
(Project Directory)/crashlytics/crashlytics-devtools.jar

4 . Fastfileを修正する
不足していたjarファイルを指定します
crashlytics_pathにjarファイルを相対パスで指定しました

ruby
 lane :beta do
  crashlytics(
    crashlytics_path: "crashlytics/crashlytics-devtools.jar",
    emails: "sample@sample.com",
    api_token: "FABRIC_API_KEY",
    build_secret: "FABRIC_BUILD_SECRET"
  )
end

5 . アップロードする
Fastfileを修正したら再度ターミナルから fastlane beta を実行します
Build successfully uploaded to Crashlytics Beta
と表示されたらFabric.ioを確認します
アップロードを確認できるはずです

最後に

まだTwitter Kit についてやiOSの設定についてなど触れるところはありますが、
今回はここまでにします

BetaについてはTestFlight難民となった後からお世話になっていますが、今までUnityで開発している環境だと導入が面倒くさいのが難点だったものの、今回ので随分と楽ができそうです

ちなみにiOSについてはこちらのブログが参考になりそうでした
http://engineering.otobank.co.jp/entry/ios-deploy-use-fastlane-crashlytics

16
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?