[jira] [Commented] (CB-9661) Plugins should be notified after deviceready event has been fired

2017-07-20 Thread Filip Maj (JIRA)

[ 
https://issues.apache.org/jira/browse/CB-9661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16095503#comment-16095503
 ] 

Filip Maj commented on CB-9661:
---

For the record I agree with you, it should be possible to extend the standard 
cordova plugin interface to include an event like this. In [Android, for 
example, we already provide event hooks for {{onStop}}, {{onResume}}, 
{{onNewIntent}}, 
etc.|https://github.com/apache/cordova-android/blob/master/framework/src/org/apache/cordova/CordovaPlugin.java]

> Plugins should be notified after deviceready event has been fired
> -
>
> Key: CB-9661
> URL: https://issues.apache.org/jira/browse/CB-9661
> Project: Apache Cordova
>  Issue Type: Improvement
>  Components: AllPlugins
>Affects Versions: 5.1.1
>Reporter: Sebastien Lorber
>
> I use the Intercom plugin.
> It is a plugin that shows a little button at the bottom (that we'll call 
> "widget") that permits to show a native chat panel when the user wants to 
> give a feedback for our app.
> On startup I run something akin to:
> {code}
> function deviceReady() {
> hideSplashScreen();
> if ( isUserConnected() ) {
> intercom.registerIdentifiedUser(userIntercomData);
> startApp();
> } 
> else {
> intercom.reset();
> showLoginForm();
> }
> }
> {code}
> The widget is only shawn after calling intercom.registerIdentifiedUser();
> The widget disappear when we call intercom.reset();
> The intercom plugin memoizes the fact that an user is registered over time.
> This means that if I kill the app with a registered user, and restart it, 
> Intercom will by default restore that regitered user on next startup.
> Unfortunatly, this means that the widget will be shawn at the very beginning 
> of the app initialization, even before the webview is initialized. In my 
> case, it means that the Intercom button will be shawn for a little amount of 
> time above the splash screen, which is a bit weird.
> This would make sense for the Intercom team to not show the widget until the 
> webview is initialized, particularly waiting for deviceready event to fire.
> After discussing with the Intercom team, it seems they can't implement this 
> because there's no possible way to wait for the deviceready event to fire 
> from the native plugin code.
> So I think it could be nice to be able, from the native plugin code, to wait 
> for the deviceready event to be handled, so that native code can be started 
> afterwards.
> The original plugin issue: 
> https://github.com/intercom/intercom-cordova/issues/18



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org



[jira] [Commented] (CB-9661) Plugins should be notified after deviceready event has been fired

2017-07-14 Thread Filip Maj (JIRA)

[ 
https://issues.apache.org/jira/browse/CB-9661?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=16088198#comment-16088198
 ] 

Filip Maj commented on CB-9661:
---

As a workaround: what about having the plugin javascript wait for the 
deviceready event in JS land, and then send a message back to native using the 
regular {{cordova.exec}} channel?

> Plugins should be notified after deviceready event has been fired
> -
>
> Key: CB-9661
> URL: https://issues.apache.org/jira/browse/CB-9661
> Project: Apache Cordova
>  Issue Type: Improvement
>  Components: AllPlugins
>Affects Versions: 5.1.1
>Reporter: Sebastien Lorber
>
> I use the Intercom plugin.
> It is a plugin that shows a little button at the bottom (that we'll call 
> "widget") that permits to show a native chat panel when the user wants to 
> give a feedback for our app.
> On startup I run something akin to:
> {code}
> function deviceReady() {
> hideSplashScreen();
> if ( isUserConnected() ) {
> intercom.registerIdentifiedUser(userIntercomData);
> startApp();
> } 
> else {
> intercom.reset();
> showLoginForm();
> }
> }
> {code}
> The widget is only shawn after calling intercom.registerIdentifiedUser();
> The widget disappear when we call intercom.reset();
> The intercom plugin memoizes the fact that an user is registered over time.
> This means that if I kill the app with a registered user, and restart it, 
> Intercom will by default restore that regitered user on next startup.
> Unfortunatly, this means that the widget will be shawn at the very beginning 
> of the app initialization, even before the webview is initialized. In my 
> case, it means that the Intercom button will be shawn for a little amount of 
> time above the splash screen, which is a bit weird.
> This would make sense for the Intercom team to not show the widget until the 
> webview is initialized, particularly waiting for deviceready event to fire.
> After discussing with the Intercom team, it seems they can't implement this 
> because there's no possible way to wait for the deviceready event to fire 
> from the native plugin code.
> So I think it could be nice to be able, from the native plugin code, to wait 
> for the deviceready event to be handled, so that native code can be started 
> afterwards.
> The original plugin issue: 
> https://github.com/intercom/intercom-cordova/issues/18



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

-
To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org
For additional commands, e-mail: issues-h...@cordova.apache.org