mirror of
https://github.com/Walter-Sparrow/lunar-tear.git
synced 2026-07-02 05:43:41 +03:00
Multi platform support
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"strings"
|
||||
)
|
||||
|
||||
const (
|
||||
platformAndroid = "android"
|
||||
platformIOS = "ios"
|
||||
)
|
||||
|
||||
// platformFromUserAgent classifies an HTTP request as iOS vs Android based on
|
||||
// the User-Agent header. Unity's UnityWebRequest does not set a UA on iOS, so
|
||||
// CFNetwork's default ("<bundle>/<build> CFNetwork/x Darwin/x") is what arrives;
|
||||
// on Android Unity sets "UnityPlayer/... (UnityWebRequest/...)". Any other UA
|
||||
// (or none) is treated as Android, matching model.DefaultPlatform.
|
||||
func platformFromUserAgent(r *http.Request) string {
|
||||
ua := r.Header.Get("User-Agent")
|
||||
if strings.Contains(ua, "Darwin/") || strings.Contains(ua, "CFNetwork/") {
|
||||
return platformIOS
|
||||
}
|
||||
return platformAndroid
|
||||
}
|
||||
Reference in New Issue
Block a user