Flutter
This page describes how to migrate your application from using PinchSDK to stable release of Kettle.
Replace plugin
- Remove the
pinchplugin. - Add
kettle: ^1.0.0as a dependency. - Run
flutter pub get.
Replace meta-data in AndroidManifest.xml
- Key
com.fluxloop.pinch.sdk.API_KEYhas been renamed tocom.kogenta.kettle.API_KEY. - Key
com.fluxloop.pinch.sdk.PRODUCTION_MODEhas 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().