add gs
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
local ABTestHelper = {}
|
||||
|
||||
ABTestHelper.VARIATION_B = 2
|
||||
ABTestHelper.VARIATION_C = 3
|
||||
ABTestHelper.VARIATION_D = 4
|
||||
ABTestHelper.VARIATION_E = 5
|
||||
|
||||
local SUBJECT_TYPE_USERID = 1
|
||||
|
||||
local PlayersService = game:GetService("Players")
|
||||
local HttpRbxApiService = game:GetService('HttpRbxApiService')
|
||||
local HttpService = game:GetService('HttpService')
|
||||
|
||||
local BaseUrl = game:GetService('ContentProvider').BaseUrl:lower()
|
||||
BaseUrl = string.gsub(BaseUrl, "/m.", "/www.")
|
||||
BaseUrl = string.gsub(BaseUrl, "http:", "https:")
|
||||
local AbTestEnrollmentsUrl = string.gsub(BaseUrl, 'www', 'abtesting') ..'v1/enrollments'
|
||||
|
||||
local LocalPlayer = PlayersService.LocalPlayer
|
||||
while not LocalPlayer do
|
||||
PlayersService.PlayerAdded:wait()
|
||||
LocalPlayer = PlayersService.LocalPlayer
|
||||
end
|
||||
|
||||
-- Returns the Variation of the given AB test the LocalPlayer is enrolled in.
|
||||
-- Only checks AB tests by UserId, does not support BrowserTrackerId.
|
||||
function ABTestHelper.GetTestEnrollmentAsync(abTestName)
|
||||
local abTestRequest = {
|
||||
{
|
||||
["ExperimentName"] = abTestName,
|
||||
["SubjectType"] = SUBJECT_TYPE_USERID,
|
||||
["SubjectTargetId"] = LocalPlayer.UserId,
|
||||
}
|
||||
}
|
||||
|
||||
local jsonPostBody = HttpService:JSONEncode(abTestRequest)
|
||||
local success, abTestEnrollmentsResponse = pcall(function()
|
||||
return HttpRbxApiService:PostAsyncFullUrl(AbTestEnrollmentsUrl, jsonPostBody)
|
||||
end)
|
||||
if success then
|
||||
local abTestEnrollments = HttpService:JSONDecode(abTestEnrollmentsResponse)
|
||||
if abTestEnrollments and abTestEnrollments.data then
|
||||
local enrollment = abTestEnrollments.data[1]
|
||||
return enrollment.Variation
|
||||
end
|
||||
else
|
||||
warn("Error getting ABTestEnrollment: ", abTestEnrollmentsResponse)
|
||||
end
|
||||
|
||||
return false
|
||||
end
|
||||
|
||||
return ABTestHelper
|
||||
Reference in New Issue
Block a user