Как я могу импортировать исходный код API-интерфейса firebase in-app-messaging-display в мой проект Android? - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь настроить пользовательский интерфейс firebase in-app-messaging-display для режимов «Только изображение» и «Модальный».Итак, я обратился к официальной документации, но это довольно просто, сказав: «Создание собственного дисплея - это двухэтапный процесс: 1. Напишите свою собственную реализацию класса FirebaseInAppMessagingDisplay.2. Зарегистрируйте эту реализацию с помощью безголового SDK для обмена сообщениями Firebase In-App.

Интересно, как я могу импортировать исходный код in-app-messaging-display в мой проект и заставить его работать как библиотека.

Я загрузил его исходный код с github: https://github.com/firebase/firebase-android-sdk/tree/master/firebase-inappmessaging-display, попытался импортировать его как модуль, но после того, как я выбрал исходный каталог, Android Studio намекает на следующее: Укажите местоположение Gradle или Android Eclipseпроект.Я также попытался скопировать исходный код в каталог libs моего проекта и добавил следующее: include ': libs: firebase-inappmessaging-display' в мой файл settings.gradle и это: проект реализации (': libs: firebase-inappmessaging-display') в зависимости от gradle моего приложения.При построении синхронизации Android Studio сообщает об ошибках, подобных этой: ОШИБКА: невозможно разрешить зависимость для ': XXXXXXXX': не удалось разрешить проект: libs: firebase-inappmessaging-display.

Любое предложение будет высоко оценено.

1 Ответ

0 голосов
/ 10 апреля 2019

Информация в документе немного сбивает с толку.Я тоже застрял с этой проблемой на долгое время.На самом деле все очень просто.

Добавьте эти зависимости в файл уровней вашего приложения.

implementation 'com.google.firebase:firebase-core:16.0.8'
implementation ("com.google.firebase:firebase-inappmessaging:17.0.3")

Зарегистрируйте компонент DisplayMessage при запуске.

import com.google.firebase.inappmessaging.FirebaseInAppMessaging
import com.google.firebase.inappmessaging.FirebaseInAppMessagingDisplay

///////

override fun onStart() {
    super.onStart()
    Log.e("MESSAGE", "activity started")
    var firebaseInAppMessagingDisplay = FirebaseInAppMessagingDisplay { inAppMessage, cb ->
        // You can show the message here.
        // The variable inAppMessage has all information about the campaign that we putting in console (title, content, image url.. etc)
        Log.e("MESSAGE", "Display Message callback invoked")
    }
    FirebaseInAppMessaging.getInstance().setMessageDisplayComponent(firebaseInAppMessagingDisplay)
}
...