Flutter
This page describes how to migrate your application from using PinchSDK to stable release of Kettle.
Replace plugin
- Remove the
pinch
plugin. - Add
kettle: ^1.0.0
as a dependency. - Run
flutter pub get
.
Replace meta-data in AndroidManifest.xml
- Key
com.fluxloop.pinch.sdk.API_KEY
has been renamed tocom.kogenta.kettle.API_KEY
. - Key
com.fluxloop.pinch.sdk.PRODUCTION_MODE
has been renamed tocom.kogenta.kettle.PRODUCTION_MODE
.
Replace imports
Replace import 'package:pinch/pinch.dart';
with import 'package:kettle/kettle.dart';
Replace initialization code for iOS in AppDelegate.m
Replace
import PinchSDK
PinchSDK.initialize(with: launchOptions)
PinchSDK.apiKey = "api-key-here"
with
import KettleKit
...
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
...
let kettleConfig = KettleConfig.default()
kettleConfig.developmentApiKey = "<DEVELOPMENT-API-KEY>"
kettleConfig.productionApiKey = "<PRODUCTION-API-KEY>"
Kettle.prepare(config, launchOptions: launchOptions)
...
}
Pinch.grant()
Grant no longer accepts a single value. Merge all instances of await Pinch.grant()
into a single grant:
await Kettle.grant([KettleConsent.analytics, KettleConsent.surveys]);
Pinch.revoke()
Revoke no longer accepts a single value. Merge all instances of await Pinch.revoke()
into a single revoke:
await Kettle.revoke([KettleConsent.analytics, KettleConsent.surveys]);
Pinch.getGrantedConsents()
Replaced by Kettle.getGrantedConsents()
Pinch.start(), Pinch.startBluetoothProvider(), Pinch.startLocationProvider(), Pinch.startMotionProvider()
- These methods are no longer called individually. They are enabled in a single method call.
- Modules must be explicitly started.
- The
Kettle.getEnabledModules()
method has been added to read which modules are currently enabled in Kettle.
await Kettle.start([
KettleModule.location,
KettleModule.bluetooth,
KettleModule.activity
]);
Pinch.stop(), Pinch.stopBluetoothProvider(), Pinch.stopLocationProvider(), Pinch.stopMotionProvider()
- These methods are no longer called individually. They can be disabled in a single method call.
await Kettle.stop([
KettleModule.location,
KettleModule.bluetooth,
KettleModule.activity
]);
Pinch.setAdId()
This method no longer exists.
Pinch.getStarted()
Replaced by Kettle.isStarted()
.
Pinch.sendDemographicProfile()
Replaced by Kettle.sendDemographicProfile()
.
Pinch.addCustomData()
Replaced by Kettle.addCustomData()
.
Pinch.setMetadata()
Replaced by Kettle.setMetadata()
.
Pinch.getPrivacyTermsUrl()
This method no longer exists.
Pinch.getPrivacyDashboard(consent)
Replaced by parameterless Kettle.getPrivacyDashboardUrl()
.
Pinch.requestBluetoothPermission()
This method no longer exists.
Pinch.requestMotionPermission()
This method no longer exists.
Pinch.deleteCollectedData()
Replaced by Kettle.deleteCollectedData()
.
PinchMessage
Replaced by KettleMessage
.
Pinch.getMessages()
Replaced by Kettle.getMessages()
.