การเข้าสู่ระบบ สามารถใช้งานได้ทั้งใน user ที่ login แล้วและยังไม่ได้ login ขึ้นอยู่กับการออกแบบระบบของคุณ แต่ยกเว้น function บางอย่างที่จำเป็นต้องการ การ login เช่น redeem หรือ history เป็นต้น
โดยระบบสมาชิกสามารถใช้งานได้หลายประเภทจาก Third party
ก่อนการใช้งานฟังก์ชันต่างๆ จำเป็นต้องมีการติดตั้ง Buzzebees SDK
การติดตั้งระบบสมาชิก
ติดตั้ง Buzzebees SDK เข้ากับ Project และกำหนด key value ต่างๆ ก่อนใช้งาน จากนั้นให้เพิ่ม Buzzebees SDK เข้าไปด้วยโค้ดนี้
import BuzzebeesSDK
SDK จะตั้งค่า API ต่างๆ จาก plist อ่านต่อ
และเลือกวิธีเข้าสู่ระบบให้ตรงกับระบบที่ user ได้ลงทะเบียนไว้
Buzzebees login
การใช้อีเมลและรหัสผ่าน ในการเข้าสู่ระบบ
BzbsAuth.shared.login(username: {Username}, password: {Password}) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
success(result.userLogin)
}
}
apiClient.authApi.usernamePasswordLogin(
username = {username},
password = {password},
appId = {appId},
uuid = {uuid},
deviceAppId = {deviceAppId},
os = {os},
platform = {platform},
macAddress = {macAddress},
deviceNotificationEnable = true,
clientVersion = {clientVersion},
)
Device login
การใช้ UUID ของเครื่องในการเข้าสู่ระบบ
guard let uuidKey = UIDevice.current.identifierForVendor?.uuidString else { return }
BzbsAuth.shared.loginDevice(uuid: uuidKey) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
success(result.userLogin)
}
}
apiClient.authApi.deviceLogin(
appId = {appId},
uuid = {uuid},
deviceLocale = {deviceLocale},
os = {os},
platform = {platform},
macAddress = {macAddress},
deviceNotificationEnable = true,
clientVersion = {clientVersion},
)
Facebook login
ต้องมีการตั้งค่าในระบบหลังบ้าน
การใช้งาน Facebook login ในการเข้าสู่ระบบ จำเป็นจะต้องใช้ tokenString ที่ได้จาก Facebook Login
guard let fbAccessToken = facebookLoginResult?.token?.tokenString else { return }
BzbsAuth.shared.loginWith(fbAccessToken: fbAccessToken) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
success(result.userLogin)
}
}
apiClient.authApi.facebookLogin(
accessToken = {accessToken},
appId = {appId},
uuid = {uuid},
deviceLocale = {deviceLocale},
os = {os},v
platform = {platform},
macAddress = {macAddress},
deviceNotificationEnable = true,
clientVersion = {clientVersion},
)
Apple login (มีเฉพาะ iOS)
ต้องมีการตั้งค่าในระบบหลังบ้าน
การใช้งาน Apple login ในการเข้าสู่ระบบ จำเป็นต้องใช้ authorizationCode และ identityToken ที่ได้จากการขอสิทธิ Authentication Services
เมื่อทำการขอได้สิทธิและข้อมูลจาก ASAuthorizationControllerDelegate เรียบร้อย ให้ทำการเรียกใช้ API requestAppleRefreshToken เป็นลำดับถัดไป
BzbsAuth.shared.requestAppleRefreshToken(identifierToken: {idToken}, authorizationCode: {authCode}) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess, let refreshToken = result.refreshToken, let idToken = result.idToken {
}
}
หลังจากนั้นจะได้ค่ากลับมาเป็น APRefreshResultApi ถ้า success ให้นำค่า refreshToken และ idToken ไปใช้ เรียก API loginWithApple อีกครั้ง
let refreshToken = result.refreshToken, let idToken = result.idToken
BzbsAuth.shared.loginWithApple(refreshToken: refreshToken, identifierToken: idToken) { (result) in
if let error = result.error {
fail(error)
return
}
if result.isSuccess {
success(result.userLogin)
}
}
หลังจากเข้าสู่ระบบแล้วจะได้ข้อมูลต่างๆ ของ user และจะสามารถใช้งาน function หรือ feature อื่นๆ ได้อย่างครบถ้วน