Mobile SDK Reference
.initialize
Request the notification permission and register a subscribed device.
/*
  Params
  - launchOptions: [UIApplication.LaunchOptionsKey : Any]?
  - projectId: String
  - requestPermissionOnLaunch: Bool = true
*/
FlareLane.initWithLaunchOptions(launchOptions, projectId: "INPUT_YOUR_PROJECT_ID", true)/*
  Params
  - launchOptions:(NSDictionary<UIApplicationLaunchOptionsKey,id> * _Nullable)
  - projectId:(NSString * _Nonnull)
  - requestPermissionOnLaunch:(Bool) = YES
*/
[FlareLane initWithLaunchOptions:launchOptions projectId:@"INPUT_YOUR_PROJECT_ID" requestPermissionOnLaunch: YES];/*
  Params
  - Context context
  - String projectId
  - boolean requestPermissionOnLaunch
*/
FlareLane.initWithContext(this, "INPUT_YOUR_PROJECT_ID", true)/*
  Params
  - Context context
  - String projectId
  - boolean requestPermissionOnLaunch
*/
FlareLane.initWithContext(this, "INPUT_YOUR_PROJECT_ID", true);/*
  Params
  - String projectId
  - bool? requestPermissionOnLaunch = true
*/
FlareLane.shared.initialize("INPUT_YOUR_PROJECT_ID", requestPermissionOnLaunch: true);/*
  Params
  - projectId: string
  - requestPermissionOnLaunch: boolean = true
*/
FlareLane.initialize('INPUT_YOUR_PROJECT_ID', true);.setLogLevel
/*
  Params
  - LogLevel level
    - .verbose
    - .error
*/
FlareLane.setLogLevel(level: .verbose)/*
  Params
  - LogLevel level
    - LogLevelVerbose
    - LogLevelError
*/
[FlareLane setLogLevelWithLevel:LogLevelVerbose];/*
  Params
  - int logLevel
    - Log.VERBOSE
    - Log.ERROR
*/
FlareLane.setLogLevel(Log.VERBOSE)/*
  Params
  - int logLevel
    - Log.VERBOSE
    - Log.ERROR
*/
FlareLane.setLogLevel(Log.VERBOSE);/*
  Params
  - LogLevel logLevel
    - LogLevel.verbose
    - LogLevel.error
*/
FlareLane.shared.setLogLevel(LogLevel.verbose);/*
  Params
  - logLevel: LogLevel
    - 'verbose'
    - 'error'
*/
FlareLane.setLogLevel('verbose');Subscription
.isSubscribed()
/*
  iOS SDK >= 1.4.0
  
  Params
  - completion: @escaping (Bool) -> Void
*/
FlareLane.isSubscribed { isSubscribed in
  // Do Something...
}/*
  iOS SDK >= 1.4.0
  
  Params
  - (void (^)(_Bool)) completion
*/
[FlareLane isSubscribedWithCompletion: ^(BOOL isSubscribed) {
  // Do Something...
}];/*
  Android SDK >= 1.4.0
  Params
  - Context context
  Return
  - boolean isSubscribed
*/
FlareLane.isSubscribed(this)/*
  Android SDK >= 1.4.0
  
  Params
  - Context context
  Return
  - boolean isSubscribed
*/
FlareLane.isSubscribed(this);/*
  Flutter SDK >= 1.4.0
  
  Return
  - Future<bool> isSubscribed
  Return
  - boolean isSubscribed
*/
await FlareLane.shared.isSubscribed();/*
  React Native SDK >= 1.4.0
  
  Params
  - callback: (isSubscribed: boolean) => void
*/
FlareLane.isSubscribed((isSubscribed) => {
  // Do Something...
});.subscribe()
/*
  iOS SDK >= 1.4.0
  
  Params
  - fallbackToSettings: Bool - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
  - completion: ((Bool) -> Void)?
*/
FlareLane.subscribe(fallbackToSettings: true) { isSubscribed in
  // Do Something...
}/*
  iOS SDK >= 1.4.0
  
  Params
  - (BOOL) fallbackToSettings - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
  - (void (^)(_Bool)) completion
*/
[FlareLane subscribeWithFallbackToSettings:YES completion:^(BOOL isSubscribed) {
  // Do Something...
}];/*
  Android SDK >= 1.4.0
  
  Params
  - Context context
  - boolean fallbackToSettings - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
  - @Nullable IsSubscribedHandler
*/
FlareLane.subscribe(this, true, FlareLane.IsSubscribedHandler {
  // Do Something...
})/*
  Android SDK >= 1.4.0
  
  Params
  - Context context
  - boolean fallbackToSettings - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
  - @Nullable IsSubscribedHandler
*/
FlareLane.subscribe(this, true, new FlareLane.IsSubscribedHandler() {
    @Override
    public void onSuccess(boolean isSubscribed) {
      // Do Something...
    }
});/*
  Flutter SDK >= 1.4.0
  
  Params
  - bool? fallbackToSettings - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
  - void Function(bool)? callback
*/
await FlareLane.shared.subscribe(true, (isSubscribed) {
  // Do Something...
});/*
  React Native SDK >= 1.4.0
  
  Params
    - fallbackToSettings: boolean - 알림 권한 띄울 수 없을 때 알림 설정으로 이동
    - callback?: (isSubscribed: boolean) => void
*/
FlareLane.subscribe(true, (isSubscribed) => {
  // Do Something...
});.unsubscribe()
/*
  iOS SDK >= 1.4.0
  
  Params
  - completion: ((Bool) -> Void)? = nil
*/
FlareLane.unsubscribe() { isSubscribed in
  // Do Something...
}/*
  iOS SDK >= 1.4.0
  
  Params
  - (void (^)(_Bool)) completion
*/
[FlareLane unsubscribeWithCompletion:^(BOOL isSubscribed) {
  // Do Something...
}];/*
  Android SDK >= 1.4.0
  
  Params
  - Context context
  - @Nullable IsSubscribedHandler
*/
FlareLane.unsubscribe(this, FlareLane.IsSubscribedHandler { 
  // Do Something...
})/*
  Android SDK >= 1.4.0
  
  Params
  - Context context
  - @Nullable IsSubscribedHandler
*/
FlareLane.unsubscribe(this, new FlareLane.IsSubscribedHandler() {
    @Override
    public void onSuccess(boolean isSubscribed) {
      // Do Something...
    }
});/*
  Flutter SDK >= 1.4.0
  
  Params
  - void Function(bool)? callback
*/
await FlareLane.shared.unsubscribe((isSubscribed) {
  // Do Something...
});/*
  React Native SDK >= 1.4.0
  
  Params
  - callback?: (isSubscribed: boolean) => void
*/
FlareLane.unsubscribe((isSubscribed) => {
  // Do Something...
});Data Management
.setUserID
When logging in, specify the user ID.
/*
  Params
  - userId: String?
*/
// SET
FlareLane.setUserId(userId: "[email protected]")
// REMOVE
FlareLane.setUserId(this, nil)/*
  Params
  - userId:(NSString * _Nullable)
*/
// SET
[FlareLane setUserIdWithUserId: @"[email protected]"];
// REMOVE
[FlareLane setUserIdWithUserId: nil];/*
  Params
  - Context context
  - @Nullable String userId
*/
// SET
FlareLane.setUserId(this, "[email protected]")
// REMOVE
FlareLane.setUserId(this, null)/*
  Params
  - Context context
  - @Nullable String userId
*/
// SET
FlareLane.setUserId(this, "[email protected]");
// REMOVE
FlareLane.setUserId(this, null);/*
  Params
  - String? userId
*/
// SET
FlareLane.shared.setUserId("[email protected]");
// REMOVE
FlareLane.shared.setUserId(null);/*
  Params
  - userId: string | null
*/
// SET
FlareLane.setUserId("[email protected]");
// REMOVE
FlareLane.setUserId(null);.trackEvent
/*
  Params
  - type: String
  - data: [String: Any]?
*/
FlareLane.trackEvent("test_event")
// OR
FlareLane.trackEvent("test_event", data: ["test":"value"])/*
  Params
  - type: NSString
  - data: NSDictionary *Nullable
*/
[FlareLane trackEvent:@"test_event" data:nil];
// OR
[FlareLane trackEvent:@"test_event" data:@{ @"key": @"value" }];/*
  Params
  - Context context
  - String type
  - @Nullable JSONObject data
*/
FlareLane.trackEvent(this, "test_event", null)
// OR
var tags = JSONObject()
tags.put("key", "value")
FlareLane.trackEvent(this, "test_event", tags)/*
  Params
  - Context context
  - String type
  - @Nullable JSONObject data
*/
FlareLane.trackEvent(this, "test_event", null)
// OR
JSONObject tags = new JSONObject();
tags.put("key", "value")
FlareLane.trackEvent(this, "test_event", tags)/*
  Params
  - type: String
  - data: Map<String, Object>?
*/
FlareLane.shared.trackEvent("test_event");
// OR
FlareLane.shared.trackEvent("test_event", {"key": "value"});/*
  Params
  - type: string
  - data?: Record<string, string | number>
*/
FlareLane.trackEvent('test_event');
// OR
FlareLane.trackEvent("test_event", {"key": "value"});.setTags
/*
  Params
  - tags: [String : Any]
*/
FlareLane.setTags(tags: ["gender": "men", "age": 24])/*
  Params
  - tags:(NSDictionary<NSString *,id> * _Nonnull)
*/
[FlareLane setTagsWithTags:@{@"gender": @"men", @"age": @24}];/*
  Params
  - Context context
  - JSONObject tags
*/
var tags = JSONObject()
tags.put("gender", "men")
tags.put("age", 24)
FlareLane.setTags(this, tags)/*
  Params
  - Context context
  - JSONObject tags
*/
try {
    JSONObject tags = new JSONObject();
    tags.put("gender", "men");
    tags.put("age", 24);
    
    FlareLane.setTags(this, tags);
} catch (JSONException e) {
    e.printStackTrace();
}/*
  Params
  - Map<String, Object> tags
*/
FlareLane.shared.setTags({
  "gender": "men",
  "age": 24
});/*
  Params
  - tags: Record<string, any>
*/
FlareLane.setTags({ gender: 'men', age: 27 });.getDeviceId
FlareLane.getDeviceId()[FlareLane getDeviceId];/*
  Params
  - Context context
*/
FlareLane.getDeviceId(this);/*
  Params
  - Context context
*/
FlareLane.getDeviceId(this);await FlareLane.shared.getDeviceId())await FlareLane.getDeviceId()Notifications Handler
.setNotificationClickedHandler
Register a callback handler to be executed when the app enters after clicking on the notification.
/*
  Params
  - callback: (FlareLaneNotification) -> Void
    - FlareLaneNotification
      - id: String
      - body: String
      - title: String?
      - url: String?
      - imageUrl: String?
*/
FlareLane.setNotificationClickedHandler() { notification in
  // Do Something...
}/*
  Params
  - callback: (FlareLaneNotification) -> Void
    - FlareLaneNotification
      - id: String
      - body: String
      - title: String?
      - url: String?
      - imageUrl: String?
*/
[FlareLane setNotificationClickedHandlerWithCallback:^(FlareLaneNotification* _Nonnull notification) {
  // Do something..
}];/*
  Params
  - public interface setNotificationClickedHandler
    - onClicked(Notification notification)
      - Notification
        - @NonNull String id
        - @Nullable String title
        - @NonNull String body
        - @Nullable String url
        - @Nullable String imageUrl
*/
FlareLane.setNotificationClickedHandler(NotificationClickedHandler { notification ->
  // Do Something...
})/*
  Params
  - public interface NotificationClickedHandler
    - onClicked(Notification notification)
      - Notification
        - @NonNull String id
        - @Nullable String title
        - @NonNull String body
        - @Nullable String url
        - @Nullable String imageUrl
*/
 FlareLane.setNotificationClickedHandler(new NotificationClickedHandler() {
    @Override
    public void onConverted(Notification notification) {
      // Do Something...
    }
});/*
  Params
  - NotificationClickedHandler handler = void Function(FlareLaneNotification notification);
    - FlareLaneNotification
      - String id
      - String? title
      - String body
      - String? url
      - String? imageUrl
*/
FlareLane.shared.setNotificationClickedHandler((notification) {
  // Do Something...
});/*
  Params
  - callback: (notification: Notification) => void
    - Notification
      - id: string;
      - title?: string;
      - body: string;
      - url?: string;
*/
FlareLane.setNotificationClickedHandler((notification) => {
  // Do Something...
});.setNotificationForegroundReceivedHandler
Register a callback handler to be executed when the app enters after clicking on the notification.
/*
  SDK Version >= 1.5.0
  
  Params
  - callback: (FlareLaneNotificationReceivedEvent) -> Void
    - FlareLaneNotificationReceivedEvent
      - notification: FlareLaneNotification
      - display()
*/
FlareLane.setNotificationForegroundReceivedHandler { event in
  print(event.notification)
  // You can display or not
  event.display()
}/*
  SDK Version >= 1.5.0
  
  Params
  - callback: (FlareLaneNotificationReceivedEvent) -> Void
    - FlareLaneNotificationReceivedEvent
      - notification: FlareLaneNotification
      - display()
*/
[FlareLane setNotificationForegroundReceivedHandlerWithCallback:^(FlareLaneNotificationReceivedEvent * _Nonnull event) {
  NSLog([event.notification description]);
  // You can display or not
  [event display];
}];/*
  SDK Version >= 1.5.0
  
  Params
  - public interface NotificationForegroundReceivedHandler
    - onWillDisplay(NotificationReceivedEvent event);
      - NotificationReceivedEvent
        - Notification getNotification()
        - void display()
*/
FlareLane.setNotificationForegroundReceivedHandler { event ->
  Log.d("FlareLane", event.notification.toString())
  
  // You can display or not
  event.display()
}/*
  SDK Version >= 1.5.0
  
  Params
  - public interface NotificationForegroundReceivedHandler
    - onWillDisplay(NotificationReceivedEvent event);
      - NotificationReceivedEvent
        - Notification getNotification()
        - void display()
*/
FlareLane.setNotificationForegroundReceivedHandler((new NotificationForegroundReceivedHandler() {
  @Override
  public void onWillDisplay(NotificationReceivedEvent event) {
    Log.d("FlareLane", event.getNotification().toString());
    
    // You can display or not
    event.display();
  }
}));/*
  SDK Version >= 1.5.0
  
  Params
  - NotificationForegroundReceivedHandler handler = void Function(FlareLaneNotificationReceivedEvent event);
    - FlareLaneNotificationReceivedEvent
      - FlareLaneNotification notification
      - display()
*/
FlareLane.shared.setNotificationForegroundReceivedHandler((event) {
  print(event.notification);
  // You can display or not
  event.display();
});
/*
  SDK Version >= 1.5.0
  
  Params
  - callback: (event: NotificationReceivedEvent) => void
    - NotificationReceivedEvent
      - notification: Notification
      - display()
*/
FlareLane.setNotificationForegroundReceivedHandler((event) => {
  console.log(event.notification);
  
  // You can display or not
  event.display();
});In-App Message
.displayInApp
Displays the highest priority in-app message that can be shown in the group.
/*
  SDK Version >= 1.7.0
  
  Params
  - group: String
*/
FlareLane.displayInApp("home")/*
  SDK Version >= 1.7.0
  
  Params
  - group: String
*/
[FlareLane displayInApp: @"home"];/*
  SDK Version >= 1.7.0
  
  Params
  - String group
*/
FlareLane.displayInApp("home")/*
  SDK Version >= 1.7.0
  
  Params
  - String group
*/
FlareLane.displayInApp("home");/*
  SDK Version >= 1.7.0
  
  Params
  - String group
*/
FlareLane.shared.displayInApp("home");/*
  SDK Version >= 1.7.0
  
  Params
  - group: string
*/
FlareLane.displayInApp("home");.setInAppMessageActionHandler
Implement a handler for custom actions in the in-app message.
/*
  SDK Version >= 1.7.0
  
  Params
  - callback: (FlareLaneInAppMessage, actionId: String) -> Void
*/
FlareLane.setInAppMessageActionHandler { iam, actionId in
  // Do Something...
}/*
  SDK Version >= 1.7.0
  
  Params
  - callback: (FlareLaneInAppMessage, actionId: String) -> Void
*/
FlareLane setInAppMessageActionHandlerWithCallback:^(FlareLaneInAppMessage * _Nonnull iam, NSString * _Nonnull actionId) {
  // Do Something...
}/*
  SDK Version >= 1.7.0
  
  Params
  - public interface InAppMessageActionHandler
    - onExecute(InAppMessage iam, String actionId)
*/
FlareLane.setInAppMessageActionHandler(object : InAppMessageActionHandler {
  override fun onExecute(iam: InAppMessage, actionId: String) {
    // Do Something...
  }
})/*
  SDK Version >= 1.7.0
  
  Params
  - public interface InAppMessageActionHandler
    - onExecute(InAppMessage iam, String actionId)
*/
FlareLane.setInAppMessageActionHandler(new InAppMessageActionHandler() {
  @Override
  public void onExecute(@NonNull InAppMessage iam, @NonNull String actionId) {
    // Do Something...
  }
});/*
  SDK Version >= 1.7.0
  
  Params
  - void Function(InAppMessage iam, String actionId)
*/
FlareLane.shared.setInAppMessageActionHandler((iam, actionId) {
  // Do Something...
});/*
  SDK Version >= 1.7.0
  
  Params
  - (iam: InAppMessage, actionId: string) => void;
*/
FlareLane.setInAppMessageActionHandler((iam, actionId) => {
  // Do Something...
});Last updated