I stand corrected, there isn’t a 1-to-1 match with version, resolution, and dpi. Here are some examples of good and bad, along with my config.lua. I’m currently not targeting IOS and I’m not completely sure that I ever will, so my config is overkill in some respects (copied from the Ultimate config.lua)
I guess a good question would be “which devices should I really care about?”.
Examples of BAD Displays
Pixel - Android 7.1 | English (United States) - 1080×1920 | 420 dpi
Pixel - Android 8.0 | English (United States) - 1080×1920 | 420 dpi
Moto X (2nd Gen) - Android 4.4 | English (United States) - 1080×1920 | 480 dpi
Galaxy J1 Ace - Android 5.1 | English (United States) - 480×800 | 240 dpi
Nexus 5 - Android 5.1 | English (United States) - 1080×1920 | 480 dpi
Nexus 9 - Android 5.0 | English (United States) - 1536×2048 | 320 dpi
Nexus 7 (2013) - Android 5.0 | English (United States) - 1200×1920 | 320 dpi
Examples of GOOD Displays
Galaxy S7 Edge - Android 6.0 | English (United States) - 1440×2560 | 640 dpi
Galaxy J7(2016) - Android 6.0 | English (United States - 720×1280 | 320 dpi
Galaxy Note3 - Android 4.4 | English (United States) - 1080×1920 | 480 dpi
[lua]
if string.sub(system.getInfo(“model”),1,4) == “iPad” then
application =
{
content =
{
fps = 60,
width = 360,
height = 480,
scale = “letterBox”,
xAlign = “center”,
yAlign = “center”,
audioPlayFrequency = 22050,
imageSuffix =
{
["@2x"] = 1.5,
["@4x"] = 3.0,
},
},
notification =
{
iphone = {
types = {
“badge”, “sound”, “alert”
}
},
},
license =
{
google =
{
key = “removed”
},
},
google =
{
projectNumber = “removed”
}
}
elseif string.sub(system.getInfo(“model”),1,2) == “iP” and display.pixelHeight > 960 then
application =
{
content =
{
antialias = true,
fps = 60,
width = 320,
height = 568,
scale = “letterBox”,
xAlign = “center”,
yAlign = “center”,
audioPlayFrequency = 22050,
imageSuffix =
{
["@2x"] = 1.5,
["@4x"] = 3.0
},
},
notification =
{
iphone = {
types = {
“badge”, “sound”, “alert”
}
},
},
license =
{
google =
{
key = “removed”
},
},
google =
{
projectNumber = “removed”
}
}
elseif string.sub(system.getInfo(“model”),1,2) == “iP” then
application =
{
content =
{
antialias = true,
fps = 60,
width = 320,
height = 480,
scale = “letterBox”,
xAlign = “center”,
yAlign = “center”,
audioPlayFrequency = 22050,
imageSuffix =
{
["@2x"] = 1.5,
["@4x"] = 3.0,
},
},
notification =
{
iphone = {
types = {
“badge”, “sound”, “alert”
}
},
},
license =
{
google =
{
key = “removed”
},
},
google =
{
projectNumber = “removed”
}
}
elseif display.pixelHeight / display.pixelWidth > 1.72 then
application =
{
content =
{
antialias = true, --THIS ONE FOR S6
fps = 60,
width = 320,
height = 570,
scale = “letterBox”,
xAlign = “center”,
yAlign = “center”,
audioPlayFrequency = 22050,
imageSuffix =
{
["@2x"] = 1.5,
["@4x"] = 3.0,
},
},
license =
{
google =
{
key = “removed”
},
},
google =
{
projectNumber = “removed”
}
}
else
application =
{
content =
{
antialias = true,
fps = 60,
width = 320,
height = 512,
scale = “letterBox”,
xAlign = “center”,
yAlign = “center”,
audioPlayFrequency = 22050,
imageSuffix =
{
["@2x"] = 1.5,
["@4x"] = 3.0,
},
},
notification =
{
iphone = {
types = {
“badge”, “sound”, “alert”
}
},
},
license =
{
google =
{
key = “removed”
},
},
google =
{
projectNumber = “removed”
}
}
end
[/lua]