I have a JWrapper app that registers itself as a URL handler, as described in the docs.
String vappName = JWApp.getMyVirtualApp().getUserVisibleName();
JWMacOS.registerURLSchemeForVirtualApp("myapp", vappName);
The URL handler part works great, and my app launches just fine when I click on a myapp://foo/bar link.
The same app is also configured in the jwrapper.xml file to check for automatic updates, and that's where things get interesting. When I launch the app from the dock (by clicking on the icon), the app checks for updates and can successfully update itself, as expected. However, if the app is launched via a URL, the update check is skipped.
No matter what I do, I cannot get the app to automatically update if it is launched from a URL. I can launch it via URL several times in a row, and it never updates, but it will update just fine the next time I launch it via the dock icon.
Is there a way to get JWrapper to check for updates when launched from a URL? I have tried setting MatchClientVersionToServerVersion to both true and false, but it doesn't seem to help. Perhaps I am registering the URL handler incorrectly?
Updated: Just wanted to note that I implemented the JWrapperUpdateApp install screen for debugging. It pops up a little JOptionPane alert letting me know that it is checking for updates. I see that alert as expected when I start the app from the dock, but never when I launch it from a URL.
Related
I have an index.html and about.html hosted on firebase. They have a link to each other.
When I type 'firebase serve' in the terminal, everything goes as intended, but as I start clicking links on index.html a bunch of debug messages appear in the console. After that I need to reopen it to use it again..
So any idea how to disable them??
This logs can't be disabled in the console, although you can filter them when using the emulator UI. There you can filter the logs you wish to see.
There was a feature request for this, and was marked as "closed" because you can "hide" these logs with filters. https://github.com/firebase/firebase-tools/issues/1839
EDIT: this is the newest feature request that would allow behavior you refer to https://github.com/firebase/firebase-tools/issues/2859
We have installed freePBX 13 on RHEL. Everything was working until today. Today, after logging in to the GUI we are getting "Please Select the Default Locales of the PBX" screen.
I have observed that it is rendering from \admin\modules\soundlang\views\oobe.php file and method “oobeRequest()” inside admin\modules\soundlang\Oobe.class.php is calling that page.But unable to trace how it is getting triggered. Are there any hooks which are calling this method dynamically?
Can anyone tell me why this screen keeps coming though I have not updated any modules in frePBX. How to fix this issue.
There are 2 cases in Playstore App
Normal Installation (Playstore shows OPEN Button)
Installation from Dynamic Link (Playstore shows CONTINUE Button)
Test Case:
Download app from Firebase dynamic link, After installation Playstore will show CONTINUE button:
There are 2 options from where user can open app after successful installation .
Open app by clicking on CONTINUE Button -> App will get the link, everything works as expected
Open app from LAUNCHER ICON, and not from playstore -> App will not get the dynamic link
Most of the users are not clicking the CONTINUE button as it is normal human behavior, therefore I am losing the Referrer link.
Is this the intended behavior of Firebase? How can I avoid this problem?
Related Post here
There are 5 events for Dynamic Links Analytics:
1. Click
2. Redirect
3. App Install
4. App First Open
5. App Re-Open
From the image above, you can see that the request is pass to Play Store and then it is ended over there.
Therefore, possible situations are:
Your previous app/website has done its job routing the dynamic link to the intended app or Play Store.
At this point, you can track the Clicks and Redirects.
Now, at Play Store, continuing the dynamic link flow, User install the app, You can track number of app installs. Or, user did not install the app, so it did not update the number of app installs.
After installation, if the user opens your app through the CONTINUE button, your app will received the data passed in from the Google Play Fragment (Like what you have done here via the Receive Setup). At this point, it will generate the meta data of 'App First Open'. But, if you press the home button, and open the app through your home page/shortcut/app tray, etc. , you will not get an update on it.
This is because no dynamic link meta data is pass when your user open the app other than the CONTINUE. The flow is broken, unless, the user go back to step 1 again to redirect to the app, now the app will track the data of app first open (the app is not open before) or app re-open if the user open the app before.
SUMMARY and CONCLUSION:
Why does the button is showing CONTINUE instead of OPEN is because the Google Play (Fragment) detected the user is directed from the dynamic link (some meta-data (your dynamic link details/info) is passed from the previous app/website).
The meaning of CONTINUE here is actually prompt the user whether they want to proceed to the newly installed app. If yes, Google Play will pass the meta data to your app, and you get the tracking data on App first open. Else, no analytic data will be produce other than click, redirect and app install.
Answering your question, you can only hope the user press on the CONTINUE! It is unavoidable because those app/sites are not in the same context (previous site vs Play Store vs Your App).
Definitions: (from documentation)
dynamic_link_first_open
Logged when a user opens the app for the first time via a Dynamic Link.
dynamic_link_app_open
Logged when a user re-opens the app via a Dynamic Link.
Firebase Dynamic Links do not survive on iOS 11.3.1 when user don't have installed. Anyone else experiencing this issue? This works fine prior to iOS 11.3.1
Repro steps::
Click on FDL link
User redirected to app store
User install app
User open app
FDL params not passed
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
//the url here returns:
//google/link/?match_type=none&match_message=No pre-install link matched for this device.
or
//google/link/?dismiss=1&is_weak_match=1
}
I've reported this to Firebase and they're still working on the fix.
https://github.com/firebase/firebase-ios-sdk/issues/1244
In the meantime, the workaround is to turn off the forcedRedirectEnabled.
FIRDynamicLinkNavigationInfoParameters *navigationParams = [FIRDynamicLinkNavigationInfoParameters parameters];
navigationParams.forcedRedirectEnabled = NO;
components.navigationInfoParameters = navigationParams;
or if you use the admin console to generate the link, you need to leave the Skip the app preview page setting unchecked.
Note that this means users will see one interstitial page before it redirect to app store, which is not ideal but at least FDL params will be passed.
Hope this helps someone.
Cheers!
I had the same issue.
And I found that when I delete FirebaseDeepLinkPasteboardRetrievalEnabled in Info.plist the problem is resolved
https://firebase.google.com/docs/dynamic-links/ios/receive
Optional: Disable the Dynamic Links SDK's use of the iOS pasteboard.
By default, the Dynamic Links SDK uses the pasteboard to improve the
reliablity of post-install deep links. By using the pasteboard,
Dynamic Links can make sure that when a user opens a Dynamic Link but
needs to install your app first, the user can go immediately to the
original linked content when opening the app for the first time after
installation.
The downside of this is that use of the pasteboard triggers a
notification on iOS 14 and later. So, the first time users open your
app, if the pasteboard contains a URL, they will see a notification
that your app accessed the pasteboard, which can cause confusion.
To disable this behavior, edit your Xcode project's Info.plist file
and set the FirebaseDeepLinkPasteboardRetrievalEnabled key to NO.
I'm using asp.net and when I press the play button to start debugging, all works fine. The page I'm debugging makes ajax calls to a web service. Then, I press stop. When I trigger another call from the page in the browser, I get an error back.
Am I getting this error because something broke in the back-end (but since I stopped debugging I can't see what it it) or is it that when you press the stop button, the entire application stops? The reason I'm asking is that when I press the preview button on the same page, the ajax calls work fine even thought the app in not being debugged.
Thanks,
Try to look at the process explorer to see which process is starting/ending when you press "start/stop debug".
If the back end is yours and you've got source codes, than start another Visual Studio instance and run the backend in the debug mode to see what's happening there...