Important Info on How IAP's Will Work in an Upcoming Release!

1356

Comments

  • Braydon_SFXBraydon_SFX Member, Sous Chef, Bowlboy Sidekick Posts: 9,273

    @mshuraih said:
    is there tutorial about the IAP available ?

    I have one and so does @The_Gamesalad_Guru‌ - However, because of this new change in iOS 8, we're going to have to redo the videos.

  • mshuraih mshuraih Member, PRO Posts: 179
    edited September 2014

    thanks for the tips

  • mshuraih mshuraih Member, PRO Posts: 179

    thanks Braydon I meant for the new iOS8 IAP .. thnks again

  • colandercolander Member Posts: 1,610
    edited September 2014

    @mshuraih you can edit your posts by hovering the mouse over you it and in the top right corner you will see a little cog. Click on it and you can edit your post up to 24 hrs from the first time you posted it.

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922

    The stuff just came out. I know @Braydon_SFX‌ and myself who do the majority of the videos here like to provide accurate methods and info. That takes a few days to try stuff out and come up with solid methods to demonstrate. Plus we have regular lives too. We do this for free in our spare time.

  • JTT4056JTT4056 Member, PRO Posts: 10
    edited September 2014

    I am struggling..so any help appreciated!!

    I am testing on an adhoc build on my iPad. I have successfully done the first step of getting the data into the table via the IAP-Request Purchase Data behavior. So I can correctly get my non-consumable IAP correctly classified as unpurchased.

    Next I trigger the Buy action. Nothing seems to happen. What is supposed to happen? I wait for ever and nothing changes. The unpurchased value remains the same - I thought it should change to 'pending'. The user is not prompted to log in.

    What am I doing wrong?

    EDIT: I found the problem. Someone else might have the same issue so here's the scoop:

    The old IAP behaviors in GameSalad use the IAP Reference Name. The new IAP behavior uses the Product ID. Check iTunes Connect to get the value you need. Don't just copy form your old IAP behavior like I did :-)

  • furthergamefurthergame Member Posts: 56

    thanks @Braydon_SFX

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    edited September 2014

    @JTT4056 said:
    I am struggling..so any help appreciated!!

    I am testing on an adhoc build on my iPad. I have successfully done the first step of getting the data into the table via the IAP-Request Purchase Data behavior. So I can correctly get my non-consumable IAP correctly classified as unpurchased.

    Next I trigger the Buy action. Nothing seems to happen. What is supposed to happen? I wait for ever and nothing changes. The unpurchased value remains the same - I thought it should change to 'pending'. The user is not prompted to log in.

    What am I doing wrong?

    EDIT: I found the problem. Someone else might have the same issue so here's the scoop:

    The old IAP behaviors in GameSalad use the IAP Reference Name. The new IAP behavior uses the Product ID. Check iTunes Connect to get the value you need. Don't just copy form your old IAP behavior like I did :-)

    It was always the product ID or do you mean the Apple ID of the IAP. The product ID is what you assign it, the Apple ID is a 9 digit number. When I submitted to Amazon I used my Product SKU. Please be sure to use the proper terminology when providing solutions or this causes confusion among users.

  • Braydon_SFXBraydon_SFX Member, Sous Chef, Bowlboy Sidekick Posts: 9,273
    edited September 2014

    @The_Gamesalad_Guru‌ said: That takes a few days to try stuff out and come up with solid methods to demonstrate. Plus we have regular lives too. We do this for free in our spare time.

    True. Alot of people forget this.

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    edited September 2014

    Okay got it worked out and tested video for iOS coming in about an hour! Feel free to load me up on likes,awesomes et... Yes @Braydon_SFX‌ I am shameless :p

  • JTT4056JTT4056 Member, PRO Posts: 10

    @The_Gamesalad_Guru said:
    It was always the product ID or do you mean the Apple ID of the IAP. The product ID is what you assign it, the Apple ID is a 9 digit number. When I submitted to Amazon I used my Product SKU. Please be sure to use the proper terminology when providing solutions or this causes confusion among users.

    To clarify: I am talking about Apple and in iTunes Connect it is the IAP Product ID which worked for me.

  • phamtasticphamtastic Member, PRO Posts: 354

    @The_Gamesalad_Guru said:
    Okay got it worked out and tested video for iOS coming in about an hour! Feel free to load me up on likes,awesomes et... Yes Braydon_SFX‌ I am shameless :p

    YOU'RE DA MAN!!!

  • stevejstevej Member, PRO, Chef Emeritus Posts: 435

    @JTT4056 said:
    Hi, I have 2 questions about the new in-app behaviors.

    1. If I don't want to show the name or the price of the IAP in my app, do I need to do the Request Purchase Data behavior? Or can I just go straight to the Buy Item behavior when a user wants to buy?

    2. If I already know that a user has purchased an IAP, can I populate column 5 of the PurchaseTable myself?

    Thanks,
    Janine

    1) No, you do not need to call Request Purchase Data. I'm not sure if your app will get rejected or not for having IAP without showing the price, though.

    2) You can fill it in, if you want to give the player a "head start" from connecting to the internet, but you should still call Restore Items. a) the player may have bought something on another device, and b) Apple, at least, requires the user to be able to manually restore their purchases.

  • stevejstevej Member, PRO, Chef Emeritus Posts: 435

    @mshuraih said:
    is there tutorial about the IAP available ?

    We're working on it. :)

  • Braydon_SFXBraydon_SFX Member, Sous Chef, Bowlboy Sidekick Posts: 9,273

    @The_Gamesalad_Guru said:
    Feel free to load me up on likes,awesomes et... Yes Braydon_SFX‌ I am shameless :p

    You bad, bad person. ;)

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922

    @stevej said:
    We're working on it. :)

    Beat you to it....lol

  • jorkosjorkos Member, PRO Posts: 353

    @stevej to the team working on the tutorial, thank you!!!!!! :D

  • wilsongaluchowilsongalucho Member Posts: 180

    When the Android IAP is tested out, is someone going to do a Windows to GooglePlay tutorial ? :D that would be A W E S O M E !!!!

  • HopscotchHopscotch Member, PRO Posts: 2,782

    @stevej‌ , @BlackCloakGS‌

    The Request Purchase Data forcing an early login is quite unfortunate.

    I understand that this behaviour was probably made to do quite a few things for the sake of simplicity, bundling some calls which require a login, like the state of non-consumables.

    But, as you enter the shop, you really only want to retrieve product description and price, which does not require you to be logged in.

    Is there a chance that the two functionalities - 1 Request localized info (SKProductsRequest) and 2 Request Purchase Data - can be split into two behaviours. Even at the expense of needing two tables as opposed to one?

    This would avoid the early and possibly unnerving login request.

  • sawkasteesawkastee Member Posts: 184

    @Hopscotch said:
    stevej‌ , BlackCloakGS‌

    The Request Purchase Data forcing an early login is quite unfortunate.

    I understand that this behaviour was probably made to do quite a few things for the sake of simplicity, bundling some calls which require a login, like the state of non-consumables.

    But, as you enter the shop, you really only want to retrieve product description and price, which does not require you to be logged in.

    Is there a chance that the two functionalities - 1 Request localized info (SKProductsRequest) and 2 Request Purchase Data - can be split into two behaviours. Even at the expense of needing two tables as opposed to one?

    This would avoid the early and possibly unnerving login request.

    Totally agree with you Hopscotch, I fear the early log-in may scare a potential customer away. Hopefully GS can implement this, maybe they had to get this RC out quick.

  • colandercolander Member Posts: 1,610
    edited September 2014

    ^ +1

    EDIT: "Request Purchase Data" retrieves the information wether you login or cancel so it is not required at this point for the action to function. Having the login in the "Buy Item" action makes I think more sense.

  • colandercolander Member Posts: 1,610

    @stevej @BlackCloakGS‌ can someone give us some information on Google Play IAP. How do we add Billing Permissions to the APK?

  • The_Gamesalad_GuruThe_Gamesalad_Guru Member Posts: 9,922
    edited September 2014

    That should already be in the code behind the scenes? What you have to do is make the key and put it in google play under the services tab, just like Amazon. See link below on how to make the key and setup IAPs on google play developer.

    http://developer.android.com/google/play/billing/billing_admin.html

  • colandercolander Member Posts: 1,610

    @The_Gamesalad_Guru said:
    That should already be in the code behind the scenes? What you have to do is make the key and put it in google play under the services tab, just like Amazon. See link below on how to make the key and setup IAPs on google play developer.

    http://developer.android.com/google/play/billing/billing_admin.html

    I have already read and tried it and couldn't get it to work. I just went back and gave it another go but no joy. Have you been able to get it to work?

  • mshuraih mshuraih Member, PRO Posts: 179

    @The_Gamesalad_Guru said:
    Okay got it worked out and tested video for iOS coming in about an hour! Feel free to load me up on likes,awesomes et... Yes Braydon_SFX‌ I am shameless :p

    Nice! thank you!! where will you post it

  • stevejstevej Member, PRO, Chef Emeritus Posts: 435
    edited September 2014

    @colander said:
    stevej BlackCloakGS‌ can someone give us some information on Google Play IAP. How do we add Billing Permissions to the APK?

    That's done by us. Google Play IAP is annoyingly tricky to set up and test. We're creating a detailed write-up, but the "short" version is:

    1. Publish your game to get the apk.
    2. Create an account for your game on Google Developer Console (https://play.google.com/apps/publish/signup/)
    3. Upload your game to the developer console.
    4. Add your iap products to the developer console.
    5. Republish your game with the license key supplied by Google.
    6. Upload your game again. Make sure it goes to the "alpha" tab.
    7. Create a Google Group for your testers, even if the only tester is you.
    8. Send out invitations to the testers.
    9. Respond to the invitation.
    10. Send out the link to the app.
    11. Activate the link. Once the app is available, it can be downloaded from the store. This can be hours from when you upload it. The app will appear in the "all" section of "my apps" in the store.

    Simple!

  • stevejstevej Member, PRO, Chef Emeritus Posts: 435

    @Hopscotch said:
    stevej‌ , BlackCloakGS‌

    The Request Purchase Data forcing an early login is quite unfortunate.

    I understand that this behaviour was probably made to do quite a few things for the sake of simplicity, bundling some calls which require a login, like the state of non-consumables.

    But, as you enter the shop, you really only want to retrieve product description and price, which does not require you to be logged in.

    Is there a chance that the two functionalities - 1 Request localized info (SKProductsRequest) and 2 Request Purchase Data - can be split into two behaviours. Even at the expense of needing two tables as opposed to one?

    This would avoid the early and possibly unnerving login request.

    The problem is that when > @zenoah said:

    It was more to do with being able to show the full currency and price in a dialog before the purchase. So 'unlock all levels for just £0.69' for GBP or 'unlock all levels for just $0.99' for USD, etc

    After discussing this with the team, we're going to add attributes for: country code, OS being used, and OS version being used. This may come out as a patch to 0.12 if we can't get it out for the initial release.

  • HopscotchHopscotch Member, PRO Posts: 2,782
    edited September 2014

    @stevej said:
    After discussing this with the team, we're going to add attributes for: country code, OS being used, and OS version being used. This may come out as a patch to 0.12 if we can't get it out for the initial release.

    I could hug you for this! But please supply Country Code AS WELL AS Device language setting! Both are necessary as they may be different.

    Someone may have a different language selected from the country they are in. This is vital for good/professional localization of the description as @zenoah indicated.

    The Country code is vital for Price localization, as this is legally supposed to be displayed in the currency of the country, irrespective of the language setting.

    This does NOT however solve the problem of the early login request. Immediately confronting the user with a login to their apple account as they enter our shop page, before they have even selected any purchase or seen what is available, is terrible.

    I am sure that most will cancel the login out of mistrust and dump the app.

    Please don't implement IAPs in this broken fashion, which could (dare I say, will) cause damage to the developers reputation.

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250
    edited September 2014

    If there is a pending purchase from a previous session Apple will request a login to complete the pending purchase. This will happen when we initialize the purchase queue at the beginning of the app. This is most to time what is happening when you see the log in panel requesting a password at start up. In the sand box you can clear out the pending purchase queue.

    We will look into seeing what we can do for the login required to get purchase information.

  • BlackCloakGSBlackCloakGS Member, PRO Posts: 2,250

    We did some test with the login issue. Seems most of it has to do with pending transactions. If you have a purchase id in iTunes connect that you do not handle in game any more and the user has a pending transaction for that id you will get the log in request until the game handles the transaction for the id at every game start.

    We will be releasing a final release candidate today and the final release should come out tomorrow (as long as no critical bugs are found)

Sign In or Register to comment.