Skip to content

Commit cbeba01

Browse files
committed
update kits to include rokt, update rokt buttons
1 parent ecf17a3 commit cbeba01

2 files changed

Lines changed: 82 additions & 11 deletions

File tree

example/lib/main.dart

Lines changed: 81 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
1-
import 'package:flutter/material.dart';
21
import 'dart:async';
2+
import 'dart:io';
33

4+
import 'package:flutter/foundation.dart';
5+
import 'package:flutter/material.dart';
46
import 'package:mparticle_flutter_sdk/mparticle_flutter_sdk.dart';
57
import 'package:mparticle_flutter_sdk/events/event_type.dart';
68
import 'package:mparticle_flutter_sdk/events/commerce_event.dart';
@@ -443,7 +445,7 @@ class _MyAppState extends State<MyApp> {
443445
child: Text('NATIVE ONLY METHODS'),
444446
),
445447
buildButton('is Braze kit active?', () async {
446-
print(await mpInstance?.isKitActive(kit: Kits['Braze']!));
448+
print(await mpInstance?.isKitActive(kit: Kits['Rokt']!));
447449
}),
448450
buildButton('Get opt out', () async {
449451
print(await mpInstance?.getOptOut);
@@ -561,16 +563,84 @@ class _MyAppState extends State<MyApp> {
561563
Center(
562564
child: Text('ROKT'),
563565
),
564-
buildButton('Select Placements', () async {
565-
mpInstance?.rokt.selectPlacements(
566-
placementId: 'mp-layout-test-2',
567-
attributes: {
568-
'email': 'rob@ing.com',
569-
'key2': 'value2',
570-
'userId': '12345'
566+
buildButton('Web - Select Placements', () async {
567+
if (kIsWeb) {
568+
// Ensure user is identified before calling Rokt
569+
var identityRequest = MparticleFlutterSdk.identityRequest;
570+
identityRequest.setIdentity(
571+
identityType: IdentityType.CustomerId,
572+
value: 'web-test-user-${DateTime.now().millisecondsSinceEpoch}');
573+
574+
await mpInstance?.identity.identify(identityRequest: identityRequest);
575+
576+
mpInstance?.rokt.selectPlacements(
577+
placementId: 'web-placement-test',
578+
attributes: {
579+
'email': 'web-user@example.com',
580+
'platform': 'web',
581+
'userId': 'web-12345'
582+
}
583+
);
584+
print('Web Rokt selectPlacements called');
585+
} else {
586+
print('This button is for Web platform only');
587+
}
588+
}),
589+
buildButton('Android - Select Placements', () async {
590+
if (!kIsWeb && Platform.isAndroid) {
591+
// Ensure user is identified before calling Rokt
592+
var identityRequest = MparticleFlutterSdk.identityRequest;
593+
identityRequest.setIdentity(
594+
identityType: IdentityType.CustomerId,
595+
value: 'android-test-user-${DateTime.now().millisecondsSinceEpoch}');
596+
597+
try {
598+
await mpInstance?.identity.identify(identityRequest: identityRequest);
599+
600+
mpInstance?.rokt.selectPlacements(
601+
placementId: 'RoktExperience',
602+
attributes: {
603+
'email': 'android-user@example.com',
604+
'platform': 'android',
605+
'userId': 'android-67890',
606+
'deviceType': 'mobile'
607+
}
608+
);
609+
print('Android Rokt selectPlacements called');
610+
} catch (e) {
611+
print('Error calling Android Rokt selectPlacements: $e');
571612
}
572-
);
573-
print('Rokt selectPlacements called');
613+
} else {
614+
print('This button is for Android platform only');
615+
}
616+
}),
617+
buildButton('iOS - Select Placements', () async {
618+
if (!kIsWeb && Platform.isIOS) {
619+
// Ensure user is identified before calling Rokt
620+
var identityRequest = MparticleFlutterSdk.identityRequest;
621+
identityRequest.setIdentity(
622+
identityType: IdentityType.CustomerId,
623+
value: 'ios-test-user-${DateTime.now().millisecondsSinceEpoch}');
624+
625+
try {
626+
await mpInstance?.identity.identify(identityRequest: identityRequest);
627+
628+
mpInstance?.rokt.selectPlacements(
629+
placementId: 'ios-placement-test',
630+
attributes: {
631+
'email': 'ios-user@example.com',
632+
'platform': 'ios',
633+
'userId': 'ios-54321',
634+
'deviceType': 'mobile'
635+
}
636+
);
637+
print('iOS Rokt selectPlacements called');
638+
} catch (e) {
639+
print('Error calling iOS Rokt selectPlacements: $e');
640+
}
641+
} else {
642+
print('This button is for iOS platform only');
643+
}
574644
}),
575645
],
576646
),

lib/kits/kits.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
const Kits = {
44
'UrbanAirship': 25,
55
'Braze': 28,
6+
'Rokt': 181,
67
'Tune': 32,
78
'Kochava': 37,
89
'ComScore': 39,

0 commit comments

Comments
 (0)