Premium Only Content

#defold #iap In-App Purchases Walkthrough with Google Play Store
As promised, here is the walkthrough for getting In-App purchases set up for the Google Play Store.
PLEASE NOTE - On my test android phone, the 5 Gems product did work like the previous demo video.
HERE IS THE GUI_SCRIPT FROM THE VIDEO FOR COPYING AND PASTING MINUS THE COMMENTED LINES:
local GEMS_SM = "com.ia.purchases.gem.small"
local GEMS_MD = "com.ia.purchases.gem.medium"
local GEMS_LG = "com.ia.purchases.gem.large"
local function iap_listener(self, transaction, message_id, message, error)
if error == nil then
if transaction.state == iap.TRANS_STATE_PURCHASED then
iap.finish(transaction)
if transaction.ident == GEMS_SM then
msg.post(".", "gems_small")
elseif transaction.ident == GEMS_MD then
msg.post(".", "gems_medium")
elseif transaction.ident == GEMS_LG then
msg.post(".", "gems_large")
end
end
else
gui.set_text(gui.get_node("text"), error.error)
end
end
function init(self)
msg.post(".", "acquire_input_focus")
iap.set_listener(iap_listener)
self.gems = 0
end
function on_message(self, message_id, message, sender)
if message_id == hash("update_gems_small") then
iap.buy(GEMS_SM)
elseif message_id == hash("update_gems_medium") then
iap.buy(GEMS_MD)
elseif message_id == hash("update_gems_large") then
iap.buy(GEMS_LG)
end
if message_id == hash("gems_small") then
self.gems = self.gems + 5
elseif message_id == hash("gems_medium") then
self.gems = self.gems + 50
elseif message_id == hash("gems_large") then
self.gems = self.gems + 500
end
gui.set_text(gui.get_node("gem_inv"), self.gems)
end
function on_input(self, action_id, action)
if action_id == hash("touch") and action.pressed then
if gui.pick_node(gui.get_node("gems_small"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer"), true)
elseif gui.pick_node(gui.get_node("gems_medium"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer1"), true)
elseif gui.pick_node(gui.get_node("gems_large"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer2"), true)
elseif gui.pick_node(gui.get_node("com.ia.purchases.gem.small"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer"), false)
self.purchase = true
gui.set_text(gui.get_node("text"), "small gems bought")
if self.purchase == true then
msg.post(".", "update_gems_small")
end
elseif gui.pick_node(gui.get_node("com.ia.purchases.gem.medium"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer1"), false)
self.purchase = true
gui.set_text(gui.get_node("text"), "medium gems bought")
if self.purchase == true then
msg.post(".", "update_gems_medium")
end
elseif gui.pick_node(gui.get_node("com.ia.purchases.gem.large"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer2"), false)
self.purchase = true
gui.set_text(gui.get_node("text"), "large genm bought")
if self.purchase == true then
msg.post(".", "update_gems_large")
end
elseif gui.pick_node(gui.get_node("no"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer"), false)
gui.set_text(gui.get_node("text"), "THANKS FOR CONSIDERING.")
elseif gui.pick_node(gui.get_node("no1"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer1"), false)
print("NO")
gui.set_text(gui.get_node("text"), "THANKS FOR CONSIDERING.")
elseif gui.pick_node(gui.get_node("no2"), action.x, action.y) then
gui.set_enabled(gui.get_node("answer2"), false)
print("NO")
gui.set_text(gui.get_node("text"), "THANKS FOR CONSIDERING.")
elseif gui.pick_node(gui.get_node("power"), action.x, action.y) then
os.exit()
end
end
end
--
Subscribe to the Channel for more content, Like the video, Share the video, and Comment suggestions or to show your support!!!
Provide Thoughts on the channel and join the email list - https://bit.ly/3hG99wP
Check out my Social Media to reach out to me!
Twitter - https://twitter.com/vigmu2
Discord - https://discord.gg/AYEAK5RmFR
Use Humble Bundle Affiliate as another way to support
https://www.humblebundle.com/?partner=vigmu2games
To check out my Podcast - https://tinyurl.com/84k2zdct
Shows uploaded every other Friday at 8AM (until further notice)
If you would like to donate for my current work and for further content! You can donate here -- https://bit.ly/3ea8q3u
-
LIVE
Geeks + Gamers
2 hours agoMario Kart World LIVE - Nintendo Switch 2
194 watching -
9:06:35
Dr Disrespect
11 hours ago🔴LIVE - DR DISRESPECT - STREAMING UNTIL WE GET 10 WINS
131K13 -
LIVE
Joke65
1 hour ago[LIVE] 2 SHOWS 1 STREAM | Metroid Prime Remastered - Part 4 | Punch Club 2 - Part 14
65 watching -
LIVE
MrMoBetta13
1 hour agoCFB26 DOMINATING THESE CUT STREETS NO MONEY SPENT GRIND
19 watching -
1:19:07
Glenn Greenwald
6 hours agoCongress Again Dictates Curriculum & Faculty at Private Universities; How UnitedHealth Group Silences its Critics: With NYT Reporter David Enrich | SYSTEM UPDATE #488
106K31 -
9:11:58
GrimmHollywood
11 hours ago🔴LIVE • RAMBO WARZONE • GRIMM HOLLYWOOD • LILPAUL112 • SGT WILKY • THE BRRRAP PACK •
17K4 -
1:50:25
RiftTV
5 hours agoCON INC: We Should All Just FORGET About Epstein | The Rift | Dinesh D’Souza, Lauren Witzke + More
45.1K12 -
1:26:58
AlaskanBallistics
7 hours ago $1.34 earnedbest .22lr Suppressor
16.5K -
2:07:35
LIVE WITH CHRIS'WORLD
4 hours agoLIVE WITH CHRIS’WORLD - I Have So Many Questions Right Now
20.8K2 -
LIVE
SpartakusLIVE
4 hours agoWZ Solos || GCX St. Jude Charity Marathon @ 8PM EST
49 watching