Note: This document references how to migrate Plugins from Felgo 2 to Felgo 3. For information on how to migrate to Felgo 4, see the Felgo 4 Update Guide.
Using Felgo Plugins before release 2.8.2 required you to install the plugin libraries from an additional repository in the Maintenance Tool. Beginning with Felgo 2.8.2, plugins are part of Felgo libraries.
Please follow the listed steps found below to migrate to the new plugin integration if you were using plugins before that release.
To see an integration example of the plugins have a look at the Felgo Plugin Demo app.
Note: You only need to follow these steps if you were using Felgo Plugins before the 2.8.2 release.
Here is a short summary of all changes when using Felgo plugins:
import Felgo.<plugin-name>
with the new import statement:
import Felgo
licenseKey property declarations from your individual plugin items. You can create a new license key with enabled plugins at https://felgo.com/license/.
https://sdk.felgo.com/plugins/<platform>
as it is not required anymore.
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -framework GoogleMobileAds ... } ...
with
... FELGO_PLUGINS += admob ...
Android
.pro file:
FELGO_PLUGINS += admob
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'com.google.android.gms:play-services-ads:7.5.0'
}
with this one:
dependencies {
implementation 'net.vplay.plugins:plugin-admob:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/> <activity android:name="com.google.android.gms.ads.AdActivity" android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" android:theme="@android:style/Theme.Translucent"/>
Note: If you have changed the permissions by hand you can also remove the following two lines:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -framework Chartboost ... } ...
with
... FELGO_PLUGINS += chartboost ...
Android
.pro file:
FELGO_PLUGINS += chartboost
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'com.google.android.gms:play-services-ads:7.5.0'
}
with this one:
dependencies {
implementation 'net.vplay.plugins:plugin-chartboost:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
chartboost.jar from the android/libs sub-directory.<uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -framework FacebookSDK ... } ...
with
... FELGO_PLUGINS += facebook ...
Android
.pro file:
FELGO_PLUGINS += facebook
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'com.facebook.android:facebook-android-sdk:3.20.0'
}
with this one:
dependencies {
implementation 'net.vplay.plugins:plugin-facebook:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<activity android:name="com.facebook.LoginActivity" /> <activity android:name="net.vplay.plugins.facebook.FriendPickerActivity" />
Note: If you have changed the permissions by hand you can also remove the following line:
<uses-permission android:name="android.permission.INTERNET" />
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -lFlurry ... } ...
with
... FELGO_PLUGINS += flurry ...
Android
.pro file:
FELGO_PLUGINS += flurry
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'com.google.android.gms:play-services:7.5.0'
implementation 'com.android.support:support-v4:22.0.0'
implementation 'com.flurry.android:analytics:6.2.0'
}
with this one:
dependencies {
implementation 'net.vplay.plugins:plugin-flurry:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
No changes needed.
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -framework HockeySDK ... } ...
with
... FELGO_PLUGINS += hockeyapp ...
Android
.pro file:
FELGO_PLUGINS += hockeyapp
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'net.vplay.plugins:plugin-hockeyapp:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<activity android:name="net.hockeyapp.android.UpdateActivity" />
Note: If you have changed the permissions by hand you can also remove the following two lines:
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
iOS
No further steps to do.
Android
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'net.vplay.plugins:plugin-notification:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<receiver android:name="net.vplay.plugins.notification.NotificationManagerItem$Receiver"> <intent-filter> <action android:name="net.vplay.plugins.notification.BROADCAST"/> </intent-filter> </receiver>
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -framework Bolts LIBS += -framework Parse ... } ...
with
... FELGO_PLUGINS += parse ...
Android
.pro file:
FELGO_PLUGINS += parse
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'com.parse:parse-android:1.13.0'
}
with this one:
dependencies {
implementation 'net.vplay.plugins:plugin-parse:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
<service android:name="com.parse.PushService" /> <receiver android:name="net.vplay.plugins.parse.ParseItem$Receiver" android:exported="false"> <intent-filter> <action android:name="com.parse.push.intent.RECEIVE" /> <action android:name="com.parse.push.intent.DELETE" /> <action android:name="com.parse.push.intent.OPEN" /> </intent-filter> </receiver> <receiver android:name="com.parse.GcmBroadcastReceiver" 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" /> <!-- IMPORTANT: Change "com.parse.starter" to match your app's package name. --> <category android:name="com.parse.starter" /> </intent-filter> </receiver>
<service android:name="net.vplay.plugins.parse.ParseDownloadService" />
<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="android.permission.VIBRATE" /> <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" /> <uses-permission android:name="android.permission.GET_ACCOUNTS" /> <!-- IMPORTANT: Change "com.parse.starter.permission.C2D_MESSAGE" in the lines below to match your app's package name + ".permission.C2D_MESSAGE". --> <permission android:protectionLevel="signature" android:name="com.parse.starter.permission.C2D_MESSAGE" /> <uses-permission android:name="com.parse.starter.permission.C2D_MESSAGE" />
iOS
.pro file:
... ios { # AdMob framework LIBS += -F$$PWD/ios LIBS += -lSoomlaiOSStore -lSoomlaiOSCore ... } ...
with
... FELGO_PLUGINS += soomla ...
Android
.pro file:
FELGO_PLUGINS += soomla
build.gradle file and add the following maven line within the allprojects block, so that it looks like this:
... allprojects { repositories { mavenCentral() maven { url 'https://install.felgo.com/maven/' } } } ...
dependencies {
implementation 'net.vplay.plugins:plugin-soomla:3.+'
}
Note: Make sure that your project uses the Gradle Build System like described here.
SoomlaAndroidCore.jar, AndroidStore.jar, square-otto-x.x.x.jar, AndroidStoreGooglePlay.jar,
in-app-purchasing-2.0.1.jar, AndroidStoreAmazon.jar from the android/libs sub-directory.<!-- Google Play --> <activity android:name="com.soomla.store.billing.google.GooglePlayIabService$IabActivity" android:theme="@android:style/Theme.Translucent.NoTitleBar"/> <!-- Amazon --> <receiver android:name = "com.amazon.inapp.purchasing.ResponseReceiver" > <intent-filter> <action android:name = "com.amazon.inapp.purchasing.NOTIFY" android:permission = "com.amazon.inapp.purchasing.Permission.NOTIFY" /> </intent-filter> </receiver>
Note: If you have changed the permissions by hand you can also remove the following two lines:
<uses-permission android:name="com.android.vending.BILLING" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<application> element, either
<meta-data android:name="billing.service" android:value="google.GooglePlayIabService" />
for Google Play, or
<meta-data android:name="billing.service" android:value="amazon.AmazonIabService" />
for Amazon.