Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Presenting, Appirater — Gideros Forum

Presenting, Appirater

edited December 2012 in General questions
Has anyone use this tool to increase user review (an important condition for appstore search engine)? I wonder if we can implemented this tool with Gideros

http://arashpayan.com/blog/2009/09/07/presenting-appirater/

Comments

  • I had a Lua implementation for C*SDK a while ago, with a little tweaking, this can be adapted for Gideros too.

    If you see the game GoNinja, it is used in that.
    twitter: @ozapps | http://www.oz-apps.com | http://howto.oz-apps.com | http://reviewme.oz-apps.com
    Author of Learn Lua for iOS Game Development from Apress ( http://www.apress.com/9781430246626 )
    Cool Vizify Profile at https://www.vizify.com/oz-apps
  • ar2rsawseenar2rsawseen Maintainer
    edited December 2012 Accepted Answer
  • @ar2rsawseen So surprise, you are so fast :D I will try it in next upgrade.
  • Hi @ar2rsawseen,

    Just going to add this, i "think" i found a minor cockroach.

    I just added this to the "AppRater:step()"
    table.save(self.data, "|D|apprater")
    I tested by setting it for 3 runs, but each time it retreived "data.timesUsed", but never saved it back, as both conditions were not true (times/days), so it never went to the "rate()" function to then save the "data".

    This works for me now
    function AppRater:step()
    	self.data.timesUsed = self.data.timesUsed + 1
    	if self.data.timesUsed >= self.data.timesToWait then
    		self:rate()
    	else
    		local now = os.timer()
    		local days = math.floor((((now - self.data.startDate) / 60) / 60) / 24)
    		--print(days)
    		if days >= self.data.daysToWait then
    			self:rate()
    		end
    	end
    	table.save(self.data, "|D|apprater")
    end
    :-bd
  • LOL another one..
     
    function AppRater:rate()
    	local alertDialog = AlertDialog.new(self.conf.rateTitle, self.conf.rateText, self.conf.cancelButton, self.conf.rateButton, self.conf.remindButton)
     
    	local function onComplete(event)
    		if event.buttonIndex == 1 then
     
    -- ADDED this bit --
     
    			self.data.toRate = false
    			table.save(self.data, "|D|apprater")
    -- ADDED this bit --
     
    			local osName = application:getDeviceInfo()
    			if osName == "Android" and self.conf.androidRate ~= "" then
    				application:openUrl(self.conf.androidRate)
    			elseif osName == "iOS" and self.conf.iosRate ~= "" then
    				application:openUrl(self.conf.iosRate)
    			end
    		elseif event.buttonIndex == 2 then
    			self.data.daysToWait = self.data.daysToWait + self.conf.remindDays
    			self.data.timesToWait = self.data.timesToWait + self.conf.remindTimes
    			table.save(self.data, "|D|apprater")
    		else
    			self.data.toRate = false
    			table.save(self.data, "|D|apprater")
    		end
    	end
     
    	alertDialog:addEventListener(Event.COMPLETE, onComplete)
    	alertDialog:show()
    end
    Added the bit where it says "-- ADDED this bit --"....sorta obvious.

    But if you dont set toRate to false, it will go to the rate page and still ask everytime you start the app again. so i set it to false and saved the data.
    +1 -1 (+1 / -0 )Share on Facebook
  • wow, thanks submitted changes to github ;)
    +1 -1 (+1 / -0 )Share on Facebook
Sign In or Register to comment.