iOS publishing via Intel XDK experts needed

Discussion and feedback on Construct 2

Post » Sun Apr 19, 2015 5:50 pm

Hi everyone,

My game is finished, but there is still one last big problem that keeps me from publishing : IAP are not working on iOS. I really, REALLY need your help to get over this.

To give you a few indications about my problem :

- I'm using phonegapIAP plugin from @cranberrygame
- I'm exporting with Intel XDK for both iOS and Android version.
-The game works perfectly on Android (IAP are working)
- I use the exact same events to manage IAP on Android and iOS (product IDs are the same)
- I'm currently exporting the Game with adhoc provisionning profile. Up to now, I am unable to build in XDK with a production provisionning profile (despite the fact I added one. The build always fails)
- The sandbox environment works on my device.
- The test device is connected to the internet (ads are working)
- All IAPs are approved by Apple and seem to be correct in iTunesConnect
- The game plays perfectly on my test device except that...
- The "Request store listing" action always returns "Store listing failed".

Can you see what could be wrong?
So to resume, I have 4 questions :

1) To test an iOS game's IAPs in sandbox environment, do I need a "production" provisionning profile, or could an "adhoc" one work?

2) Does publishing an iOS game to the Apple App Store requires a "production" provisionning profile, or could an "adhoc" one work, given there are IAP in it?

3) How could I build successfully with a "production" provisionning profile in Intel XDK? I created one, but the build always fails.

4) Is it normal that in a game running in sandbox environment, exported with an adhoc provisionning profile, "Request Store Listing" always returns "Store Listing Failed"?

Many, many thanks in advance to anyone who could help me on any of these points.
B
33
S
6
G
1
Posts: 355
Reputation: 2,850

Post » Sun Apr 19, 2015 7:00 pm

testing doesn't not requires publishing which means it should all work with the adhoc version .
A production provisioning is required to publish to the store. you should try making a new one the xdk has a tutorial the shows the proper way to go about making it. as for the Request store listing i know there had been a problem with that working on ios im not sure if newer build have been released fixed that issue yet
B
42
S
17
G
2
Posts: 850
Reputation: 6,209

Post » Sun Apr 19, 2015 7:03 pm

Hi

You can definitely use an adhoc build to test IAPs.

Are you sure you have signed out of your iTunes account in the device Settings, and signed in with your sandbox account credentials?

You need to go to iTunes connect and set up a sandbox user account for IAPs.

If you purchase using the sandbox account, the store remembers the purchase.

[Edit] I've recently done a production build with the XDK, so that bit is working fine. @volkiller730 suggestion is good, redo the production profile in Developer Center. Should take only 2 minutes to remake and download it.

One other side note about Apple identifiers, is that they allow you to use dashes (com.me.my-game) However! The Intek XDK will fail to build if you use dashes in the identifier. This has nothing to do with IAPs however... :-)
B
24
S
7
G
1
Posts: 186
Reputation: 2,716

Post » Sun Apr 19, 2015 9:15 pm

do you own the personal license? cause free edition cant export to ios
B
17
S
4
G
1
Posts: 203
Reputation: 1,583

Post » Sun Apr 19, 2015 9:19 pm

Hi and thanks a lot for the replies!

@aquinn
When I launch the game, I receive a notification :

"Welcome Back, (username)
***SANDBOX***"

So I suppose the sandbox is correctly configured. Or could it tell me this message even when there is a problem with the sandbox account?

I already made at least 3 production profiles, and followed each time the step by step instruction from Intel XDK "build" tab. I'm probably missing something there, so I guess I'll delete all the profiles I created and make a new one.
But I also understand that the wrong provisionning file is not the cause of the problem, as you both pointed out it should work in sandbox environment...

I also have no dashes in my app ID, but thank for the side note, it's good to know!

@Volkiller730
Oh no, I hope this is not a bug, and that I will be able to get the store listing succeed. :(
Can anyone confirm he has a game published with this feature working on iOS?

In case it really can't work, is there a workaround?
I had multiples cases of people paying for an IAP and not getting the stuff they paid for (!!!) when I was not using this action on Android. Now I launch the shop only when the store listing is successful and it's all good. But I really would like to avoid such problems on iOS.

Maybe using C2 IAP plugin rather than phonegapIAP may help?

@StormHo
Sure, I have business licence
B
33
S
6
G
1
Posts: 355
Reputation: 2,850

Post » Mon Apr 20, 2015 4:01 pm

@Rable I think the "Welcome back ***Sandbox***" is Game Center automatically logging in, not related to IAP. You need to create a completely new test account with a different email to your developer account to test IAPs. (AFAIK - this works for me)

I got IAPs to work in Jan, using the Intel XDK and cranberry's Phonegap IAP plugin.
This was back in January when iOS8.0/8.1 was the latest version. Since then we are up to iOS 8.3 I have found the iOS part of the native/cranberry Admob pluging is broken on iOS 8.2/8.3 so maybe there is a bug with the IAP plugin (this is pure speculation BTW!) -I suspect the problem is not logging in to iTunes with a test account.
B
24
S
7
G
1
Posts: 186
Reputation: 2,716

Post » Mon Apr 20, 2015 9:43 pm

@aquinn Maybe I was unclear on that point, but I already created a different account based on a new email address, which was not used by any Apple account, as specified on Apple's website, and created a sandbox account based on this email.
I struggled a bit to create a,d activate it, but I'm confident that it should be a test account that I specified in iTunes Connect. Is there a way to check this?
I'll still try to create a new sandbox account based on a new email adress and see how it goes.

Did you manage to have store listing success in january? Because i'm stuck on this problem since janurary! And I could tell you I had the exact same behavior back in january (store listing failing).
Thanks!
B
33
S
6
G
1
Posts: 355
Reputation: 2,850

Post » Tue Apr 21, 2015 10:19 am

@Rable Thanks for clarification.. .It sounds like you have set up the test account OK. If the account is displayed in iTunes Connect>Users and Roles>Sandbox Testers, and you can log in to iTunes on the device, then that bit all seems valid.

Yes, store listing was working fine in Jan. You probably know this already but the event process is something like this:

1. On start of layout, add the product IDs.
2. Then, also on start of layout, request store listing (you are prompted to login on the device I think if not logged already...)
3. It can take a few seconds for it to come back with a store listing result.
4. But once triggered listing success, write to a text box with 'Listing Success' so you know what's happening.
5. Also, use the condition "Is Store Available" to write 'YES' to a text box, so at least you know the store is available.
^^Sorry if that is too basic, but sometimes the small things matter!

I use an initialisation layout&event sheet that does the product IDs and store listing before going to the main home screen layout&event sheet.
B
24
S
7
G
1
Posts: 186
Reputation: 2,716

Post » Tue Apr 21, 2015 9:59 pm

@aquinn Thanks a lot for the reply! This is very, very useful!

The sandbox tester account is definitely created in iTunes Connect, but I am accessing iTunes with my main Apple account (this (non-sandbox) address appears in the device's settings, when touching "iTunes Store and App Store"). Should I log in to iTunes with my Sandbox account? (I guess I heard this may delete the sandbox account, but I'd like to be sure this first step is done correctly)

The only thing I can see that is different from what you tell me is that I'm not launching the store listing at the start of layout, but when touching a button. Actually the "store listing success" condition is used to launch the shop layout. That's how I'm doing it on Android.
I did it this way because accessing the shop without "store listing success" resulted on Android in some people purchasing IAP and not receiving what they paid for... :-/

I'm already displaying a text when store listing is successful or failed, that's how I know it always fails.
However, I did not use the "is store available" condition to know if it is available. That's an interesting thing to try, and I'll do this as soon as possible!

I'll also try to create a new layout + event sheet to get the store listing, just in case it NEEDS to be at the start of layout on iOS.

Thanks again!

EDIT : One thing that I didn't tell is that back in January, I had approval from Apple, and released the game (in Belgium only) for a few hours, to check if everything was working. And IAP weren't working (despite Apple's approval!), so I deleted it from the store in order to fix it. This leads me to think that my problem is probably not (only?) a sandbox account problem.
B
33
S
6
G
1
Posts: 355
Reputation: 2,850

Post » Wed Apr 22, 2015 5:00 am

better add group (disabled at start)
and for example when the player
- push button set the group to active

in the group you add these event
for example :
- when touch button > add product id then wait for 2 seconds > request store listing (you can add an "please wait" animation
- on store listing success > purchase product ""
- on product purchased success > destroy the "please wait animation" + disable the group event + put what youwant

this avoid that on game start to try login and force the player buy or to login (people hates that)

then the iap event are activated only when the user push the button
B
46
S
16
G
8
Posts: 802
Reputation: 8,351

Next

Return to Construct 2 General

Who is online

Users browsing this forum: No registered users and 13 guests