Before we start, Catchee Monkey has a Facebook page now so come along, give us a like and a share and say hello!
Making the facebook page was difficult for me. I am not a big fan at all of social media. I believe it's one of the modern day deadly sins. However anybody who denies it's power is foolish. From the beginning of this project I knew it would have to be involved in some way. To make the page I had to sign up with a personal account, and then try and figure out a way to make that personal page as un-detectable as possible. However not everyone is as freakishly introverted as myself and I wanted a way for people to share their score to social media.
Sharing your score to Facebook or twitter is a great way to get bragging rights. Especially for the younger audience that my game will primarily target. Unfortunately for me it wasn't the easiest thing to implement.
To begin with, I had a list of tweaks and fixes I wanted to put into the game. Top of that list was a way to cap the amount of reward videos that can be watched. Unity limits the amount of video ads a player can watch per day to 25. However, currently in my app, a user can keep watching videos until there are non-left. To stop players spamming this feature and quickly burn through all their chances to gain extra lives I wanted to put a limit of one video per hour.
This proved much harder to pull of then I thought it should be. Especially considering I wanted the countdown to continue even when the player isn't in the App. In the end I followed this tutorial, which I found very easy to understand and well thought out.
Great work there "N3K EN"
The script uses playerPrefs, which aren't the most secure method of holding data at all. I'm still not sure whether I'm going to fork out for some sort of secure player prefs asset. Or even try and find/make one. My thinking is, if someone wants to cheat, they'll find a way too do it. However it might be worth at least putting some security in there.
Next up was social sharing. I wanted to use the big two. Facebook and Twitter. I began by following the instructions in this video:
Great work "At Rallis"... although the facebook sharing didn't work. So I just cut it out and left the twitter aspect in there.
And this is when it gets frustrating. This is what I've spent the last 4 days trying to fix. Facebook intergration in Unity is f*cked.
My plan was to open a simple dialog box that would share the users score to their feed. I was using the facebook SDK with the FB.sharelink command. However no matter what URL I placed in for the URL Parameter, it auto-filled the rest of the parameters with info from that link. So displaying the users score was impossible.
I also tried using FB.feedshare and even hard-coding facebook sharing into the Xcode file but nothing worked. It's incredibly frustrating to experience something like this, especially when searching for solutions online and only finding similar complaints from people experiencing the same thing as you, with no answers. It's confirmed that this effects links that refer back to facebook or too appstores, however, in my experience, the facebook SDK just scrapes every site and auto-fills it's own parameters.
In the end I was forced to turn to the asset store for an altenative. I purchased Unishare more-or-less on a whim. It turned out to be good enough. The documentation wasn't brilliant and it took more than a few hours to figure out how it would work. Once I had it up and running though, I was happy.
It allows the user to take a screenshot and share it to any platform that has sharing ability and is installed on the users device. It isn't exactly what I want but it will do while I figure out the facebook issue, for which i have submitted a bug report.
So thats it. All the features I wanted in the game are there. I finally sorted out the god-damned snakes head and put a new theme-tune in there (which is just as awful as the first but somehow fits better with the atmosphere of the game). From now I'll be doing testing, forcing friends and family to play Catchee Monkey on pain of death and then give an honest opinion about it.
This week I'll be mostly trying to get test builds for both iOS store and the android stores up and running. Which i'm sure will be an absolute nightmare.