OneSignal / OneSignal-Flutter-SDK

OneSignal is a free push notification service for mobile apps. This plugin makes it easy to integrate your flutter app with OneSignal
https://www.onesignal.com
Other
625 stars 214 forks source link

changes #902

Closed Emmanism closed 5 months ago

Emmanism commented 5 months ago

READ AND DELETE THIS SECTION BEFORE SUBMITTING PR

Description

One Line Summary

REQUIRED - Very short description that summaries the changes in this PR.

Details

Motivation

REQUIRED - Why is this code change being made? Or what is the goal of this PR? Examples: Fixes a specific bug, provides additional logging to debug future issues, feature to allow X.

Scope

RECOMMEND - OPTIONAL - What is intended to be effected. What is known not to change. Example: Notifications are grouped when parameter X is set, not enabled by default.

OPTIONAL - Other

OPTIONAL - Feel free to add any other sections or sub-sections that can explain your PR better.

Testing

Unit testing

OPTIONAL - Explain unit tests added, if not clear in the code.

Manual testing

RECOMMEND - OPTIONAL - Explain what scenarios were tested and the environment. Example: Tested opening a notification while the app was foregrounded, app build with Android Studio 2020.3 with a fresh install of the OneSignal example app on a Pixel 6 with Android 12.

Affected code checklist

Checklist

Overview

Testing

Final pass


This change is Reviewable

nan-li commented 5 months ago

Hi @Emmanism, it looks like you want to know when the login call is successful, but there is no callback for this. It will always return null.

One option you can use is the OnUserChangeObserver to know when the user has logged in successfully to the server.

OneSignal.User.addObserver((state) {
  var userState = state.jsonRepresentation();
  print('OneSignal user changed: $userState');

  var onesignalId = state.current.onesignalId;
  var externalId = state.current.externalId;

  // Check onesignalId and externalId, and make updates here
});