Implementing "Rate application" functionality on a Windows Store app - windows-8

I am trying to implement rating functionality in a Windows Store application using HTML / Javascript.
I am showing a popup dialog similar to the one below within the application and when "Rate" is clicked I would like to redirect to the Marketplace where the user can then rate the application.
This is a task that can easily be done on Windows Phone 7 via the MarketplaceReviewTask.
Is there an API on Windows 8 that I could call to have this achieved?

The Rate and Review link in the Settings charm will automatically appear for users other than yourself (since you can't rate your own app).
If you want a custom link somewhere, you can use LaunchUriAsync like Jim says, using this URI:
"ms-windows-store:REVIEW?PFN=[my-pfm]"
where my-pfm is "Package Family Name" which you will find in your application manifest.

Here's a blog post I found that's helpful:
http://www.andybeaulieu.com/Default.aspx?tabid=67&EntryID=227

If you use protocol activation (LaunchUriAsync) with the URI format suggested here you'll get to your app's page on the Store; however, there's still an additional step for the user to click Write a Review. There may be a way to deep link to it and I'll update if I find out.

Related

In-app messenger api with prepopulated text

Many apps used an in-app Facebook messenger api to share referral link directly to messenger. They also use prepopulated text with a link.
My question is fairly simple : How do they do it ?
I could not find any documentation about it, the closest thing I found is the send dialog api which doesn’t allow any prepopulated text.
Example (Lime app):
You need a Link not share, try this package or find something similar
https://www.npmjs.com/package/react-native-facebook-messenger

Can I create a Whitelist for Safari using OpenUrl in Xamarin.Forms?

I am working on a project using Xamarin.Forms as a container app. This app includes several webviews that link to restricted web content. One of these links our Sharepoint site. The Sharepoint site has a link that allows our users to go to a 3rd party site(Cornerstone) to view training videos. When using the stock UIWebView, WKWebView, or SFSafariViewController the popup that displays the video is not shown. The only way that I can get this video to play in my app is to use OpenURL to open the Sharepoint site in Safari. The problem is that this is an Enterprise solution where we don't want to allow the employees free reign with the browser.
Is there a way to create a whitelist or to have some control over the searchbar or read the url that they are linking to and block it or redirect the user?
Unfortunately as it's farming out the URL Navigation external to your application there's not a lot you can do from within your app to restrict what they do after the fact, 'openURL' only returns a Boolean value as to it's success, and the only parameters that you can send to it are:
application - Reference to this application
(UIApplication.SharedApplication).
url - The NSUrl specified by the
calling application.
sourceApplication - The bundle ID of the calling
application.
annotation -Optional property-list data passed by the
calling application.
You can only access these if you override the 'openURL' method within your 'AppDelegate.cs' class, there is a set of options you can pass through as an override but again none of those allow you to restrict what the user does after the browser has opened.
If the devices are managed using something like 'meraki' or some other software to control the use of managed devices, then you would likely set up a 'group policy' styled set of restrictions however that's not really a Xamarin issue, and should be discussed with the network administrators.
That being said, I don't see any reason why you can't use the WebView1, that way you can handle it all within your application. Or alternative utilize custom renderers and pass in the direct video urls and commit to opening up the devices media player for streaming the content2.
1 Playing videos in WebView
2 Using the media manager plugin.

Branch.io smart banner is empty

My team released an Android app and asked for a smart banner directing users from our website to the app and specific content; to complete this task, we are using branch.io.
According to this guide, I inserted the JavaScript snippet with the branch key found in the settings section of the dashboard and the SDK is correctly initialized.
In the dashboard we defined the styling of the banner and on which sites and devices it should appear. But the banner looks like this (on desktop):
No icon or text are set. Apparently when I use the preview link generated by branch.io it is displayed correctly.
Moreover when I initialize the banner via JavaScript and set the properties it is displayed correctly too:
branch.banner(Banner.options, Banner.data);
const deeplink = `${window.location.pathname}${window.location.search}${window.location.hash}`;
branch.setBranchViewData({
'$deeplink_path': deeplink
});
Somehow nothing from the dashboard is adopted.
Thank you for your help!
Alex from Branch.io here: the branch.banner() function and the banner you set up on the dashboard are actually separate things. The dashboard option replaced the banner() approach, which has been deprecated.
You'll want to review the full details in the set up guide. One important note is that the dashboard version does not yet support banners on desktop, as we found almost none of our partners were using that function.
Try smartbanner.js. Has a lot of custom options and behaviour at very low footprint (~ 13 KB). Takes a few meta tags to set up.

How can I determine if my Cocoa Desktop application is on the list of apps to be opened at login?

I am developing a SandBoxed Cocoa Application. I have successfully implemented the Launch at login feature by using the Core Foundation function:
SMLoginItemSetEnabled
I have based the implementation on This tutorial
But now I need a way to determine if my app is set to be launched at login, so that I can show the button in the appropriate position upon launch. I would expect a similar Core Foundation function to find out if a bundle identifier is on the list of login items, but I didn't find it.
Another problem is that, by using this Core Foundation approach, although it is recommended by Apple, my app is still inconsistent with the "Open at Login" tick in my application dock menu.
You can do it using the functions in the LSSharedFileList.h header, which is in LaunchServices.framework, which is in CoreServices.framework. As far as I can tell, Apple hasn't documented this stuff except in the header comments, but that's probably enough. The basic outline is that you first create a LSSharedFileListRef using the function LSSharedFileListCreate for the list type kLSSharedFileListSessionLoginItems. Then copy a snapshot of the list (which is a CFArrayRef) using LSSharedFileListCopySnapshot. Then for any item in the array, you can get its URL using LSSharedFileListItemCopyResolvedURL. That last function requires Mac OS X 10.10 or later, while I think the others date back to 10.5.
By the way, the docs on SMLoginItemSetEnabled say that it's for setting an embedded helper app as a login item, but it sounds like you're talking about a freestanding app.
Apple's sandbox documentation says:
With App Sandbox, you cannot create a login item using functions in the LSSharedFileList.h header file. For example, you cannot use the function LSSharedFileListInsertItemURL.
But maybe you can still use the shared file list functions on a read-only basis.

Swap the application in Objective-C?

I'm developing iPad application I need to integrate third party project(Source code) with my code like i have a button in my code, when i click on the button it landed to third party application page then navigate around and vice verrsa. what is the best way to swap the app?
Regards,
Sri
Use the url schema.
See add custom URL Schema using http://
Every Application can have customer url schemas. Like ...
yourapp://someting?withparams=1.
To get they running you have to change your Info.plist to inform the iOS that your app is handling that url schema. See the SO post above.
When another App calls that URL your app gets opened and you get a hook on your app delegate.
check http://developer.apple.com/library/ios/#featuredarticles/iPhoneURLScheme_Reference/Introduction/Introduction.html#//apple_ref/doc/uid/TP40007899
and:
http://developer.apple.com/library/ios/#documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intf/UIApplicationDelegate
Also look here:
http://wiki.akosma.com/IPhone_URL_Schemes