کاربر برنامه
Android
2.6.3
برای استفاده از این امکان
2.6.3
را استفاده کنید.
مدیریت اتریبیوتهای کاربر برنامه
با استفاده از پوشه میتوانید رخدادها و ویژگیهای کاربر خود را سینک کنید. این قابلیتها متناسب Marketing automation خواهند بود
Login / Logout
هنگامی که کاربر Login میشود میتوانید با استفاده از کد زیر این لاگین را ثبت کنید:
val loginData : String? = "some-nullable-data"
Pushe.userLoggedIn(loginData)
همچنین برای Logout نیز این کد قابل استفاده است:
Pushe.userLoggedOut()
و برای گرفتن آخر رخداد گزارش شده:
val isLoggedIn : Boolean = Pushe.isUserLoggedIn()
سینک کاربر با PusheUser
با استفاده از
PusheUser
میتوانید یک کاربر بسازید و متناسب با ویژگیهای کاربر به آن پارامتر اختصاص دهید
ساخت instance از PusheUser
val pusheUser: PusheUser = PusheUser() // No arg constructor
// First name and last name
pusheUser.setFirstName("Ali") // pusheUser.firstName = "Ali"
pusheUser.setLastName("Alizadeh") // pusheUser.lastName = "Alizadeh"
// Get them
val fName = pusheUser.getFirstName() // pusheUser.firstName
val lName = pusheUser.getLastName() // pusheUser.lastName
// Birthdate
val day = 1
val month = 11
val year = 1370
pusheUser.setBirth(day, month, year)
// Get it
val birth: String = pusheUser.getBirth() // "$day,$month,$year" // pusheUser.birth
// City, Country, Region, Locality, postalCode and location
pusheUser.setCity("Tehran") // pusheUser.city = "Tehran"
pusheUser.setCountry("Iran") // pusheUser.country = "Iran"
pusheUser.setRegion("region1") // pusheUser.region = "r1"
pusheUser.setLocality("locality1") // pusheUser.locality = "l1"
pusheUser.setPostalCode("12345678") // pusheUser.postalCode = "12345678"
val lat = 25.2323
val lng = 35.2323
pusheUser.setLocation(lat, lng)
// Get them
val city = pusheUser.getCity() // pusheUser.city
val country = pusheUser.getCountry() // pusheUser.country
val region = pusheUser.getRegion() // pusheUser.region
val locality = pusheUser.getLocality() // pusheUser.locality
val postalCode = pusheUser.getPostalCode() // pusheUser.postalCode
val locationLat = pusheUser.getLocationLat() // pusheUser.locationLat
val locationLng = pusheUser.getLocationLng() // pusheUser.locationLng
// Company
pusheUser.setCompany("Pushe") // pusheUser.company = "Pushe"
// Get it
val company = pusheUser.getCompany() // pusheUser.company
// Gender
pusheUser.setGender(PusheUser.Gender.FEMALE) // pusheUser.gender = PushUser.Gender.FEMALE
// Get it
val gender = pusheUser.getGender() // pusheUser.gender
// Opt-in to SMS
pusheUser.setPhoneNumber("09121234567") // pusheUser.phoneNumber = "09121234567"
pusheUser.setSmsOptedIn(true) // pusheUser.isSmsOptedIn = true
// Get it
val p = pusheUser.getPhoneNumber() // pusheUser.phoneNumber
val isSmsOptedIn = pusheUser.isSmsOptedIn() // pusheUser.isSmsOptedIn
// Opt-in to Email
pusheUser.setEmail("[email protected]")
pusheUser.setEmailOptedIn(true) // pusheUser.isEmailOptedIn = true
// Get it
val mail = pusheUser.getEmail() // pusheUser.email
val isEmailOptedIn = pusheUser.isEmailOptedIn() // pusheUser.isEmailOptedIn
// Custom attributes
// Single attr
pusheUser.setAttribute("key1", "value1")
// Multiple
pusheUser.setAttributes(
mapOf(
"key2" to "value2",
"key1" to "value-new-1" // overrides key1
)
)
// Remove
pusheUser.removeAttr("key1")
// Get it
val attrs: Map<String, String> = pusheUser.getAttributes() // pusheUser.attributes
سینککردن کاربر با instance ساختهشده
Pushe.syncUserAttributes(pusheUser)
نکته
امکان chain کردن متدهای setX وجود دارد:
Pushe.syncUserAttributes(
PusheUser()
.setFirstName("Ali")
.setLastName("Alizadeh")
.setCity("Tehran")
)
گرفتن کاربر سینکشده
هنگام سینک این instance ذخیره شده و قابل بازیابیست
val pusheUser: PusheUser? = PusheUser.getCurrentUserAttributes()
// Convert to Map<String, Any> (or Map<String, Object> in java)
// Note: possible Any type: String (all single ones) and Map<String, String> (attributes)
val map: Map<String, Any>? = pusheUser?.toMap()
آپدیت کاربر
برای آپدیت میتوانید ترکیبی از هر دو را استفاده کنید:
Pushe.syncUserAttributes(
Pushe.getCurrentUserAttributes() ?: PusheUser()
.setLocality("New_locality")
.setEmailOptedIn(false)
)