Google Firebase аналитический плагин для единства

Google недавно запустил Firebase Analytics для iOS и Android, и это здорово, и я хочу использовать ее в своей игре для Android, созданной в unity3d 5.4b19. Я попытался создать плагин для этого в Android Studio по этой ссылке. Я успешно собрал флягу, импортированную в единство, и собрал файл apk. Но когда я пытаюсь инициализировать Firebase Analytics, я получаю следующие ошибки

AndroidJavaException: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics;

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/google/firebase/analytics/FirebaseAnalytics;

Вот мой основной класс активности от андроид студии

import android.content.Intent;
import android.os.Bundle;
import android.view.MenuItem;
import com.unity3d.player.UnityPlayerActivity;
import com.google.firebase.analytics.FirebaseAnalytics;

public class MainActivity extends UnityPlayerActivity {
    private FirebaseAnalytics mFirebaseAnalytics;

    public void init() {
        // [START shared_app_measurement]
        // Obtain the FirebaseAnalytics instance.
        mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
        // [END shared_app_measurement]
    }

    public void setUserProperty(String Property, String value) {
        // [START user_property]
        mFirebaseAnalytics.setUserProperty(Property, value);
        // [END user_property]
    }

    public void logCustomEvent(MenuItem item) {
        // [START custom_event]
        Bundle params = new Bundle();
        params.putString("image_name", "name");
        params.putString("full_text", "text");
        mFirebaseAnalytics.logEvent("share_image", params);
        // [END custom_event]
    }

    public void logEvent(String id, String name, String type) {
        // [START image_view_event]
        Bundle bundle = new Bundle();
        bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
        bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
        bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, type);
        mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_CONTENT, bundle);
        // [END image_view_event]
    }

    public void shareText(String subject, String body) {
        Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
        sharingIntent.setType("text/plain");
        sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, subject);
        sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, body);
        startActivity(Intent.createChooser(sharingIntent, "Share via"));
    }
}

Я понимаю, что это не работает, потому что он не может найти классы Firebase. Я не знаю, как включить эти файлы в мой проект. Я пытался найти файлы JAR для аналитики Firebase, но я не смог найти его.

2 ответа

Решение

Обновление 31/11/16

Теперь вы можете сделать это из этого пакета

Я извлек все необходимые файлы JAR из папки SDK. Это все внутри папки Extra. Теперь все работает отлично.

Обновление: Мало кто просил меня опубликовать весь процесс. Итак, вот обзор того, как я получил Firebase, работая в единстве. Это в основном снимки, которые я сделал во время процесса для записи.

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

введите описание изображения здесь

Загрузите jar-файлы отсюда, если не можете найти их

Надеюсь, этой информации будет достаточно для начала. Если вам нужна какая-либо другая информация, пожалуйста, прокомментируйте.

Вам необходимо добавить эти файлы в папку плагина / android: http://joxi.ru/Q2KeQD7C3zdYrj. после этого ваш SDK будет работать нормально.

PS Я не понимаю, почему журнал событий не работает, возможно, нужно подождать. Я думаю, Google json файл будет устанавливать приложение, но имя пакета модуля SDK и имя пакета приложения Unity должны совпадать

Другие вопросы по тегам