Ladies and gentlemen… I announce you that…
Subscription is RELEASED!!!
At last, we successfully released this feature and now you can subscribe to our app for unlocking all the features and also have an access to monthly new content as well!
In these last weeks, I’d like to talk about what we’ve been through and what we learned so far.
Last two weeks, we were testing… and testing… and testing… as if we are some scientists from Aperture (refer to Portal :)). We had weekly, monthly and yearly subscription models. We needed to make them upgradable/downgradable since users might subscribe to Weekly model and would like to upgrade the subscription to Monthly or vice versa. But later, we figured out that Unity IAP does not have the functionality about this issue and I was informed that this will be patched within a few weeks.
(I must say that we had issues with Unity IAP yet the community is so helpful, we can get answers from the developers straight through the Unity Forums and I appreciate this.)
Later on, we wanted to test lock/unlock issue with subscription again, whether the app locks the items while there are no subscriptions and vice versa. The thing is when the subscription is canceled, the items get locked AFTER HOURS. I really don’t know if it is only for the test realm of Google Play or something within Unity IAP but according to the forum answer that I recieved for this question, this will be also patched with the next update. We thought of waiting, but we also wanted to do an A/B test, where we can test with a percentage of the users. So we changed the subscription model only for Monthly and then we released it with a certain percentage of the users.
We will update our subscription model to the triple model (weekly, monthly, yearly) when we receive the Unity IAP patch.
Stay in tune and rock on!
In this part, I’ll be talking about our testing process. Testing took a huge part of our development because of our previous experiences with the current store. Users had issues with the store, especially about locking/unlocking. Some users reported that after updating our app to a higher version, their items got locked and similar issues. The tricky part is sometimes we cannot create the same bug or bug environment in order to track the issue and fix. To prevent this, we created some user cases and tested according to these.it the button
First of all, we needed a subscription prototype to test the code whether it unlocks with the subscription starts and locks when it ends. It was easy to do, when an item is bought within Google Play, the receipt is saved o the user’s account. When the receipt comes to the app, the app’s code will get these receipts and unlocks according to it.
The hardest part (not to make but to test) was handling previous purchases of an existing user. The subscription model is easy for the new users. Just hit the button, pay for it and that’s all. But for the existing user… We need to get the previous purchases’ receipts, get the subscription’s receipt and lock/unlock according to the receipts. The logic is simple, having a receipt means unlocking the item. But being a test user and making purchases was hard. Hard because somehow the purchases we made before the subscription model vanished when we downloaded the beta with the subscription model. And this situation made us doubtful because we weren’t sure whether we are doing the right thing. To test it more realistically, we bought the items with real money within the production release. After buying, we installed the beta version with subscription model onto our Android device. (I’m not even counting the failures of being not able to opt out of testing, somehow Google won’t even get our accounts out of the beta. To test this more accurately we had to shut down all the beta testing itself, and our problem is solved.)
Success! After lots of testing, we are sure that the code is working nice and easy. Only some tweaks are needed, after that, we are fully ready to release our Subscription Model and we are so excited about it.
Stay in tune for more updates!
Hello folks! This week’s been a blast! We have done the Subscription Model and ready to engage!
I’ve done its UI as well as the testing of locks/unlocks. I want to talk about the UI first. UI is made by NGUI plugin and as a Unity UI user before, I saw lots of resemblances between them (I know Unity acquired NGUI) and I had no brief knowledge of NGUI before. Thanks my prior knowledge about Unity UI (and some little research), I was able to adjust the new Store with Subscription Model.
The tricky part is adjusting all the items in the scene (labels, panels, texts, buttons etc.) with anchors. Anchors lets us adjust the items according to an another item in the scene. My main items to take reference are the left menu and the white background. I decided to take the center of the white background and the right edge of the left menu.
As you can see, the yellow lines indicate the anchors. These anchors allows me to make this scene adjust itself according to the screen resolution of an Android device. And it’s needed since there are thousands of devices and every brand/model has different resolutions. We want to see the app as similar as possible with every device, so we need to use them.
I’ll be talking about our testing process in the Part 2!
Stay in Tune!
Hello folks! Subscription is almost ready! We got the store adjusted, we got the subscription models ready, we tested the lock/unlock status (our only challenging feature in the app 🙂 ) and here we are. The last to do item on our list, the UI.
My first attempt to do the UI was simple, inspired by other subscription-based apps.
But the feedback is that it is too bland. It does not explain the content enough. We should be able to tell the players what the contents they will receive, and make it spicy enough to make them excited about the products. UI and UX are So, I added some pictures to amplify the scene!
But the buttons need rework, hopefully, we will fix these graphical issues and publish it as soon as possible!
Stay in tune!
Hello! This week’s been quite busy with the subscription! This week we did change the store system, instead of buying and unlocking items one by one, with the subscription system, the items will be unlocked overall and will be locked when the subscription ends. Though this functionality needs to be tested, as we had problems with this current store system. Some users had issues with having their items locked without any reason. The thing is, it is hard to produce the exact same bug environment to test, everything is working correctly in our environment but sometimes this functionality seems working incorrectly in others’ devices. We hope to fix these issues with the subscription system.
In our current store, every user has their receipts for their bought items. In our store code, the receipt is checked. The receipt contains IDs of the purchased items, the functions process these IDs and voila, the items are unlocked. In the subscription model, this is quite the same, although we have to deliver the item altogether, so we need to access our whole library of items, not just one item. This is achieved, as well. Now it’s time to test the functionalities and make sure this works correctly.
This also consumed our huge amount of time because Google has been problematic about test purchases. When we were testing refunding/revoking items, the items were still present even though the user’s purchase has been refunded. We found out that test realm of Google Play is a little bit of chunky, also we had to revoke the items manually. And also in order to avoid falsely locked/unlocked items, we will make sure that subscription lock/unlock system will be working as intended.
Stay in tune and don’t forget to roll to initiative!
Hello guys! This week’s update is about Google Play and NGUI, where we are renewing our in-app purchases and Store scene according to these changes. First of all, we are changing our in-app model to Subscription. It means, users will pay weekly, monthly or yearly and with this users can access our concent fully. Implementing is easy with Google Play and Unity IAP, only we assign an id and select its ProductType to Subscription. Also, we needed to change entire store logic in our game. For this, I changed the layout of the store UI. We have only three buttons to select a subscription model, for weekly, monthly or yearly.
Then, according to the selection, the user will be subscribed to any of these options. The process will be handled by Google Play APIs and Unity IAP. When the purchase process will be executed with success, all the items will be available to the users. In this week I improved my ability to read manuals and apply API calls to the project. Also, I needed to study the entire store system, which helped me to read and think about the existing system, and how I can apply new changes.
I am going to work on it and hopefully, this update will be released by next week.
Stay in tune!
Hello folks! This week’s been quite busy, I’ve worked on a bug that prevented users to download the user-generated maps. When users try to access our subreddit r/ProDndMaps from their devices, they can see our user-generated maps but failed to download to the app. When I started to investigate what is going on, first I checked a commit way back before. Like December… In this version, loading map from Reddit (either from the web browser or QR code) is working.
So I tried to understand what was changed during that commit to present. I checked the used scripts for Share & Load feature in almost every commit. It took three days to hunt the bug but eventually, we found it, somehow the function LoadMapFromQR (this function manages and implements the maps that came from the web browser and QR code) was not used, instead, another function was assigned but it was missing as well. I did not realize the assigned button functions was corrupted but thanks to Erhan, we managed to find it and fixed it right away. Now users can happily share their maps and download them from the Reddit page and play them with their cozy and fun DnD sessions…
Also in next weeks, we will be preparing for some big changes…
Stay in tune!