Testing and debugging
Guidelines for testing and debugging:
- Test on iOS/Android devices.
- Use device logging (Android Studio / XCode/Console) to look for error messages and exceptions.
- Use Crashlytics to find out more information on crashes and ANR’s. See: https://get.fabric.io/
- Use the SLOT event dashboard’s live stream tab to debug your events implementation.
- Alternatively, use Charles to inspect your network traffic to make sure events are being sent properly. A Charles testing manual is included below.
- Use SLOT’s wallet/inventory/gamestate viewer to validate or debug implementations using items/currencies.
- If you have any questions, ask the SpilSDK team on Slack.
- Check Spil’s TestRail for a list of tests and test results, ask your Spil representative for access.
- For debugging on device, ask the SpilSDK team for the SpilSDK Sample App.This app allows you to unlock SpilSDK features on a device for logging/debugging.
We recommend you test your game in various simulators and devices. Especially performance is important to test on a real device.
If you don’t have a real device to test your game on, please contact your Spil Games account manager in advance to discuss assistance of a QA engineer to test various development builds. Once you have tested the game in the simulator and on devices, you can request a QA moment for your game. We will test your game on a range of devices that covers most of the user base.
Spil QA only tests your SpilSDK implementation. After each build delivery you will receive a detailed QA report via TestRail (ask your Spil representative for access). A QA Approval does not guarantee your app is free of issues, the developer is always end-responsible for the quality of their own app. Game-play testing is done via an external party and can be arranged by the game producer.
Issues and fixes:
We ask you to verify that all reported issues are fixed before submitting a new build to QA.
Failing to fix issues but reporting them as “everything fixed” will be flagged to the Spil Account Manager.
App Store (iOS) Guidelines:
The App Store guidelines are strict but straightforward. Every submitted build to the App Store requires to be reviewed by a member of the Apple Review Team and rejections/approval can differ depending on the member.
To ensure a near guarantee, carefully go through the following URL’s:
Testing with Charles
Charles is a tool to inspect network calls and discover the data being transferred. Charles can be used to validate a SpilSDK implementation to make sure that events are being sent to the Spil back-end properly.
1. Download and install Charles: https://www.charlesproxy.com/
2. Install the Charles ssl certificate
In order to see the https traffic we need install a Charles ssl certificate. Go to the safari browser on your iPhone and visit the page: http://www.charlesproxy.com/getssl. Follow the steps to install the charles ssl certificate.
Validate if the install went correct by going to the iphone settings -> General -> Profiles -> Charles proxy. You should see a screen like below:
3. Connect your phone with Charles
Make sure you are on a wifi network. Click the wifi network in the top menu bar holding the ALT key to see your IP address.
Open the WIFI settings app on you iPhone. Make sure you are connected to the same WIFI hotspot.
- Press the info icon to see the details.
- Scroll to the bottom and the “HTTP proxy” setting to manual
- Type in your IP Address you just looked up on your Mac in the “server” field.
- Type in 8888 in the “Port” field.
Now return to the settings screen so the settings are saved.
4. Using Charles
After opening Charles on your mac and opening your game on the iPhone you should get a popup. Press allow.
Note: by default Charles should start recording the traffic. Otherwise simply press the record button.
You should see all traffic from your WIFI network. Note that this now includes traffic from both your iPhone and Mac.
Enable the ssl proxy by right clicking a https:// domain:
You should now be able to validate the requests and their responses. You can use this for example to validate all Spil tracking events and all its properties.