You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
76 lines
1.5 KiB
76 lines
1.5 KiB
package model |
|
|
|
import "strings" |
|
|
|
// PushSDK* for parameter 'push_sdk' in http report API. |
|
const ( |
|
// PushSDKApns apns sdk. |
|
PushSDKApns = 1 |
|
// PushSDKXiaomi mipush sdk. |
|
PushSDKXiaomi = 2 |
|
// PushSDKHuawei huawei sdk. |
|
PushSDKHuawei = 3 |
|
// PushSDKOppo oppo sdk. |
|
PushSDKOppo = 5 |
|
// PushSDKJpush jpush sdk. |
|
PushSDKJpush = 6 |
|
// PushSDKFCM fcm sdk |
|
PushSDKFCM = 7 |
|
) |
|
|
|
const ( |
|
// PlatformUnknown unknown. |
|
PlatformUnknown = 0 |
|
// PlatformAndroid Android. |
|
PlatformAndroid = 1 |
|
// PlatformIPhone iPhone. |
|
PlatformIPhone = 2 |
|
// PlatformIPad iPad. |
|
PlatformIPad = 3 |
|
// PlatformXiaomi mipush. |
|
PlatformXiaomi = 4 |
|
// PlatformHuawei huawei. |
|
PlatformHuawei = 5 |
|
// PlatformOppo oppo. |
|
PlatformOppo = 8 |
|
// PlatformJpush jpush. |
|
PlatformJpush = 9 |
|
// PlatformFCM fcm |
|
PlatformFCM = 10 |
|
) |
|
|
|
// Platforms all platform |
|
var Platforms = []int{ |
|
PlatformIPhone, |
|
PlatformIPad, |
|
PlatformXiaomi, |
|
PlatformHuawei, |
|
PlatformOppo, |
|
PlatformJpush, |
|
PlatformFCM, |
|
} |
|
|
|
// Platform gets real platform. |
|
func Platform(platform string, pushSDK int) int { |
|
switch pushSDK { |
|
case PushSDKApns: |
|
platform = strings.ToLower(platform) |
|
if strings.HasPrefix(platform, "iphone") { |
|
return PlatformIPhone |
|
} else if strings.HasPrefix(platform, "ipad") { |
|
return PlatformIPad |
|
} |
|
case PushSDKXiaomi: |
|
return PlatformXiaomi |
|
case PushSDKHuawei: |
|
return PlatformHuawei |
|
case PushSDKOppo: |
|
return PlatformOppo |
|
case PushSDKJpush: |
|
return PlatformJpush |
|
case PushSDKFCM: |
|
return PlatformFCM |
|
} |
|
// TODO add more brands |
|
return PlatformUnknown |
|
}
|
|
|