#cordova #ionic-framework #ionic3 #firebase-analytics #flurry-analytics
#cordova #ionic-framework #ionic3 #firebase-аналитика #flurry-аналитика
Вопрос:
Я получаю эту ошибку, когда пытаюсь зарегистрировать событие с помощью плагина Flurry:https://github.com/blakgeek/cordova-plugin-flurryanalytics
(Я получал ту же ошибку, когда использовал плагин firebase-analytics, и я также не смог ее устранить:https://github.com/chemerisuk/cordova-plugin-firebase-analytics )
Код, который я использовал в своем insights.ts(one of my component)
в ionViewWillEnter()
:
const options: FlurryAnalyticsOptions = {
appKey: 'my key', // REQUIRED
userId: 'prash1234',
reportSessionsOnClose: true,
enableLogging: true
}
let fa: FlurryAnalyticsObject = this.flurry.create(options);
let ovenParams = {
temp: 350,
mode: 'convection',
rackPosition: 'center'
}
fa.logEvent('set oven', ovenParams)
.then(() => { console.log('something')})
.catch((e) => console.log('error'));
Ошибка, которую я получаю при запуске приложения:
ERROR TypeError: Object(...) is not a function
at FlurryAnalyticsObject.logEvent (index.js:26)
at InsightsPage.webpackJsonp.171.InsightsPage.ionViewWillEnter (insights.ts:60)
at ViewController._lifecycle (view-controller.js:566)
at ViewController._willEnter (view-controller.js:454)
at Tab.NavControllerBase._willEnter (nav-controller-base.js:966)
at nav-controller-base.js:828
at t.invoke (polyfills.js:3)
at Object.onInvoke (core.es5.js:4149)
at t.invoke (polyfills.js:3)
at r.run (polyfills.js:3)
Мой пакет json:
{
"name": "myFlurryApp",
"version": "0.0.1",
"author": "Ionic Framework",
"homepage": "http://ionicframework.com/",
"private": true,
"scripts": {
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build",
"lint": "ionic-app-scripts lint",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
},
"dependencies": {
"@angular/common": "4.1.3",
"@angular/compiler": "4.1.3",
"@angular/compiler-cli": "4.1.3",
"@angular/core": "4.1.3",
"@angular/forms": "4.1.3",
"@angular/http": "4.1.3",
"@angular/platform-browser": "4.1.3",
"@angular/platform-browser-dynamic": "4.1.3",
"@ionic-native/app-version": "^4.19.0",
"@ionic-native/core": "^4.19.0",
"@ionic-native/device": "^4.19.0",
"@ionic-native/fcm": "^4.5.2",
"@ionic-native/flurry-analytics": "^5.2.0",
"@ionic-native/google-analytics": "^4.19.0",
"@ionic-native/keyboard": "^4.19.0",
"@ionic-native/local-notifications": "^4.6.0",
"@ionic-native/push": "4.0.1",
"@ionic-native/splash-screen": "^4.19.0",
"@ionic-native/status-bar": "^4.19.0",
"@ionic/storage": "2.0.1",
"@types/lodash": "^4.14.91",
"cordova-android": "7.1.4",
"cordova-ios": "4.5.5",
"cordova-plugin-app-version": "0.1.9",
"cordova-plugin-badge": "0.8.8",
"cordova-plugin-cocoapod-support": "1.6.0",
"cordova-plugin-device": "2.0.2",
"cordova-plugin-fcm-with-dependecy-updated": "2.4.0",
"cordova-plugin-flurryanalytics": "1.4.6",
"cordova-plugin-google-analytics": "1.8.6",
"cordova-plugin-ionic-keyboard": "2.1.3",
"cordova-plugin-local-notification": "0.9.0-beta.2",
"cordova-plugin-splashscreen": "5.0.2",
"cordova-plugin-statusbar": "2.4.2",
"cordova-plugin-whitelist": "1.3.3",
"datepicker-ionic2": "^2.6.2",
"highcharts": "^4.2.6",
"ion2-calendar": "^2.2.0",
"ionic-angular": "3.6.1",
"ionic-select-searchable": "^2.8.2",
"ionicons": "3.0.0",
"moment": "^2.22.2",
"rxjs": "^5.5.12",
"sw-toolbox": "3.6.0",
"zone.js": "0.8.12"
},
"devDependencies": {
"@ionic/app-scripts": "2.1.4",
"typescript": "2.3.4"
},
"description": "An Ionic project",
"cordova": {
"plugins": {
"cordova-plugin-app-version": {},
"cordova-plugin-device": {},
"cordova-plugin-ionic-keyboard": {},
"cordova-plugin-splashscreen": {},
"cordova-plugin-statusbar": {},
"cordova-plugin-whitelist": {},
"cordova-plugin-google-analytics": {
"GMS_VERSION": "11.0.1"
},
"cordova-plugin-fcm-with-dependecy-updated": {},
"cordova-plugin-local-notification": {},
"cordova-plugin-flurryanalytics": {}
},
"platforms": [
"ios",
"android"
]
}
}
ionic -v
4.3.0
Android 7.1.4
Пожалуйста, помогите мне с этим. Спасибо 🙂
Комментарии:
1. На самом деле, какая у вас версия Ionic? Потому что в вашем вопросе вы упоминаете v4, а в тегах вы используете
ionic3
tag.2. Привет @SudarshanaDayananda, я использую ionic cli-4.3.0, но проект, который я создал, предназначен для ionic 3. Вот почему я упомянул ionic-3
3. И еще одна вещь, я даже пытался изменить версию cli с
4.3.0
на3.12.x
, но проблема та же.4. вы можете решить проблему?
5. @AbhijitChakra, да, я смог решить эту проблему, сменив версию плагина flurry. А затем измените версию сервиса (flurry service) в файле Android. PS: Я не буду рекомендовать этот плагин, хотя это вызывает большие проблемы при создании вашего проекта iOS. Если они решили проблему сборки для iOS в прошлом году, то вы наверняка можете ее использовать.
Ответ №1:
Чтобы решить эту:
-
Переключите версию плагина flurry.
-
затем измените версию сервиса (flurry service) в файле Android. Сделайте его таким же, как плагин.
PS: Я не буду рекомендовать этот плагин, хотя это вызывает большие проблемы при создании вашего проекта iOS. Если они решили проблему сборки для iOS в прошлом году, то вы наверняка можете ее использовать.
Редактировать:
Теперь с помощью Ionic amp; capacitor вы можете решить эту проблему.
npm install cordova-plugin-flurryanalytics
npm install @ionic-native/flurry-analytics
ionic cap sync