2016-06-13 5 views
6

У меня есть проект в затмении. Мне нужно включить библиотеку firebase. Если я использую Android Studio шаги были бы просто:Как я могу использовать сообщение Cloud Firebase в проекте eclipse?

enter image description here

И его все, все библиотеки включают в себя.

Но я не могу понять, как включить сообщение о облаке огненной базы для затмения. Я не могу найти, как включить его в затмение.

ответ

9

Новые библиотеки Firebase (9xx) можно найти в Репозитории Google. Вы можете установить его с помощью Eclipse Android SDK Manager. Откройте диспетчер SDK и прокрутите вниз, пока не найдете Google Repository и установите пакет.

Пакет будет установлен в/extras/google/m2repository, и вы найдете файлы Firebase дальше в/com/google/android/firebase.

Вы можете переименовать файлы .aar в .zip и извлечь файл jar, переименовать их из classes.jar и скопировать их в папку проекта libs, отображаемую в Eclipse (или скопировать за пределы Eclipse, а затем следовать инструкциям по импорту проект в Eclipse.)

+0

Извлеките каждый. jar из .aar файлов? – Eames

+0

Я использовал в eclipse это, но я получаю FirebaseMessagingService не может быть разрешен к типу, пожалуйста, кто-нибудь поможет мне? – Achin

+1

Извлечение файлов aar просто дает мне файл Manifest & R.txt. Это тот, который дает файл jar? – Zen

2

Существует движение к Android Studio с Gradle. Решение Eclipse для Firebase CM не ожидается. Я чувствую, что мы все скоро перейдем к AS с Gradle. На нем есть хорошие книги и очень простые инструкции на сайтах Google dev. Мы могли бы также начать изучать новую среду IDE и мигрировать.

+6

Основная проблема заключается в том, что на некоторых машинах Gradle занимает слишком много времени, чтобы строить даже в автономном режиме, поэтому лично я больше не использую Android-студию, это почти то же самое, но тестирование приложения занимает гораздо больше времени в AS, чем в Eclipse, Eclipse по-прежнему самый быстрый, на мой взгляд – Homombi

+0

Да. Вы выяснили, как импортировать firebase на Eclipse? – Zen

+0

Те же инструкции, что и в ответе выше этого. Для базовой реализации клиента необходимы обмен firebase-iid и firebase. Когда вы откроете архив, вы увидите class.jar, который нужно будет переименовать перед импортом в Eclipse или они перезапишут друг друга! – usajnf

1

Старый код не нуждается в изменении кода в firebase, только изменение в коде сервера, вы должны использовать ключ API веб-интерфейса от проекта Firebase и идентификатора отправителя в соответствии со старым стилем кода. и вы должны заменить GCM URL в веб-сценарий - https://fcm.googleapis.com/fcm/send

Нет Требование firebase библиотеки ...

+0

Я считаю, что это правильно на данный момент. Классы клиентов GCM будут по-прежнему работать, но они устарели, поэтому не поддерживаются. В конечном итоге классы клиентов FCM должны быть заменены на ваш код клиента. – usajnf

1

Вы можете добавить это на Android Manifest

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> 
<receiver 
      android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver" 
      android:exported="true" 
      android:permission="com.google.android.c2dm.permission.SEND" > 
      <intent-filter> 
       <action android:name="com.google.android.c2dm.intent.RECEIVE" /> 
       <action android:name="com.google.android.c2dm.intent.REGISTRATION" /> 

       <category android:name="YOUR PACKAGE NAME" /> 
      </intent-filter> 
     </receiver> 
     <receiver 
      android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver" 
      android:exported="false" /> 

И тогда вы можете получить маркер и попробуйте отправить сообщение.

Не забудьте также построить FirebaseApps на свой коде (в моем случае на моем MainActivity)

FirebaseOptions options = new FirebaseOptions.Builder() 
    .setApiKey("YOUR FIREBASE API KEY") 
    .setApplicationId("YOUR FIREBASE APP ID") 
    .setGcmSenderId("YOUR FIREBASE SENDER ID") 
    .build(); 

FirebaseApp myApp = FirebaseApp.initializeApp(getApplicationContext(), options); 
     token = FirebaseInstanceId.getInstance(myApp).getToken(); 

Надеется, что он получит то, что вы ищете на Eclipse.

+1

Благодарим вас за эту информацию. Когда я вызываю FirebaseOptions.Builder(), я получаю NoClassDefFoundError с этой информацией: Вызвано: java.lang.ClassNotFoundException: Не нашел класс «com.google.android.gms.common.internal.zzac» on path: DexPathList Знаете ли вы, что это за ошибка? – Roman

+0

@Roman, вы пытаетесь поставить все jar u на libs и google play libs на вашу зависимость? – Yuw

+0

Я уже включил общие баны, iid и messaging firebase. Но я не знаю, какие библиотеки google play мне нужны.Пробовал базу и iid сейчас, но я все равно получаю ту же ошибку. – Roman

1

Посмотрите на приведенные ниже ресурсы. Короче говоря, речь идет о включении библиотек Firebase в ваш проект (см. Проект GitHub и два видео в конце) и вручную выполнить шаги, которые делает плагин для вас в Android Studio/Gradle.

Смежные вопросы