Skip to content

Instantly share code, notes, and snippets.

@Override
public void onMethodCall(@NonNull MethodCall call, @NonNull Result result) {
if (call.method.equals("getBatteryLevel")) {
result.success(99);
} else {
result.notImplemented();
}
}
@Override
public void onAttachedToEngine(
@NonNull FlutterPluginBinding flutterPluginBinding
) {
channel =
new MethodChannel(
flutterPluginBinding.getBinaryMessenger(),
"org.rudderstack.dev/battery"
);
channel.setMethodCallHandler(this);
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:flutter/services.dart';
import 'package:batteryLevel/batteryLevel.dart';
void main() {
runApp(MaterialApp(home: MyApp()));
}
// Get battery level.
static Future<String> getBatteryLevel() async {
String batteryLevel;
try {
final int result = await _channel.invokeMethod('getBatteryLevel');
batteryLevel = 'Battery level: $result%.';
} on PlatformException {
batteryLevel = 'Failed to get battery level.';
}
return batteryLevel;
import 'dart:async';
import 'package:flutter/services.dart';
class BatteryLevel {
static const MethodChannel _channel =
MethodChannel('org.rudderstack.dev/battery');
// Get battery level.
}
flutter create --org com.rudderstack --template=plugin --platforms=android,ios -a java -i objc batteryLevel
rudderanalytics.identify('a1b2c3d4e5f6g7h8i9',
traits: {
email: ‘eric@rudderstack.com’,
recent_five_purchases: {
purchase_1: ‘1578973’,
recent_five_purchases: {
purchase_1: ‘1578973’,
purchase_2: ‘265098,
purchase_3: 998145,
purchase_4: null,
// pseudo-code to retrieve user and recent purchases
redis.call(“hget”, “user:”+userId+”:session:”_sessionId, “membership_status”, “income_bracket”, “recent_five_purchases”);
// pseudo-code to determine recommendations based on user and recent purchases
recommendations = getProductRecommendations(userId, recent_five_purchases)
[
"properties.sale_item"
]