Social Gold in-Flash Webinar Jan 2010

1,448 views

Published on

These are the slides from our January presentation of our in-Flash payment solution.

It gives a brief overview of Social Gold as well as a technical presentation that shows how to integrate the our in-Flash solution with your Flash game.

Enjoy!

Published in: Devices & Hardware, Business
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,448
On SlideShare
0
From Embeds
0
Number of Embeds
21
Actions
Shares
0
Downloads
38
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Social Gold in-Flash Webinar Jan 2010

  1. 1. In-Flash Payments Overview January 2010
  2. 2. AGENDA •  About Us •  In-Flash Payments: Overview •  Architecture •  Security •  Roadmap •  Integration
  3. 3. WHO WE ARE Vikas Gupta, Co-founder & CEO * Manager, Amazon Payments for 4+ years * Lead Inventor, Amazon Payments web service (FPS) Reza Hussein, Co-founder & CTO * Engineering Head, Amazon Order Workflow * Engineering Head, Amazon Mechanical Turk Hemant Bhanoo, Principal Engineer * Senior Engineer, Distributed Systems and Payments, Amazon * Founder and CEO, Reporterist And the Eng team that built payments at Amazon!
  4. 4. WHAT WE ARE A platform that allows you to monetize virtual goods via direct payments and optimize via in-depth analytics    
  5. 5. WHAT WE OFFER •  Micropayments & Subscriptions •  Virtual Currency: txns & inventory mgmt •  Reporting & Analytics •  Fraud Control •  Customer Service
  6. 6. SERVICES ACCESSED VIA API
  7. 7. IN-FLASH PAYMENTS User Benefits -  No interruption of flow -  No additional login required Developer Benefits -  Get callbacks directly in AS3 or Flex -  No reload required – less server load -  Preserve “flow” and user engagement
  8. 8. IN-FLASH PAYMENTS FLOW
  9. 9. CREDIT CARD FLOW INITIATED IN-GAME
  10. 10. CREDIT CARD ENTRY: IN-GAME
  11. 11. BILLING ADDRESS ENTRY: IN-GAME
  12. 12. CONFIRMATION: IN-GAME
  13. 13. SEAMLESS RETURN TO GAME Balance is updated in real time, while game state is maintained.
  14. 14. SINGLE-CLICK REPEAT PURCHASES
  15. 15. IN SHORT . . . •  You focus on building awesome games •  We provide a frictionless and secure payments experience within your game •  We help you maximize revenue without sacrificing engagement
  16. 16. PRODUCT DESCRIPTION A SWC that less you initiate a UI to enable customer payments •  Your app receives events when the payment completes •  You choose whether the UI is an html browser popup or a Flash display object
  17. 17. PRODUCT ARCHITECTURE
  18. 18. SECURITY OBJECTIVES Priorities -  Secure customer data -  Secure developer credentials Starting Points -  Trusted merchants (you) -  Merchant-hosted games -  Existing ID platform (FB, MS or your own)
  19. 19. ROADMAP UX -  More payment methods in Flash -  Support for portals/ non-hosted sites -  Anti-phishing controls Payments Stuff -  More payment methods -  Non-US currencies (EUR, GBP, CAD, etc.)
  20. 20. INTEGRATION You’ll need . . . •  Valid merchant account http://getsocialgold.com •  Configured virtual currency Flash offer http://www.jambool.com/socialgold/offers •  Social Gold Flash API SWC http://www.jambool.com/socialgold/flash/download •  Server side environment (PHP, Ruby, JSP, etc.)
  21. 21. INSTALLATION & DOCUMENTATION •  Unpack Social Gold API zip file •  Add the dist/SocialGold.swc file to your project library path •  Open dist/doc/index.html and select SocialGoldService (from bottom left frame)
  22. 22. GETTING STARTED: STEP ONE Send user_id, signing key and environment to your app
  23. 23. # Add the following to a Controller or Helper: def signing_key_for_user( user_id ) offer_id = "your offer id here” merchant_secret_key = "your secret key here” current_period = (Time.now.to_i * 1.0 / 1.day).to_i raw_signing_key = "#{offer_id}#{user_id}#{current_period}#{merchant_secret_key}” return Digest::MD5.hexdigest(raw_signing_key) end # Add the following to an ERB template: <html> <head> <script type="text/javascript" src="scripts/swfobject-1.5.1.js"> </script> <script> function embed() { var so = new SWFObject("YourApplication.swf", "swf", "100%", "100%"); so.addVariable("userId", "<%= user_id %>"); so.addVariable("signingKey", "<%= signing_key_for_user(user_id) %>"); so.addVariable("environment", "<%= environment %>"); so.write("flash-content"); } </script> </head> <body onload="embed()"> <center> <div id="flash-content"></div> </center> </body></html>
  24. 24. GETTING STARTED: STEP TWO Collect flashvars in ActionScript
  25. 25. // ActionScript Project: this.parameters = root.loaderInfo.parameters; // Flex Framework Project: this.parameters = Application.application.parameters;
  26. 26. GETTING STARTED: STEP THREE Instantiate & Configure the SocialGoldService
  27. 27. service = new SocialGoldService(); service.userId = parameters.userId; service.signingKey = parameters.signingKey; service.offerId = ‘yourofferidhere’; // Set a display object container for the buyCurrency UI: service.modalParent = stage; // Pass in ‘sandbox’ or ‘production’ for environment: service.environment = parameters.environment; // Set true to use Flash UI for buyCurrency calls: service.useInAppPayments = true; // (Optional) Set true when debugging: service.debug = (parameters.environment != ‘production’);
  28. 28. GETTING STARTED: STEP FOUR Call an API method & Handle events on the request
  29. 29. var request:SocialGoldRequest = service.buyCurrency(); // Called on Success: request.addEventListener(SocialGoldEvent.SUCCESS, buyCurrencySuccessHandler); // Called on Failure: request.addEventListener(SocialGoldEvent.FAILURE, buyCurrencyFailureHandler); // Called after every request: request.addEventListener(SocialGoldEvent.COMPLETE, buyCurrencyCompleteHandler); private function buyCurrencySuccessHandler(event:SocialGoldEvent):void { trace(">> buyCurrency SUCCESS"); } private function buyCurrencyFailureHandler(event:SocialGoldEvent):void { trace(">> buyCurrency FAILURE"); } private function buyCurrencyCompleteHandler(event:SocialGoldEvent):void { trace(">> buyCurrency COMPLETE"); }
  30. 30. GETTING STARTED: OPTIONAL STEP Show & Hide a loading animation
  31. 31. // Called when UI load starts: request.addEventListener(SocialGoldEvent.UI_LOAD_STARTED, uiLoadStartedHandler); // Called when UI load is complete: request.addEventListener(SocialGoldEvent.UI_LOAD_COMPLETED, uiLoadCompletedHandler); private function uiLoadStartedHandler(event:SocialGoldEvent):void { trace(">> uiLoadStartedHandler"); addChild(yourLoadingAnimationInstance); } private function uiLoadCompletedHandler(event:SocialGoldEvent):void { trace(">> uiLoadCompletedHandler"); removeChild(yourLoadingAnimationInstance); }
  32. 32. GETTING STARTED: FINAL STEP Ship it!
  33. 33. IN-FLASH PAYMENTS Questions? flash@jambool.com
  34. 34. Virtual  Economies.  Real  Revenues.  

×