layout | title | permalink | machine_name | menu |
---|---|---|---|---|
page |
API |
apidoc |
api |
true |
Use your app's real name in all guides and references
https://dontkillmyapp.com?app=[MyAppName]
https://dontkillmyapp.com?app=Sleep%20as%20Android
Choose negative score icon of your taste
https://dontkillmyapp.com?[Icon_Number]
https://dontkillmyapp.com?2
https://dontkillmyapp.com?2&app=Sleep
or https://dontkillmyapp.com?app=Sleep&2
or https://dontkillmyapp.com?app=Sleep&?2
Don't kill my app provides a JSON API for developers to use on their websites or in their apps.
Please let us know when you use the API via email [email protected] and give credit to dontkillmyapp.com.
URL: https://dontkillmyapp.com/api/v2/[vendor].json
example: https://dontkillmyapp.com/api/v2/nokia.json
API v2 provides one JSON URL per vendor.
scheme:
{
"name": "Human-readable vendor name",
"manufacturer": ["name","alias1","alias2"],
"url": "/relative-url-to-vendor",
"award": number or null,
"position": number or null,
"explanation": "JSON-escaped HTML",
"user_solution": "JSON-escaped HTML",
"developer_solution": "JSON-escaped HTML"
}
Android example (Java):
new AsyncTask<Void, Void, String>() {
@Override
protected String doInBackground(Void... voids) {
try {
return ((JSONObject) new JSONTokener(
InputStreamUtil.read(new URL("https://dontkillmyapp.com/api/v2/"+Build.MANUFACTURER.toLowerCase().replaceAll(" ", "-")+".json").openStream())).nextValue()
).getString("user_solution").replaceAll("\\[[Yy]our app\\]", context.getString(R.string.app_name));
} catch (Exception e) {
// This vendor is not in the DontKillMyApp list
}
return null;
}
@Override
protected void onPostExecute(String result) {
if (result != null) {
WebView wv = new WebView(context);
wv.loadData(result, "text/html; charset=utf-8", "UTF-8");
wv.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
});
new AlertDialog.Builder(context)
.setTitle("How to make my app work")
.setView(wv).setPositiveButton(android.R.string.ok, null).show();
}
}
}.execute();
URL: https://dontkillmyapp.com/api/v1/output.json
scheme:
{ "vendors" :
[
{
"name": "Human-readable vendor name",
"url": "/relative-url-to-vendor",
"award": number or null,
"explanation": "JSON-escaped HTML",
"user_solution": "JSON-escaped HTML",
"developer_solution": "JSON-escaped HTML"
},
{
...
},
{
...
}
]
}
We encourage anyone to include DontKillMyApp badges to their sites or device reviews.
<a href="https://dontkillmyapp.com/nokia?2"><img width="306px" src="https://dontkillmyapp.com/badge/nokia2.svg"></a>
<a href="https://dontkillmyapp.com/xiaomi?3"><img width="306px" src="https://dontkillmyapp.com/badge/xiaomi3.svg"></a>
Image source
https://dontkillmyapp.com/badge/VENDOR+ICON_NUMBER.svg
Link
https://dontkillmyapp.com/VENDOR?ICON_NUMBER