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.