Я устанавливаю пакеты MoEngage sdk и react-native-moengage в свое родное приложение для реагирования, но мне пока не удалось запустить приложение, даже следуя инструкциям в официальный сайт.
Удаление всего, что связано с moengage, заставляет приложение снова запускаться, поэтому я не верю, что это другой пакет или плохая конфигурация.
Я пытался очистить gradle, запустить из CLI, запустить из студии Android, запустить на физическом устройстве, изменить версии appcompat (сломать другие вещи, поэтому я бы предпочел не делать этого снова)... Безрезультатно.
В настоящее время работает:
Виндовс 10 64бит
Реагировать родной 0.59.8. Это не новое приложение, оно началось с версии 0.55.4 и со временем перешло на версию 0.59.8.
Инструменты сборки Gradle 3.3.0 и Gradle версии 4.10.1 — все
// app/build.gradle
android {
compileSdkVersion 28
buildToolsVersion '28.0.3'
...
}
...
dependencies {
implementation project(':react-native-moengage')
implementation 'com.moengage:moe-android-sdk:+'
implementation fileTree(dir: "libs", include: ["*.jar"])
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.facebook.react:react-native:+" // From node_modules
...
}
// settings.gradle
include ':react-native-moengage'
project(':react-native-moengage').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-moengage/android')
//MainApplication.java
...
import com.moengage.react.MoEReactPackage;
...
public class MainApplication extends Application implements ReactApplication {
...
@Override
public boolean getUseDeveloperSupport() {
return BuildConfig.DEBUG;
}
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new MoEReactPackage(),
);
}
};
@Override
public void onCreate() {
super.onCreate();
MoEngage moEngage =
new MoEngage.Builder(this, "XXX")
.build();
MoEngage.initialise(moEngage);
}
Пока я получил только следующее сообщение
...project\android\app\src\main\java\io\lifevision\MainApplication.java:95: error: cannot find symbol
MoEngage moEngage =
^
symbol: class MoEngage
location: class MainApplication
...project\android\app\src\main\java\io\lifevision\MainApplication.java:96: error: package MoEngage does not exist
new MoEngage.Builder(this, "UZXYFJ0V2RQRUFJTMVHOAJKC")
^
...project\android\app\src\main\java\io\lifevision\MainApplication.java:98: error: cannot find symbol
MoEngage.initialise(moEngage);
^
symbol: variable MoEngage
location: class MainApplication
3 errors
Вы должны изменить свой ключ: «UZXYFJ0V2RQRUFJTMVHOAJKC».
Оператор импорта для MoEngage.java отсутствует. Ниже приведен необходимый оператор импорта
import com.moengage.core.MoEngage;
Я бы порекомендовал вам включить автоматический импорт в вашей среде IDE (Android Studio), это поможет вам управлять импортом.
Позвольте мне, если это не решит вашу проблему. В качестве альтернативы вы можете написать нам по адресу [email protected]
Я работал с VScode, поэтому у меня не было автоматического импорта. Пропустил это из-за того, что скопировал все, вместо того, чтобы печатать сам, но это сработало, спасибо!
Если это дополнительный
,в конце массива, это потому, что я удалил пакеты под ним, чтобы не загромождать ответ, это не последний пакет