Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
PHP + MySQL Backend for the iOS A/B Split Test Library
PHP
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
images
results
shared
tests
.gitignore
README.md
database_setup.sql

README.md

A-B-Split-Test-Server

This is a simple PHP Server to provide data for and store results from the iOS A/B Split Test Library (https://github.com/chrismaddern/iOS-Split-A-B-Test-Library).

It is very basic at the moment and allows configuration only by entering test cases directly in to the MySQL Database.

Setup

This should run on any PHP+MySQL Environment

Use the included database_setup.sql to set up the MySQL Database. You will need to create a user with permission to read/write this database.

Copy the files to a folder on your webserver.

Edit the DB_USER, DB_PASSWORD, DB_NAME variables in functions.php

Set the server_base_url value in ABTestSettings.plist in the iOS library to the URL of the folder the files are in.

Either leave the application_token the same in both the database and the client library or create a new Application (table applications) and then set the application_token in the plist file to match the token for your newly created Application.

Making a test

A test is created by creating a test_cases table record and series of test_case_values records with their test_case_id set to that of the newly created test case. The value of token in test_cases is the identifier that you use to set the test in the User Defined Values in Interface Builder - testCase.

The test case must have it's Application set to the current Application's id (application_id column).

Results will automatically be uploaded to the test_case_responses table as tests are conducted in the client.

License

This is licensed under the MIT License.

Contribution

Contribution is welcomed and encouraged! It would be great to create a web UI for configuring and visualising results but I'm not sure when I will have time.

If you have any difficulties in setup, please update this doc so that others won't have the same problem - the initial docs were very brief!

Something went wrong with that request. Please try again.