Hi I am currenly making a windows phone app which allows users to order multiple items. The only problem is the way of payment.
Since windows phoen In app purchases are the only allowed way of paying by windows phone, I am not sure of how to make items with variable prices.
Would making an item, which costs 0.01€ or 0.01$ and just selling it 200 times at once to get the 2€/$ be OK or are there decent options, because this seems a very stupid way to me.
Actually you can use third-party services for in-app purchases, for example PayPal even has an SDK https://developer.paypal.com/docs/classic/windows-8-checkout-sdk/gs_win8xo/
Edit:
The latest "Windows and Windows Phone Store Policies" document (https://msdn.microsoft.com/en-us/library/windows/apps/dn764944.aspx) doesn't prohibit you from using a different in-app financial service, see §10.8 and §10.8.2 specifically.
This can only be understood through trial.
Change price, announcing a promotion. This is done easily in the store.
According to statistics, not always low price purchase leads to high income.
It eats the interesting data as
the purchase price and depends on your income.
Related
Could you please suggest how to get a UDID of the connected iOS device using C# on Windows? I tried to search in Google, but didn't find anything. Is there a way or a workaround for this? Maybe any open-source library or something else?
Please suggest.
Thanks in advance.
Here's the problem, UDIDs have been locked down since IOS 7, you shouldn't access this ID within your code. There are ways to extract the id through background web pages that are invisible, but this will only work if you DON'T plan to distibute your app on the iTunes store, since your app will be rejected.
In 2013, Mattt on his blog, NSHipster (http://nshipster.com/uuid-udid-unique-identifier/), wrote the following:
As of May 1st, Apple began enforcing this deprecation on all new app
submissions, even for apps targeting earlier versions of iOS. Any use
of uniqueIdentifier is grounds for immediate rejection of new
binaries.
(read the rest of Mattt's blog entry should you wish for a more detailed explanation, of the ins and outs of the this change)
What you can do about this? Nothing. However, if you need an ID of sorts to do whatever you are trying to do then you have two options:
identifierForVendor
here: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/#//apple_ref/occ/instp/UIDevice/identifierForVendor
The value of this property is the same for apps that come from the
same vendor running on the same device. A different value is returned
for apps on the same device that come from different vendors, and for
apps on different devices regardless of vendor.
Normally, the vendor is determined by data provided by the App Store.
If the app was not installed from the app store (such as enterprise
apps and apps still in development), then a vendor identifier is
calculated based on the app’s bundle ID. The bundle ID is assumed to
be in reverse-DNS format.
advertisingIdentifier
here: https://developer.apple.com/library/ios/documentation/AdSupport/Reference/ASIdentifierManager_Ref/index.html#//apple_ref/occ/instp/ASIdentifierManager/advertisingIdentifier
Unlike the identifierForVendor property of the UIDevice, the same
value is returned to all vendors. This identifier may change—for
example, if the user erases the device—so you should not cache it.
If the value is nil, wait and get the value again later. This happens,
for example, after the device has been restarted but before the user
has unlocked the device.
I'm developing a clock app for the night, that is always visible, and I'm wondering if is there any way to access the number of quick notifications, like on the lockscreen(for ex.: number of missed calls, emails, messenger/viber/whatsapp messages, etc..) So I could display these icons with numbers in my app.
(source: softpedia-static.com)
No, there is no way for an app to access these. They are available only to the lock screen. Apps are generally isolated from the system and from other apps and are unable to access information that could have privacy concerns.
I have an app published in the Windows Phone store for more than two years. So I started development on this app at Windows Phone 7 times where there was no In-App purchase available. Best-practice back then was to actually publish two separate apps, one Free version (most of the times ad-served) and a Pro app with some kind of Trial functionality.
In order to get both two different XAP packages I created two separate build configurations with different pre-build and post-build actions. So what the build does is:
(Pre-Build) Copy WMAppManifest file for Free/Pro (with adjusted product name, GUID, ...) to the Properties folder of the project
Build the app
(Post-Build) Rename the app package to app-name.{free/pro}.xap
(Post-Build) Copy the xap package to a separate folder
As In-App purchase is out for so long and maintaining two different apps at the same time is time-consuming (although it's 100% same code with some free/trial/pro conditions) I would like to move away to just one app in the store that is free and contains In-App purchase to enable the Pro-features.
Now my questions are:
What do you think is the best way to do that. Is there any best practice that I didn't find?
One concern that I have is that my good reviews for the pro app will then actually be lost as I can't move them obviously to the free app which will then have the Pro package for in-app purchase. Any best practices on this?
Alternatively, is there any good way to create two xap app packages without copying WMAppManifest all the time?
It's hard to answer your question - but here goes some resource - a friend of mine, once gave gave me a link to a very nice research made by Wesley De Bolster, described on his blog.
He described a method allowing to differentiate old paid users from new users - the main idea is that you get recipe with CurrentApp.GetAppReceiptAsync() and retrive the date of the purchase from it. After that you can compare the date of app's new version to the one obtained from the recipe. Then you can allow old users to use some features without buying IAP's. I haven't tested the procedure but seems to be a good idea.
Going back to your question, here is what I would do:
focus on Pro app - there are users that paid for your app, so don't disappoint them
make Pro app a free one with IAP's
implement Wesley's method to allow the old users to use features without paying once again
provide some information in the old Free app that there is a new one with new features, that will be developed further. You may also provide some methods taking advantage of RoamingSettings to exchange some information between the apps.
I want to create an app, where users can rate stuff, but I don't want that they can rate one place multiple times. So I tought I could use the live ID of the user, that Windows 8 uses by default. Is there a way for that? If not, is there another built in way to "recognize" the user, or I have to use the Live SDK?
Unfortunately there is no way, but the Live SDK is pretty good too.
We have two apps we've developed for Windows Phone 8. I've set the Publisher ID in the WMAppManifest to be the same GUID, but for some reason each App is declaring it's own UDID.
Why? What have I missed?
I've found this question and this question but they don't seem to say anything more.
Each app communicates over a web-service and requires the device identifier, it would be really annoying if each of the 500-odd devices our company has purchased had two rows in the central database.
Any clues anyone?
Apparently this was a conscious decision by Microsoft "in order to protect user privacy". Therefore I don't think it's possible via another API.