iOS, Androidアプリに FirebaseAnalyticsを入れて数字をみたいと思います。
unity ver 2020.xです。
こちらの動画そのままでした。
firebaseにUnityようにアプリを登録したら
iOS、Androidの設定ファイルをダウンロードして
Assets > Data > におきました。
- google-services.json
- GoogleService-info.plist
の2つです。
Firebase unity SDKをダウンロード ( 2020/11時点で 6.16.1でした
Player Settings > Other Settings > Configure
Scripting Runtime Version > .Net 4.x というのがありますが、2020では設定自体ないので不要なようです
2019.2 (2018.3) 以降は .net 4.x になっているようです。
Api Compatibility Level * は 2.0のままで。(ここと勘違いしそう
SDKをインストール
dotnet4 > FirebaseAnalytics.unitypackage をインストールします。
自動のダイアログが出ないので
Assets > External Dependency Manager > Android Resolver > Resolve を実行
documentへのリンクがメニューに入っています。
FirebaseInitクラスを作ります。
Firebaseライブラリが読まれません・・・ using Firebaseとか見つかりませんと・・・一度 visual studioを閉じたら大丈夫でした^^;;;
サンプルそのままですが、作成して、GameObjectに付けました。
using UnityEngine;
using Firebase;
using Firebase.Analytics;
public class FirebaseInit : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
FirebaseApp.CheckAndFixDependenciesAsync().ContinueWith(task =>
{
FirebaseAnalytics.SetAnalyticsCollectionEnabled(true);
});
}
}
そしてエラー・・・
unity上で実行するとエラーに・・・
FirebaseCppApp-6_16_1.bundle は、開発元を検証できないため開けません。。。これは・・・キャンセルを選択時ないと実行できない。
このファイルをctrl + 開くから開きます。(メモで開きました。通常利用しないので。)この選択から「開く」と次回からは確認画面が出なくなります^^;;;
(メモでは文字コードエラーになりますが、セキュリティ解除のためだけなので開くを選択さえすればOKで。Unity上で実行してもダイアログ出なくなりました^^;
Build And Runは実行できました・・・
無事、Analytics(firebase)に反映されました^^;;;
Log Event
select_contentを入れてみました。contenttypeとitemidを添えて
Firebase.Analytics.FirebaseAnalytics.LogEvent(
Firebase.Analytics.FirebaseAnalytics.EventSelectContent,
new Firebase.Analytics.Parameter(Firebase.Analytics.FirebaseAnalytics.ParameterContentType, "result"),
new Firebase.Analytics.Parameter(Firebase.Analytics.FirebaseAnalytics.ParameterItemId, stageLevel.ToString())
) ;
stream view に イベントが反映されました^^v
iOSでのビルド
Androidは問題なかったのですが、iOSように書き出してみるとエラー・・・
ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/junichi/git/unity/drills-basic/Tashizan Drills/iOS/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_FIRAnalytics", referenced from:
objc-class-ref in libFirebaseCppAnalytics.a(analytics_ios_d28a0e676a7367b8f2d91944bb505d87.o)
"_OBJC_CLASS_$_FIRApp", referenced from:
objc-class-ref in libFirebaseCppApp.a(app_ios_814e1620d4f88024cea4bade26623a67.o)
"_OBJC_CLASS_$_FIROptions", referenced from:
objc-class-ref in libFirebaseCppApp.a(app_ios_814e1620d4f88024cea4bade26623a67.o)
"_OBJC_CLASS_$_FIRConfiguration", referenced from:
objc-class-ref in libFirebaseCppApp.a(log_ios_dd26aec5b8537064a4c15d38b58b4640.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
pod install してみるとこんなエラーが出ました。
$ pod install
Analyzing dependencies
[!] CocoaPods could not find compatible versions for pod "nanopb":
In snapshot (Podfile.lock):
nanopb (= 2.30906.0, ~> 2.30906.0)
In Podfile:
Firebase/Analytics (= 6.32.2) was resolved to 6.32.2, which depends on
Firebase/Core (= 6.32.2) was resolved to 6.32.2, which depends on
FirebaseAnalytics (= 6.8.2) was resolved to 6.8.2, which depends on
nanopb (~> 1.30906.0)
Specs satisfying the `nanopb (= 2.30906.0, ~> 2.30906.0), nanopb (~> 1.30906.0)` dependency were found, but they required a higher minimum deployment target.
$ pod update したらインストールできました。
Google-Mobile-Ads-SDKやGoogleUtilities, nanopbとバージョン下がってますが^^;;;????大丈夫でしょうか・・・
Analyzing dependencies
Downloading dependencies
Installing Firebase (6.32.2)
Installing FirebaseAnalytics (6.8.2)
Installing FirebaseCore (6.10.2)
Installing FirebaseCoreDiagnostics (1.7.0)
Installing FirebaseInstallations (1.7.0)
Installing Google-Mobile-Ads-SDK 7.67.0 (was 7.68.0)
Installing GoogleAppMeasurement 6.8.2 (was 7.0.0)
Installing GoogleDataTransport (7.5.1)
Installing GoogleUtilities 6.7.2 (was 7.0.0)
Installing nanopb 1.30906.0 (was 2.30906.0)
Generating Pods project
Integrating client project
Pod installation complete! There are 3 dependencies from the Podfile and 12 total pods installed.
とりあえず、これでリンクエラーは解消されてビルド成功しました^^
コメント