Friday, August 30, 2013

Monster Cache 1.2 released on iOS

Good news, version 1.2 of Monster Cache was approved last night by Apple!  One wrinkle.... they wouldn't let me do the Unlimited Nets option without some modifications.  Coins are "consumable" In App Purchases, but an unlimited option would be "non-consumable", which requires a "Restore" button in the app.  Instead, I just made bigger coin options for iOS - 2500 and 5000.  It actually might be an interesting test to see how many people use those options compared to Unlimited Nets on Android.

I'm headed out of town all next week for fishing trip with Kathleen's brothers.  I told her to wait to start her geocaching club promotions until I get back, just in case any bugs were found.  So hopefully the numbers will start going up again in a couple weeks!

Current number of users on Legends board is 105.

Friday, August 23, 2013

Your app status is Rejected

Apple's developer portal finally let me accept the agreements it wanted me to accept, and I was able to submit the new version of Monster Cache about 6 days ago.  This morning in finally went in to review.  And in the same day, I got a notice that it was rejected.  Specifically, our new "Unlimited Nets" IAP.  Here was their reason:

We found that the Purchasability Type for one or more of your In App Purchase products was inappropriately set, which is not in compliance with the App Store Review Guidelines.

Unlimited nets +1500 monster coins is set to consumable.

However, based on product functionality, it would be more appropriate to use the Non-Consumable In App Purchase type. Non-consumable products are only purchased once by users and are always available on all devices that are associated with that user's iTunes account. 

For more information about Purchasability Type, please to refer to the iTunes Connect Developer Guide.

The Purchasability type cannot be changed once an In App Purchase product has been created. Therefore, you will need to create a new In App Purchase product with the correct Purchasability Type. To create a new In App Purchase in iTunes Connect, go to Manage Your In App Purchases, select your app, and click "Create New". The current product will show in iTunes Connect as "Rejected".Note: Apps that offer In-App Purchase products that must be restorable are required to include a "Restore" feature. The following In-App Purchase types must be restorable:

- non-consumable products
- auto-renewing subscriptions
- free subscriptions

For more information, please see the section, Restoring Transactions, in the In-App Purchase Programming Guide
--------------
And my response....
------------
Hello,
I understand your point about the Purchasability Type.  However, our application requires users to create a login account, and all their account information, including In App Purchases, is stored on our server.  Therefore, even if a user had a new device and installed the app on the new device, once they logged in with the same account they used on the old device, all of their purchases would still be remembered on our server and would carry over to the new device.  We actually believe that making this IAP non-consumable could lead to abuse, as one player could log in with their account on another player's device who has purchased the non-consumable IAP, then click "Restore" and have the IAP "restored" from the App store to the second account without paying for it.  I hope that makes sense and that you will allow us to keep this IAP as consumable.

Thank you for your consideration, please let us know.
Eric Barr
------------------------

Just a few minutes later, they came back with:
------------------------
Thank you for your feedback. 

If you wish to appeal your review, you can submit a request to the App Review Board. The App Review Board was created for developers to appeal an app review they have concerns with. Once the App Review Board has completed their evaluation, they will contact you directly with the decision.
-----------
So I decided just to create two more Monster coin packages for iOS.  Instead of the $14.99 Unlimited nets and 1500 Coins, I'll try $14.99 for 2500 Coins, and $17.99 for 5000 Coins.  It may actually turn into a neat comparison test between Android and iOS.

Once the app is approved, then maybe I'll try the appeal.

Sunday, August 11, 2013

All Developer Program Services Are Now Back Online - Not exactly

I got an email yesterday with a big headline that said
"All Developer Program Services Are Now Back Online"
I was excited that I can finally Accept their changed contracts and release our new version on iOS!

Well, turns out I didn't get far.  There are two contracts I'm supposed to accept.  I have to accept one before the other.  Before Apple's email that all services are back, I couldn't renew either.  Now, I was able to renew the first, but all the warnings don't seem to acknowledge that, and it still won't let me accept the second.  I had to email their support today:

"When I log in to my developer account, I see a message that says "Review the iOS Paid Applications Agreement", and also "To accept this agreement, the user with the Team Agent role must have already accepted the iOS Developer Program License Agreement in Member Center.".  I have accepted the new Developer Program License Agreement, but I don't see any option for me to accept a new iOS Paid Applications Agreement in the Contracts, Tax, and Banking module.  All I see are options to Edit Contact info or Banking info, or View tax info.  Please help me get past this so that I can submit a new version of my application.
Thanks,
Eric
"
My wife and I are going to try work-camping tomorrow.  That means we're taking our laptops and getting a camp spot with electrical outlets.  But my Mac is not a laptop, so I guess the earliest I'll get this resolved is when I get back Tuesday.

Thursday, August 8, 2013

Installing / Renewing SSL certificate for Windows Azure


Today I had to do one of my least favorite things in web development: install an SSL certificate.  And even worse than usual, this is my Monster Cache certificate so it needs to go on Windows Azure.  I guess I mainly don't like it because there are a lot of steps and I don't do it often, so its easy to forget the process.  And there are event more steps for Azure.  And often something goes wrong which means I have to call GoDaddy, where I buy my certificates.  Such was the case today.  So I wanted to document all the steps for when I have to do this again in two years.

By the way, big thanks to Avkash Chauhan's Blog for this post that got me through installing an SSL certificate in Windows Azure the first time.  This time I was renewing the certificate so some of the steps were a little different for me, so that's why I'm making another list.
  1. Open IIS 7.  This can be on any machine with IIS7.  I use the IIS7 on my Windows 7 development machine.
  2. Go to the Server Certificates section
  3. WARNING: Here is where my problems were today.  Even if you have an existing certificate and you are renewing it, do not click on your existing certificate and choose "Renew...", at least if you are getting your certificate from GoDaddy.  The CSR that is generated for a renewal is not accepted by GoDaddy.  You'll see that it is about twice as long as a CSR for a new certificate, or as the GoDaddy support person said "Using renew puts a bunch of extra code in there that can't be recognized".  So whether you're renewing or creating a new one, choose "Create Certificate Request".  You'll have to enter your company data.  I always use 2048 bits, I think GoDaddy requires it.  Then save the resulting file as a .csr somewhere.
  4. On GoDaddy (or other CA), purchase your certificate for however many years you want.
  5. When asked to enter your CSR, paste your ENTIRE CSR file contents into the CSR request text box.  Continue through rest of steps until certificate issuance is Pending.
  6. On the "Manage Certificates" tab of the "Secure Certificate Services", download the certificate when its ready by checking the checkbox and clicking Download.  (It only takes a minute or so to go from Pending to Current, just hit Refresh occasionally.) Save .zip file to same folder as your .csr file
  7. Unpack zip file
  8. Go back to IIS7 and click "Complete Certificate Request". It will ask you to browse to the response file.  Select the .crt file that was in the zip file.  Choose whatever you want for a friendly name, but if you're renewing, then make sure that your new friendly name is different from your original.
  9. Now you have a certificate installed on your local IIS.  Right click on it in the certificate list and choose "Export...".  Save it as a .pfx file in the same location as your other files and make up a password for the exported file.
  10. This blog post details how to tell your Azure project about your new certificate and how to upload the certificate to your Azure Developer Portal.  I can't improve on that post, but I will say that:
    • I did NOT follow step 7.  And I did not do the verification in steps 8 and 9 either.
    • After logging into the developer portal, it was hard to find the place to upload the certificate.  I found it by going to "Cloud Services" on the left, then clicking my service name on the right, and then "Certificates" was at the far right of the horizontal navigation that appeared on the introduction page.
  11. Now all you have to do is publish your project!
  12. There's one last step in Avkash's blog about setting up the CNAME records if you haven't done that yet.  He links to this blog for those instructions.
Whew, that's it!  Thank goodness I don't have to do it again for two years. Maybe I should have bought even more years though, two years sounds too soon.

Sunday, August 4, 2013

New iOS version delayed by offline Apple Developer Center

I was hoping to release version 1.2 of Monster Cache for iOS today. I went to Apple's developer Member Center and didn't get far.  They still have some things offline since they were hacked a couple weeks ago.  There were two updated agreements that i'm supposed to review before releasing any new versions, and it seems I can't review them because that part of the site is down.  Big bummer. I sure hope they get it fixed soon.